Database Reference
In-Depth Information
Schéma relationnel ( suite )
Script SQL ( suite )
ALTER TABLE collaborateur
ADD CONSTRAINT fk_affecter_projet
FOREIGN KEY (num_proj)
REFERENCES projet (num_proj);
ALTER TABLE PROJET
ADD CONSTRAINT fk_diriger_collabor
FOREIGN KEY (id_coll)
REFERENCES collaborateur (id_coll);
CREATE UNIQUE INDEX diriger_fk
ON projet ( id_coll ASC);
Il existe d'autres formes d'associations un-à-un comme dans le cas de l'héritage ou d'un
lien identiiant (la clé est la même entre les diverses tables).
Traduction des associations rélexives
Le tableau suivant décrit la transformation de deux associations rélexives . L'association
manager est de type un-à-plusieurs et doit se traduire classiquement (clé étrangère). L'as-
sociation meilleur_ami est de type un-à-un et peut se traduire aussi par une clé étrangère.
Tableau 3-4 : Transformation de deux associations rélexives
Schéma relationnel
Script SQL
ALTER TABLE employe
DROP CONSTRAINT fk_manager;
ALTER TABLE employe
DROP CONSTRAINT fk_meilleur_ami;
DROP TABLE employe CASCADE CONSTRAINTS;
CREATE TABLE employe (
id_emp INTEGER NOT NULL,
id_manager INTEGER,
id_ami INTEGER,
nom_emp VARCHAR2(50),
date_embauche DATE,
salaire NUMBER(7,2),
CONSTRAINT pk_employe
PRIMARY KEY (id_emp));
Figure 3-5 . Associations réflexives à traduire
 
Search WWH ::




Custom Search