Adloun

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.