© Éditions Eyrolles
195
chapitre n° 3
Le niveau physique : de SQL2 à SQL3
Associations réflexives
Les associations réflexives sont des associations binaires (un-à-un, un-à-plusieurs, plusieurs-àplusieurs) ou n-aires. Les transformations sont analogues aux associations non réflexives.
Un-à-plusieurs
Les règles R1 et R2 sont appliquées à l’association réflexive un-à-plusieurs de l’exemple 3-12.
La clé étrangère contiendra le code du chef pilote pour chaque pilote. Pour tout chef, cette clé
étrangère ne contiendra pas de valeur (NULL).
La partie SQL indiquée en gras souligne la particularité de l’association réflexive.
Plusieurs-à-plusieurs
Les règles R1 et R3 sont appliquées à l’association réflexive plusieurs-à-plusieurs de l’exemple 3-13 (modélisation de la distance entre deux aéroports).
Figure 3-12 Exemple d’association réflexive un-à-plusieurs
Tableau 3.9 Association réflexive un-à-plusieurs
Schéma logique
Script SQL2
Pilote[brevet, nom, fonction,
compagnie, chef#]
CREATE TABLE pilote
(brevet VARCHAR(8),
nom VARCHAR(30),
fonction VARCHAR(4), compagnie VARCHAR(4),
chef
VARCHAR(8),
CONSTRAINT pk_pilote PRIMARY KEY(brevet),
CONSTRAINT fk_pilote_chef_pilote
FOREIGN KEY(chef) REFERENCES pilote(brevet))
R1 et R2
Pilote
brevet
nom
fonction
compagnie
Pilote[brevet, nom, fonction, compagnie, chef#]
1,N
brevet
nom
fonction
compagnie
Pilote
ChefPilote
0,1
0..1
ChefPilote
1..*
Précédent

- 201/316

Suivant