UML 2 pour les bases de données
196
© Éditions Eyrolles
Le script SQL est le suivant.
Figure 3-13 Exemple d’association réflexive plusieurs-à-plusieurs
Tableau 3.10 Association réflexive plusieurs-à-plusieurs
Schéma logique
Script SQL2
Aeroport[codeOACI, nomAero, ville]
Distance[OACI1#, OACI2#,
nautiques]
CREATE TABLE Aeroport
(codeOACI VARCHAR(8), nomAero VARCHAR(30),
ville VARCHAR(20), CONSTRAINT pk_Aeroport
PRIMARY KEY(codeOACI))
CREATE TABLE Distance
(OACI1 VARCHAR(8),OACI2 VARCHAR(8),
nautiques NUMBER(4), CONSTRAINT pk_Distance
PRIMARY KEY(OACI1,OACI2),
CONSTRAINT fk_Distance_Aeroport1
FOREIGN KEY(OACI1)
REFERENCES Aeroport(codeOACI),
CONSTRAINT fk_Distance_Aeroport2
FOREIGN KEY(OACI2)
REFERENCES Aeroport(codeOACI))
R1 et R3
Aeroport
codeOACI
nomAero
ville
Aeroport[codeOACI, nomAero, ville]
Distance[codeOACI1#, codeOACI2#, nautiques]
1,N
codeOACI
nomAero
ville
Aeroport
Distance
1,N
1..*
1..*
nautiques
Distance
nautiques
196
© Éditions Eyrolles
Le script SQL est le suivant.
Figure 3-13 Exemple d’association réflexive plusieurs-à-plusieurs
Tableau 3.10 Association réflexive plusieurs-à-plusieurs
Schéma logique
Script SQL2
Aeroport[codeOACI, nomAero, ville]
Distance[OACI1#, OACI2#,
nautiques]
CREATE TABLE Aeroport
(codeOACI VARCHAR(8), nomAero VARCHAR(30),
ville VARCHAR(20), CONSTRAINT pk_Aeroport
PRIMARY KEY(codeOACI))
CREATE TABLE Distance
(OACI1 VARCHAR(8),OACI2 VARCHAR(8),
nautiques NUMBER(4), CONSTRAINT pk_Distance
PRIMARY KEY(OACI1,OACI2),
CONSTRAINT fk_Distance_Aeroport1
FOREIGN KEY(OACI1)
REFERENCES Aeroport(codeOACI),
CONSTRAINT fk_Distance_Aeroport2
FOREIGN KEY(OACI2)
REFERENCES Aeroport(codeOACI))
R1 et R3
Aeroport
codeOACI
nomAero
ville
Aeroport[codeOACI, nomAero, ville]
Distance[codeOACI1#, codeOACI2#, nautiques]
1,N
codeOACI
nomAero
ville
Aeroport
Distance
1,N
1..*
1..*
nautiques
Distance
nautiques
