Schéma relationnel

DéfinitionSchéma d'une relation

Le schéma d'une relation définit cette relation en intension. Il est composé :

  • du nom de la relation,

  • de la liste de ses attributs avec les domaines respectifs dans lesquels ils prennent leurs valeurs,

  • de la clé primaire,

  • des clés étrangères,

  • des clés candidates.

DéfinitionSchéma relationnel d'une base de donnée

Le schéma relationnel d'une BD[1] est la définition en intension de cette BD (par opposition à l'instance de la BD qui est une extension de la BD). Il est composé de l'ensemble des schémas de chaque relation de la BD.

SyntaxeRelation

1
Relation (Attribut1:Domaine1, Attribut2:Domaine2, ... , AttributN:DomaineN)

La relation "Relation" contient N attributs chacun défini sur son domaine.

SyntaxeClé primaire

1
Relation (#Attribut1:Domaine1, ... , #AttributM:DomaineM, ... , AttributN:DomaineN)

La clé de la relation "Relation" est composée des attributs "Attribut1" à "AttributM" (attribut précédés de # ou bien soulignés)

En général on note la clé primaire en premier dans la relation.

SyntaxeClé étrangère

1
Relation1 (..., AttributM=>Relation2, ... , AttributN=>Relation2)

La relation "Relation1" comporte une clé étrangère (composée des attributs "AttributM" à "AttributN") référençant la clé primaire de "Relation2". Bien sûr il peut exister plusieurs clés étrangères vers plusieurs relations distinctes. Une clé étrangère et sa clé primaire référencée sont toujours composées du même nombre d'attributs. Il n'est pas nécessaire de préciser les domaines des attributs appartenant à la clé étrangère car ce sont forcément les mêmes que ceux de la clé primaire référencée. Il n'est pas non plus en général nécessaire de préciser dans le schéma relationnel quels attributs de la clé étrangère référencent quels attributs de la clé primaire (cela est généralement évident) mais il est possible de la faire on notant "Attribut=>Relation.Attribut".

En général on note les clés étrangères en dernier dans la relation, sauf pour les clés étrangères qui font partie de la clé primaire (clés identifiantes).

SyntaxeClé candidates

1
Relation1 (...AttributM:DomaineM, ......) avec AttributM clé

Les clés candidates doivent être notées sur le schéma relationnel :

  • S'il n'y a qu'une ou deux clés candidates, les noter directement après la définition de la relation

  • S'il y a beaucoup de clés, pour ne pas trop alourdir la notation, renvoyer à un tableau à part

AttentionClés candidates et clé primaire

La notation R(#a,#b) signifie toujours que R a comme clé primaire (a,b), et non que R aurait deux clés a et b (dont on ne saurait pas laquelle est primaire).

La notation R(#a,b) avec b clé signifie bien que a et b sont deux clés de R, et que a est primaire.

Il ne faut pas confondre une clé composée de deux attributs avec deux clés.