Exercice 2 · Bac Numérique et Sciences Informatiques Métropole 2022 (sujet 1)
Thème : Bases de données relationnelles, SGBD et langage SQL · Tiré du sujet Métropole France 1 (2022)
Énoncé
EXERCICE 2
[4 points]
Cet exercice porte sur les bases de données.
On pourra utiliser les mots clés SQL suivants: SELECT, FROM, WHERE, JOIN, ON, INSERT, INTO, VALUES, UPDATE, SET, AND.
Nous allons étudier une base de données traitant du cinéma dont voici le schéma relationnel qui comporte 3 relations:
la relation individu ( id_ind, nom, prenom, naissance)
la relation realisation ( id_rea, titre, annee, type)
la relation emploi ( id_emp, description, #id_ind, #id_rea)
Les clés primaires sont soulignées et les clés étrangères sont précédées d'un #.
Ainsi emploi.id_ind est une clé étrangère faisant référence à individu.id_ind.
Voici un extrait des tables individu et realisation:
1.
On s'intéresse ici à la récupération de données dans une relation.
a.
Écrire ce que renvoie la requête ci-dessous:
SELECT nom, prenom, naissance
FROM individu
WHERE nom = 'Crog';
b.
Fournir une requête SQL permettant de récupérer le titre et la clé primaire de chaque film dont la date de sortie est strictement supérieure à 2020.
2.
Cette question traite de la modification de relations.
a.
Dire s'il faut utiliser la requête 1 ou la requête 2 proposées ci-dessous pour modifier la date de naissance de Daniel Crog. Justifier votre réponse en expliquant pourquoi la requête refusée ne pourra pas fonctionner.
Requête 1
UPDATE individu
SET naissance = '02-03-1968'
WHERE id_ind = 688 AND nom = 'Crog' AND prenom = 'Daniel';
Requête 2
INSERT INTO individu
VALUES (688, 'Crog', 'Daniel', '02-03-1968');
b.
Expliquer si la relation individu peut accepter (ou pas) deux individus portant le même nom, le même prénom et la même date de naissance.
3.
Cette question porte sur la notion de clés étrangères.
a.
Recopier sur votre copie les demandes ci-dessous, dans leur intégralité, et les compléter correctement pour qu'elles ajoutent dans la relation emploi les rôles de Daniel Crog en tant que James Bond dans le film nommé 'Casino Impérial' puis dans le film 'Ciel tombant'.
INSERT INTO emploi
VALUES (5400, 'Acteur(James Bond)',...);
INSERT INTO emploi
VALUES (5401, 'Acteur(James Bond)',...);
b.
On désire rajouter un nouvel emploi de Daniel Crog en tant que James Bond dans le film 'Docteur Yes'. Expliquer si l'on doit d'abord créer l'enregistrement du film dans la relation realisation ou si l'on doit d'abord créer le rôle dans la relation emploi.
4.
Cette question traite des jointures.
a.
Recopier sur votre copie la requête SQL ci-dessous, dans son intégralité, et la compléter de façon à ce qu'elle renvoie le nom de l'acteur, le titre du film et l'année de sortie du film, à partir de tous les enregistrements de la relation emploi pour lesquels la description de l'emploi est 'Acteur(James Bond)'.
SELECT...
FROM emploi
JOIN individu ON...
JOIN realisation ON...
WHERE emploi.description = 'Acteur(James Bond)';
b.
Fournir une requête SQL permettant de trouver toutes les descriptions des emplois de Denis Johnson (Denis est son prénom et Johnson est son nom). On veillera à n'afficher que la description des emplois et non les films associés à ces emplois.

Corrigé
Corrigé proposé par AprenAI (non officiel)
1.a. Écrire ce que renvoie la requête ci-dessous : SELECT nom, prenom, naissance FROM individu WHERE nom = 'Crog';
Réponse : 'Crog', 'Daniel', '07-07-1968'
1.b. Fournir une requête SQL permettant de récupérer le titre et la clé primaire de chaque film dont la date de sortie est strictement supérieure à 2020.
Réponse : ```sql SELECT titre, id_rea FROM realisation WHERE annee > 2020; ```
2.a. Dire s'il faut utiliser la requête 1 ou la requête 2 proposées ci-dessous pour modifier la date de naissance de Daniel Crog.
Réponse : Requête 1
2.a. Justifier votre réponse en expliquant pourquoi la requête refusée ne pourra pas fonctionner.
Réponse : La requête 2 effectue un INSERT avec id_ind = 688, or cet identifiant existe déjà comme clé primaire dans la table individu. Cela déclencherait une violation de contrainte d'unicité de la clé primaire.
2.b. Expliquer si la relation individu peut accepter (ou pas) deux individus portant le même nom, le même prénom et la même date de naissance.
Réponse : Oui, car l'identification unique repose uniquement sur la clé primaire id_ind. Deux individus homonymes nés le même jour peuvent coexister dans la table tant qu'ils possèdent des valeurs de id_ind différentes.
Les réponses des 5 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 2 · Métropole 2023 (sujet 2) · Exercice 3 · Métropole 1 remplacement 2022 ›
Plus d’exercices de Bases de données relationnelles, SGBD et langage SQL
- Exercice 1 · Métropole 1 remplacement 2024
- Exercice 1 - Partie A · Métropole 2024 (sujet 2)
- Exercice 3 - Partie C : Exploitation de la base d… · Métropole 2 remplacement 2024
- Exercice 1 · Métropole 2023 (sujet 1)
- Exercice 2 · Métropole 2023 (sujet 2)
- Exercice 3 · Métropole 1 remplacement 2022
- Exercice 4 · Métropole 2022 (sujet 2)
- Exercice 3 · Métropole 2 remplacement 2022
- Exercice 1 · Métropole Candidat libre 2021 (sujet 1)
- Exercice 1 · Métropole Candidat libre 2021 (sujet 2)