UML 2 pour les bases de données
210
© Éditions Eyrolles
Figure 3-18 Agrégations UML
Roue
noserie
poids
Voiture
nimmat
genre
Voiture[nimmat, genre]
Roue[noserie,nimmat#, poids]
1
0..4
CoProprietaire
numCo
nom
Immeuble
nimm
adresse
Coproprietaire[numco, nom]
Immeuble[nimm, adresse]
0..*
1..*
Achat
dateAch
prix
Achat[numco#,nimm#, dateAch,prix]
Tableau 3.18 Agrégations UML
Schéma logique
Script SQL2 (programmation MySQL)
CoProprietaire[numCo, nom]
Achat[numCo#, nimm#, dateAch,
prix]
Immeuble[nimm, adresse]
Voiture[nimmat, genre]
Roue[noserie#, nimmat#, poids]
CREATE TABLE Coproprietaire
(numCo INTEGER, nom CHAR(30),
CONSTRAINT pk_Coproprietaire PRIMARY KEY(numCo));
CREATE TABLE Immeuble
(nimm INTEGER, adresse CHAR(40),
CONSTRAINT pk_Immeuble PRIMARY KEY(nimm));
CREATE TABLE Achat
(numCo INTEGER, nimm INTEGER, dateAch DATETIME,
prix INTEGER,
CONSTRAINT pk_Achat PRIMARY KEY (numCo,nimm),
CONSTRAINT fk_Achat_numCo_Coproprietaire
FOREIGN KEY(numCo)REFERENCES Coproprietaire(numCo)
ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT fk_Achat_nimm_Immeuble
FOREIGN KEY(nimm) REFERENCES Immeuble(nimm)
ON DELETE CASCADE ON UPDATE CASCADE);
CREATE TABLE Voiture
(nimmat CHAR(10), genre CHAR(30),
CONSTRAINT pk_Voiture PRIMARY KEY(nimmat));
CREATE TABLE Roue
(noserie INTEGER, nimmat CHAR(10), poids INTEGER,
CONSTRAINT pk_Roue PRIMARY KEY(noserie,nimmat),
CONSTRAINT fk_Roue_nimmat_Voiture
FOREIGN KEY (nimmat) REFERENCES Voiture(nimmat)
ON DELETE CASCADE ON UPDATE CASCADE);
Précédent

- 216/316

Suivant