UML 2 pour les bases de données
216
© Éditions Eyrolles
C’est cette contrainte de clé étrangère qui renforce l’intégrité de la base de données, car il ne
sera pas possible d’ajouter l’installation d’un logiciel si ce précédent n’a pas été acheté au
préalable par le département. Ce schéma est plus intègre qu’un schéma traduisant l’association
3-aire sans contrainte entre Departement, Logiciel et Serveur. La clé étrangère qui traduit
l’association d’agrégation est indiquée en gras.
Tableau 3.21 Association d’agrégation plusieurs-à-plusieurs
Schéma logique
Script SQL2 (Oracle)
Logiciel[nomlogi, prix]
Departement[codept, budget]
Achat[codept#, nomlogi#, dateach]
Installation[nserv#,(codept,nomlogi)#,
dateinst ]
Serveur[nserv, typeserv]
CREATE TABLE logiciel
(nomlogi VARCHAR(20), prix NUMBER,
CONSTRAINT pk_logiciel
PRIMARY KEY(nomlogi))
CREATE TABLE departement
(codept VARCHAR(6), budget NUMBER,
CONSTRAINT pk_departement
PRIMARY KEY(codept))
CREATE TABLE serveur
(nserv NUMBER, typeserv VARCHAR(20),
CONSTRAINT pk_serveur
PRIMARY KEY(nserv))
CREATE TABLE achat
(codept VARCHAR(6), nomlogi VARCHAR(20),
dateach DATE,
CONSTRAINT pk_achat
PRIMARY KEY(codept,nomlogi),
CONSTRAINT fk_achat_codept_departement
FOREIGN KEY(codept)
REFERENCES departement(codept),
CONSTRAINT fk_achat_nomlogi_logiciel
FOREIGN KEY(nomlogi)
REFERENCES logiciel(nomlogi))
CREATE TABLE installation
(nserv
NUMBER, codept VARCHAR(6),
nomlogi VARCHAR(20), dateinst DATE,
CONSTRAINT pk_installation
PRIMARY KEY(nserv,codept,nomlogi),
CONSTRAINT fk_installation_serveur
FOREIGN KEY(nserv)
REFERENCES serveur(nserv),
CONSTRAINT fk_installation_achat
FOREIGN KEY(codept,nomlogi)
REFERENCES achat(codept,nomlogi))
Précédent

- 222/316

Suivant