Database Reference
In-Depth Information
Solution universelle
Le tableau suivant décrit la transformation de deux associations binaires entre les relations
Projet
et
Collaborateur
. L'association
affecter
est de type de
un-à-plusieurs
l'associa-
tion
diriger
est de type de
un-à-un
.
Chaque association doit se traduire par une table d'association munie de deux clés étrangères.
Les contraintes
UNIQUE
et
NOT NULL
sur chacune de ces clés permettront d'implémenter telle
ou telle multiplicité.
Tableau 3-7 : Transformation de deux associations binaires par la solution universelle
Schéma relationnel
Script SQL
ALTER TABLE affecter
DROP CONSTRAINT fk_affecter_collabor;
ALTER TABLE affecter
DROP CONSTRAINT fk_affecter_projet;
ALTER TABLE diriger
DROP CONSTRAINT fk_diriger_collabor;
ALTER TABLE diriger
DROP CONSTRAINT fk_diriger_projet;
DROP TABLE collaborateur CASCADE CONSTRAINTS;
DROP TABLE projet CASCADE CONSTRAINTS;
DROP TABLE affecter CASCADE CONSTRAINTS;
DROP TABLE diriger CASCADE CONSTRAINTS;
CREATE TABLE collaborateur (
id_coll VARCHAR2(5) NOT NULL,
nom_coll VARCHAR2(50),
indice INTEGER,
CONSTRAINT pk_collaborateur
PRIMARY KEY (id_coll));
CREATE TABLE projet (
num_proj VARCHAR2(6) NOT NULL,
duree INTEGER,
budget NUMBER(9,2),
designation_proj VARCHAR2(60),
CONSTRAINT pk_projet
PRIMARY KEY (num_proj));
CREATE TABLE affecter (
num_proj VARCHAR2(6),
id_coll VARCHAR2(5) NOT NULL,
CONSTRAINT pk_affecter
PRIMARY KEY (id_coll);
Figure 3-8
. Associations binaires à traduire