Exercice 1 · Bac Numérique et Sciences Informatiques Métropole Candidat libre 2021 (sujet 2)
Thème : Bases de données relationnelles, SGBD et langage SQL · Tiré du sujet Métropole Candidat libre 2 (2021)
Énoncé
EXERCICE 1 (4 points)
Cet exercice porte sur les bases de données relationnelles et le langage SQL.
L'énoncé de cet exercice utilise les mots du langage SQL suivants:
SELECT FROM, WHERE, JOIN ON, INSERT INTO VALUES, UPDATE, SET, DELETE, COUNT, AND, OR. On considère dans cet exercice une gestion simplifiée des emprunts des ouvrages d'un CDI. La base de données utilisée sera constituée de trois relations (ou tables) nommées Eleves, Livres et Emprunts selon le schéma relationnel suivant:
Dans ce schéma relationnel, un attribut souligné indique qu'il s'agit d'une clé primaire. Le symbole # devant un attribut indique qu'il s'agit d'une clé étrangère et la flèche associée indique l'attribut référencé. Ainsi, l'attribut idEleve de la relation Emprunts est une clé étrangère qui fait référence à la clé primaire idEleve de la relation Eleves.
1.
Expliquer pourquoi le code SQL ci-dessous provoque une erreur.
INSERT INTO Eleves VALUES (128, 'Dupont', 'Jean', 'T1');
INSERT INTO Eleves VALUES (200, 'Dupont', 'Jean', 'T1');
INSERT INTO Eleves VALUES (128, 'Dubois', 'Jean', 'T2');
2.
Dans la définition de la relation Emprunts, qu'est-ce qui assure qu'on ne peut pas enregistrer un emprunt pour un élève qui n'a pas encore été inscrit dans la relation Eleves ?
3.
Écrire une requête SQL qui renvoie les titres des ouvrages de Molière détenus par le CDI.
4.
Décrire le résultat renvoyé par la requête ci-dessous.
SELECT COUNT(*)
FROM Eleves
WHERE classe = 'T2';
5.
Camille a emprunté le livre Les misérables. Le code ci-dessous a permis d'enregistrer cet emprunt.
INSERT INTO Emprunts
VALUES (640, 192, '9782070409228', '2020-09-15', NULL); Camille a restitué le livre le 30 septembre 2020.
Recopier et compléter la requête ci-dessous de manière à mettre à jour la date de retour dans la base de données.
UPDATE Emprunts SET......................... WHERE.........................;
6.
Décrire le résultat renvoyé par la requête ci-dessous.
SELECT DISTINCT nom, prenom
FROM Eleves, Emprunts
WHERE Eleves.idEleve = Emprunts.idEleve
AND Eleves.classe = 'T2';
7.
Écrire une requête SQL qui permet de lister les noms et prénoms des élèves qui ont emprunté le livre Les misérables.

Corrigé
Corrigé proposé par AprenAI (non officiel)
1. Expliquer pourquoi le code SQL ci-dessous provoque une erreur.
Réponse : L'attribut `idEleve` est la clé primaire de la relation `Eleves`. Or, la première et la troisième requête tentent d'insérer deux élèves avec le même `idEleve` (128). Cela viole la contrainte d'unicité de la clé primaire et provoque donc une erreur.
2. Dans la définition de la relation Emprunts, qu'est-ce qui assure qu'on ne peut pas enregistrer un emprunt pour un élève qui n'a pas encore été inscrit dans la relation Eleves ?
Réponse : C'est la contrainte de clé étrangère (ou contrainte d'intégrité référentielle) sur l'attribut `idEleve` de la table `Emprunts`, qui fait référence à la clé primaire `idEleve` de la table `Eleves`.
3. Écrire une requête SQL qui renvoie les titres des ouvrages de Molière détenus par le CDI.
Réponse : ```sql SELECT titre FROM Livres WHERE auteur = 'Molière' ; ```
4. Décrire le résultat renvoyé par la requête ci-dessous.
Réponse : Cette requête renvoie le nombre d'élèves inscrits dans la classe 'T2'.
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 · Métropole Candidat libre 2021 (sujet 1) · Exercice 3 · Métropole 2021 (sujet 1) ›
Plus d’exercices de Bases de données relationnelles, SGBD et langage SQL
- Exercice 2 · Métropole 2022 (sujet 1)
- 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 3 · Métropole 2021 (sujet 1)
- Exercice 3 · Métropole 1 remplacement 2021
- Exercice 2 · Métropole 2021 (sujet 2)
- Exercice 3 · Métropole 2 remplacement 2021