Modèle relationnel

Le modèle de données relationnel représente une base de données comme un ensemble de :

  • relations (tables à deux dimensions) qui contiennent
    • un ensemble de n-uplets ou tuples (les lignes – ou enregistrements – de la table)
      • dont les entrées (des valeurs qui peuvent être de type nombre, texte, booléen ou bien NULL) appartiennent à un domaineDomaine Le domaine d’un attribut est l’ensemble, fini ou infini, de ses valeurs admissibles, décrivant une partie de l’univers réel à modéliser..
    • des attributs (les colonnes de la table), dont les noms peuvent servir de clefs.

On appelle ordre (ou degré) le nombre d’attributs d’une relation.
Par exemple : la relation Produits est d’ordre 4.

1970 : bases de données relationnelles

Les bases de données relationnelles ont été mises au point en 1970 par Edgar Franck Codd, informaticien britannique (1923-2003). Ces bases de données sont basées sur la théorie mathématique des ensembles.

 

Dans une même base de données, différentes relations peuvent avoir des attributs de même nom. Pour désigner l’attributAttribut Un attribut est un identifiant (un nom) décrivant une information stockée dans une base. Les attributs correspondent aux colonnes si la relation à laquelle il appartient est représentée sous forme de table. attr1  d’une relation rel1 , on le notera : rel1.attr1 .

Par exemple : Produits.Référence

 

Domaines

Le domaine d’un attribut est un ensemble, fini ou infini, de valeurs admissibles.

Par exemple :
le domaine de l’attribut « Prix » est l’ensemble des nombres à virgule flottante (FLOAT) exprimés avec deux chiffres après la virgule.
le domaine de l’attribut « Nom » correspond à l’ensemble des chaînes de caractères (TEXT).

Activité : domaines

Définir le domaine de l’attribut « Référence ».

Définir le domaine de l’attribut « En stock ».

Le domaine d’un attribut est renseigné au moment de la création de la relation. Le SGBD s’assure par la suite qu’un élément ajouté à une relation respecte bien le domaine de l’attribut correspondant.

 

Relations et clés

Les relations d’une base sont reliées (ou « connectées ») par certaines des valeurs qu’elles contiennent : chaque enregistrement d’une table contient un groupe d’informations relatives à un sujet et les différents sujets sont connexes.
Par exemple : les relations Produits et Ventes sont connectées puisque l’objectif de la base de données est de gérer la vente de produits !
Ces liens existants entre les informations sont stockés dans les champs (attributs) des enregistrements sous forme de clés.
Pour une relation donnée, une clé est un groupe d’attributs permettant d’identifier un unique enregistrement de la relation.
Pour qu’un groupe d’attributs forme une clé, il faut être sûr que deux enregistrements n’auront jamais des valeurs identiques pour ces attributs : on parle d’unicité de la clé.
On parle de clé candidate si le groupe d’attributs de la clé est minimal, c’est-à-dire que si on retire un seul des attributs de ce groupe, l’unicité n’est plus vérifiée.
Toute relation doit avoir au moins une clé candidate (et peut en avoir plusieurs).
  • clé primaire : c’est l’une des clés candidates de la relation, choisie pour être utilisée comme clé étrangère dans une autre relation :
  • clé étrangère : attribut d’une relation dont les valeurs sont des références à une clé primaire d’une autre relation.

Pour préserver l’intégrité d’une base de données, le SGBD se charge de vérifier que toutes les valeurs d’une clef étrangère d’une relation correspondent bien à des valeurs présentes dans la clef primaire de l’autre relation.

Activité : clés candidates

Donner les attributs des relations Produits et Ventes qui peuvent constituer des clés candidates.

 

 

Schéma relationnel

Les tables constituent la structure logique du modèle.

Un schéma de relation précise le nom de la relation ainsi que la liste des attributs avec leurs domaines.
On peut représenter un schéma de relation sous une forme graphique, par exemple à l’aide d’un diagramme :

On peut aussi le noter plus simplement sous la forme du nom de la relation suivi de la liste de ses attributs.

  • Produits (Référence, Nom, En stock, Prix)
  • Ventes (Numéro, #Référence produit, Date, Quantité)

Dans cette notation, les clés primaires apparaissent soulignées, les clés étrangères précédées (ou suivies) d’un # .

On peut également préciser les domaines des différents attributs :

  • Produits (Référence : TEXT, Nom : TEXT, En stock : BOOL, Prix : FLOAT)
  • Ventes (Numéro : INT, #Référence produit : TEXT, Date : DATE, Quantité : INT)

 

Activité : ressources humaines

Soit une base de données dont le schéma est le suivant :

EMPLOYE (NumEmp, Nom, Prénom, Adresse, Téléphone, Qualification)
SERVICE (NomService, Responsable, Téléphone)
PROJET (NomProjet, DateDeb, DateFin, #NumEmp)

Réécrire ce schéma sous forme de diagramme.
Un employé peut il avoir plusieurs qualifications ?
Un employé peut il faire plusieurs projets en même temps ?
Une personne peut elle être responsable de plusieurs services ?
Un service peut il avoir plusieurs responsables ?

 

Activité : aéroport

Soit une base de dont le schéma est le suivant :

Pilote (PLNUM, PLNOM, PLPRENOM, VILLE, SALAIRE)
Avion (AVNUM, AVNOM, CAPACITE, LOCALISATION)
Vol (VOLNUM, #PLNUM, #AVNUM, VILLEDEP, VILLEARR, HEUREDEP, HEUREARR)

Réécrire ce schéma sous forme de diagramme.

 

Activité : films
  • En partant de la relation Films ci-dessous, créer une relation Réalisateurs  (id, nom, prenom et annee_naissance).
  • Modifier la relation Films afin d’établir un lien avec la Réalisateurs. Préciser l’attribut qui jouera le rôle de clef étrangère.

Films :

id titre realisateur annee_sortie note_sur_10
1 Alien, le huitième passager Scott 1979 10
2 Dune Lynch 1985 5
3 2001 : l’odyssée de l’espace Kubrick 1968 9
4 Blade Runner Scott 1982 8

 

 

 

Sources :
http://www.ai.univ-paris8.fr/~lysop/bd/seance4-ModeleRel.pdf
https://fr.wikipedia.org/wiki/Base_de_données_relationnelle
https://openclassrooms.com/courses/initiez-vous-a-lalgebre-relationnelle-avec-le-langage-sql/comprenez-limportance-des-cles
https://pixees.fr/informatiquelycee/n_site/nsi_term_bd_rela.html

Vous aimerez aussi...

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

code