Database Reference
In-Depth Information
Tableau 3-19 : Contrainte personnalisée
Schéma relationnel
Script SQL
CREATE TABLE employe (
id_emp INTEGER NOT NULL,
id_ent INTEGER,
prenom_emp VARCHAR2(40),
nom_emp VARCHAR2(40),
mail_emp VARCHAR2(60),
salaire FLOAT,
CONSTRAINT pk_employe
PRIMARY KEY (id_emp));
CREATE TABLE entreprise (
id_ent INTEGER NOT NULL,
nom_entreprise VARCHAR2(50),
budget FLOAT,
CONSTRAINT pk_entreprise
PRIMARY KEY (id_ent));
CREATE TABLE chef_de (
id_emp INTEGER NOT NULL,
id_chef INTEGER,
CONSTRAINT pk_chef_de
PRIMARY KEY (id_emp));
ALTER TABLE employe
ADD CONSTRAINT fk_emp_entrepri
FOREIGN KEY (id_ent)
REFERENCES entreprise (id_ent);
ALTER TABLE chef_de
ADD CONSTRAINT fk_chef_emp
FOREIGN KEY (id_chef)
REFERENCES employe (id_emp);
ALTER TABLE chef_de
ADD CONSTRAINT fk_emp_emp
FOREIGN KEY (id_emp)
REFERENCES employe (id_emp);
Figure 3-14 . Contrainte OCL
La règle se programme inalement par un déclencheur sur la table d'association chef_de . Ce
déclencheur devra s'assurer, après chaque ajout ou modiication d'un chef, que le chef et son
subalterne appartiennent à la même entreprise.
 
Search WWH ::




Custom Search