The show

[30 minutes]

Soit le schéma relationnel suivant décrivant un système de réservations de places de spectacles :

SPECTACLE (#nospectacle:int, nom:str, durée:int, type:{théâtre|danse|concert})
SALLE (#nosalle:int, nbplaces:int)
REPRESENTATION (#date:date, #nospectacle=>SPECTACLE, #nosalle=>SALLE, prix:decimal)

En faisant les suppositions suivantes :

  • On gère un espace de spectacles ayant un ensemble de salles (décrit par la relation SALLE).

  • On suppose que pour un jour donné et une salle donnée, il n'y a qu'un seul spectacle représenté.

Retro-concevoir le MCD en UML.

Proposer des contraintes d'intégrité réalistes pour ce schéma (en français).

  • sur SPECTACLES :

    • le nom d'un spectacle est non nul,

    • la durée d'un spectacle est comprise entre 1h et 4 h,

  • 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).

Proposer une définition du schéma en SQL qui prenne en compte certaines de ces contraintes.

CREATE TABLE SPECTACLE (
nospectacle integer,
nom varchar(30) NOT NULL,
duree integer,
type char(7),
PRIMARY KEY (nospectacle),
CHECK (duree>1 and duree<4),
CHECK (type in ('théâtre', 'danse', 'concert'))
);
CREATE TABLE SALLE (
nosalle integer,
nbplaces integer,
PRIMARY KEY (nosalle),
CHECK (nbplaces>100 and nbplaces<500)
);
CREATE TABLE REPRESENTATION (
nospectacle integer,
nosalle integer,
date date,
prix decimal(3,2),
PRIMARY KEY (nosalle, date, nospectacle),
FOREIGN KEY (nospectacle) REFERENCES SPECTACLE(nospectacle),
FOREIGN KEY (nosalle) REFERENCES SALLE(nosalle),
CHECK (prix>10 and prix<50)
);

Insérer des données réalistes dans votre schéma afin de vérifier son bon fonctionnement.

AccueilExercices > Exercice : The show< PrécédentSuivant >