Question

Retro-concevoir le MCD en UML.

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.