Les Bases de Données Relationnelles

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 domaine.
    • 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.

Relations et clés

Les relations d’une base sont reliées (ou « connectées ») par les valeurs qu’elles contiennent : chaque enregistrement d’une table contient un groupe d’informations relatives à un sujet et les différents sujets sont connexes. Les liens existants entre les informations sont stockés dans les champs (attributs) des enregistrements sous forme de clés.
Par exemple : les relations Produits et Ventes sont connectées puisque l’objet de la base est de gérer la vente de produits !
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 de clés candidates de la relation choisie pour être utilisée comme clé étrangère dans une autre relation :
  • clé étrangère : attribut dont les valeurs sont des références à une clé primaire d’une autre relation.

Cardinalité de relation

La cardinalité d’une relation est le nombre d’enregistrements qu’elle contient (le nombre de participation d’une entité à une relation)

Le modèle relationnel prévoit trois types de relations entre tables : 1:1, 1:N et N:N. Les relations entre les tables sont définies dans la colonne partagée.

Relation 1:1

Dans deux tables A et B de relation 1:1, un tuple de la table A se rapporte seulement à un tuple de la table B.

Par exemple, un ministre est à la tête d’un ministère et un ministère ne comporte qu’un seul ministre : la table « Ministères » est en relation 1:1 avec la table « Ministres ».

Relation 1:N

Dans deux tables A et B de relation 1:N, un tuple de la table A se rapporte à un ou plusieurs tuples de la table B.

Par exemple, un seul membre de la table « Internats » peut se rapporter à plusieurs membres de la table « Élèves ».

Relation N:N

Dans deux tables A et B de relation N:N, un tuple de la table A se rapporte à un ou plusieurs tuples de la table B et un tuple de la table B se rapporte à un ou plusieurs tuples de la table A.

Par exemple, dans une école secondaire, une classe a plusieurs professeurs et un professeur est responsable de plusieurs classes : les tables « Classes » et « Professeurs » sont en relation N:N.

 

Remarque : une relation N:N peut donc être décomposées en deux relations 1:N.

 

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 :

 

La cardinalité est représentée par des liens.
  • cardinalité 1 à 1: ou 
  • cardinalité 1 à plusieurs :  ou 

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

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

Les clés primaires apparaissent soulignées, les clés étrangères précédées d’un # .

Exercices :

  • 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)

  1. Un employé peut il avoir plusieurs qualifications ?
  2. Un employé peut il faire plusieurs projets en même temps ?
  3. Une personne peut elle être responsable de plusieurs services ?
  4. Un service peut il avoir plusieurs responsables ?
  • 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)

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

 

Algèbre relationnelle

Les opérations d’algèbre relationnelle sont utilisées pour faire des rapprochements entre les enregistrements et créer de nouvelles relations à partir des relations enregistrées dans la base de données.

 

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

Vous aimerez aussi...

Laisser un commentaire

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

*

code