Question
Retro-concevoir le MCD en UML.
Solution
Complément : Classe d'association
Question
Proposer des contraintes d'intégrité réalistes pour ce schéma (en français).
Solution
Exemple :
sur SPECTACLES :
le nom d'un spectacle est non nul,
la durée d'un spectacle est comprise entre 60 minutes et 240 minutes,
sur SALLES :
la capacité d'une salle est comprise entre 100 et 500 places.
sur REPRESENTATION :
le prix d'une représentation est compris entre 10 et 50 €,
certaines dates peuvent être interdites (le premier mai par exemple).
Question
Proposer une définition du schéma en SQL qui prenne en compte certaines de ces contraintes.
Solution
1
CREATE TABLE SPECTACLE (
2
nospectacle integer,
3
nom varchar(30) NOT NULL,
4
duree integer,
5
type char(7),
6
PRIMARY KEY (nospectacle),
7
CHECK (duree>1 and duree<4),
8
CHECK (type in ('théâtre', 'danse', 'concert'))
9
);
1
CREATE TABLE SALLE (
2
nosalle integer,
3
nbplaces integer,
4
PRIMARY KEY (nosalle),
5
CHECK (nbplaces>100 and nbplaces<500)
6
);
1
CREATE TABLE REPRESENTATION (
2
nospectacle integer,
3
nosalle integer,
4
rdate date,
5
prix decimal(3,2),
6
PRIMARY KEY (nosalle, date, nospectacle),
7
FOREIGN KEY (nospectacle) REFERENCES SPECTACLE(nospectacle),
8
FOREIGN KEY (nosalle) REFERENCES SALLE(nosalle),
9
CHECK (prix>10 and prix<50)
10
);
Question
Insérer des données réalistes dans votre schéma afin de vérifier son bon fonctionnement.