Database Reference
In-Depth Information
La contrainte NOT NULL sur une colonne clé étrangère traduit une multiplicité minimale à 1
d'une association un-à-plusieurs (ici la colonne id_ville dans la table Aeroport ).
Traduction des associations un-à-un
Le tableau suivant décrit la transformation de deux associations binaires entre les relations
Projet et Collaborateur .
L'association d'affectation (de nom affecter au niveau conceptuel) est de type de un-à-
plusieurs et doit se traduire comme précédemment. L'association qui modélise le fait qu'un
projet soit dirigé par un seul collaborateur qui ne peut en diriger plusieurs (de nom diriger
au niveau conceptuel) est de type un-à-un et doit se traduire par une clé étrangère et par une
contrainte d'unicité (index unique). Cette clé étrangère (ici, id_coll ) doit être présente dans
la relation considérée comme enfant pour l'association un-à-un (multiplicité minimale à 0),
ici Projet .
Tableau 3-3 : Transformation d'une association un-à-plusieurs et d'une association un-à-un
Schéma relationnel
Script SQL
DROP INDEX diriger_fk ;
ALTER TABLE collaborateur
DROP CONSTRAINT fk_affecter_projet;
ALTER TABLE projet
DROP CONSTRAINT fk_diriger_collabor;
DROP TABLE collaborateur CASCADE CONSTRAINTS;
DROP TABLE projet CASCADE CONSTRAINTS;
CREATE TABLE collaborateur (
id_coll VARCHAR2(5) NOT NULL,
num_proj VARCHAR2(6),
nom_coll VARCHAR2(50),
indice INTEGER,
CONSTRAINT pk_collaborateur
PRIMARY KEY (id_coll));
CREATE TABLE projet (
num_proj VARCHAR2(6) NOT NULL,
id_coll VARCHAR2(5) NOT NULL,
duree INTEGER,
budget NUMBER(9,2),
designation_proj VARCHAR2(60),
CONSTRAINT pk_projet
PRIMARY KEY (num_proj));
Figure 3-4 . Association un-à-un « diriger » à traduire
 
Search WWH ::




Custom Search