Problème — Modéliser une base « cinéma »
Application directe du cours · niveau 2 · NSI (terminale), chapitre 11 — Bases de données : le modèle relationnel
Énoncé
Problème — Modéliser une base « cinéma ».
Un site souhaite gérer des films (titre, durée, année) et des réalisateurs (nom, nationalité). Un film a un unique réalisateur ; un réalisateur peut avoir réalisé plusieurs films. Proposer un schéma relationnel complet, puis le code SQL de création des tables.
Corrigé
On identifie deux entités : Realisateur et Film. L'association « un film a un réalisateur » est de type « plusieurs à un » : on place donc une clé étrangère dans la table Film.
CREATE TABLE Realisateur (
id INTEGER PRIMARY KEY,
nom TEXT NOT NULL,
nationalite TEXT
);
CREATE TABLE Film (
id INTEGER PRIMARY KEY,
titre TEXT NOT NULL,
duree INTEGER,
annee INTEGER,
id_realisateur INTEGER,
FOREIGN KEY (id_realisateur) REFERENCES Realisateur(id)
);
Ce schéma évite toute redondance : la nationalité d'un réalisateur n'est stockée qu'une fois, même s'il a réalisé dix films. Les trois contraintes d'intégrité sont respectées (clé primaire pour l'entité, types pour le domaine, clé étrangère pour la référence).
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.