Bonsoir à tous,
Dans la droite ligne des cas traités récemment de prise en compte des contraintes dans le DDL, voici un cas assez classique que je soumets à votre sagacité!
Il s'agit de définir les triggers nécessaires à la gestion de l'eXclusivité dans le cadre d'un héritage.
Voici un petit MCD pour traiter le sujet le plus simplement possible :
Voici le MLD correspondant :
et le DDL (PostgreSQL) :
Il s'agit donc de s'assurer qu'un enseignant n'apparait pas dans la table des administratifs, et vice-versa, dans le cadre d'une insertion ou d'une modification (si possible en PostgreSQL).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 CREATE TABLE Personnel( Matricule INTEGER, Prénom VARCHAR(50), Nom VARCHAR(50), Date_Naissance DATE, CONSTRAINT PK_Personnel PRIMARY KEY(Matricule) ); CREATE TABLE Administratif( Matricule INTEGER, Fonction VARCHAR(50), Salaire_Mensuel MONEY, CONSTRAINT PK_Administratif PRIMARY KEY(Matricule), CONSTRAINT FK_Administratif_Personnel FOREIGN KEY(Matricule) REFERENCES Personnel(Matricule) ); CREATE TABLE Enseignant( Matricule INTEGER, Grade VARCHAR(30), Échelon SMALLINT, CONSTRAINT PK_Enseignant PRIMARY KEY(Matricule), CONSTRAINT FK_Enseignant_Personnel FOREIGN KEY(Matricule) REFERENCES Personnel(Matricule) );
Est-ce que cela vous inspire ?![]()
Partager