Exercice 1 · Bac Numérique et Sciences Informatiques Nouvelle-Calédonie 2022 (jour 1)
Thème : Bases de données relationnelles, SGBD et langage SQL · Tiré du sujet Jour 1 (2022)
Énoncé
EXERCICE 1
Cet exercice porte sur un schéma relationnel de bases de données et des requêtes SQL.
L'Internet Movie Database, noté IMDb, est une base de données en ligne sur le cinéma. Cette base de données permet d'accéder à des informations concernant les films, les acteurs, les réalisateurs, les scénaristes, etc. L'accès à ces informations est gratuit.
Une version simplifiée du schéma relationnel de cette base de données est présentée ci-dessous:
Film ( Idfilm, titre, annee, #Idrealisateur, noteIMDb)
Acteur ( Idacteur, acteur_nom, acteur_prenom)
Joue_Role ( Idrole, #Idacteur, #Idfilm, personnage)
Realisateur ( Idrealisateur, realisateur_nom, realisateur_prenom)
Dans l'exercice, toutes les requêtes seront écrites en langage SQL.
Les clés primaires sont soulignées et les clés étrangères sont précédées d'un #.
Partie 1: Étude du schéma relationnel
1)
Indiquer ce qui différencie les concepts de clé primaire et de clé étrangère.
2)
Indiquer l'utilité des clés étrangères dans la relation Joue_Role de ce schéma relationnel.
Partie 2: Accès aux données de la base IMDb
1)
Écrire une requête permettant d'obtenir la liste des titres des films et de leur année de sortie.
2)
En 2021, Fathia YOUSSOUF a obtenu le César du meilleur espoir féminin pour le film « Mignonnes ».
Écrire une requête permettant de créer l'enregistrement dans la table Acteur de cette actrice selon le modèle suivant:
Idacteur
acteur_nom
acteur_prenom
1250
YOUSSOUF
Fathia
3)
On cherche à supprimer un acteur de la base. Une fois la requête correspondante lancée, le message d'erreur suivant apparaît.
Indiquer ce qui a pu provoquer cette erreur.
ERREUR
Requête SQL:
DELETE FROM `Acteur` WHERE `acteur_nom` = 'DUPONT' AND `acteur_prenom` = 'David';
MySQL a répondu:
1. #1451 - Cannot delete or update a parent row: a foreign key constraint fails (`Joue_Role`, CONSTRAINT `Joue_Role_Acteur_fk` FOREIGN KEY (`Idacteur`) REFERENCES `Acteur` (`Idacteur`))
4)
Écrire une requête permettant d'obtenir le nom et le prénom du réalisateur du film ayant pour titre « Léon ».
5)
Écrire une requête permettant d'obtenir le nom des acteurs du film ayant pour titre « Intouchables ».

Corrigé
Corrigé proposé par AprenAI (non officiel)
1) Indiquer ce qui différencie les concepts de clé primaire et de clé étrangère.
Réponse : Une clé primaire permet d'identifier de manière unique chaque enregistrement (nuplet) au sein d'une relation. Une clé étrangère est un attribut (ou ensemble d'attributs) d'une relation qui fait référence à la clé primaire d'une autre relation, assurant ainsi la contrainte d'intégrité référentielle entre les tables.
2) Indiquer l'utilité des clés étrangères dans la relation Joue_Role de ce schéma relationnel.
Réponse : Elles permettent d'associer un acteur à un film pour matérialiser une relation plusieurs-à-plusieurs (un acteur peut jouer dans plusieurs films, et un film fait intervenir plusieurs acteurs). Elles garantissent l'intégrité référentielle en s'assurant qu'un rôle ne référence qu'un acteur existant (`#Idacteur`) et un film existant (`#Idfilm`).
1) Écrire une requête permettant d'obtenir la liste des titres des films et de leur année de sortie.
Réponse : ```sql SELECT titre, annee FROM Film; ```
2) Écrire une requête permettant de créer l'enregistrement dans la table Acteur de cette actrice selon le modèle suivant :
Réponse : ```sql INSERT INTO Acteur (Idacteur, acteur_nom, acteur_prenom) VALUES (1250, 'YOUSSOUF', 'Fathia'); ``` ```sql INSERT INTO Acteur VALUES (1250, 'YOUSSOUF', 'Fathia'); ```
Les réponses des 3 questions restantes et l’explication pas à pas sont réservées aux membres Premium. Premium
Résous-le ici : correction automatique, indices et corrigé détaillé.
‹ Exercice 1 · Nouvelle-Calédonie 2023 (jour 2) · Exercice 3 · Nouvelle-Calédonie 2022 (jour 2) ›