Exercice 3 - Parties A et B · Bac Numérique et Sciences Informatiques Asie 2024 (jour 2)
Thème : Bases de données relationnelles, SGBD et langage SQL · Tiré du sujet Jour 2 (2024)
Énoncé
EXERCICE 3 (8 points)
Cet exercice porte sur les bases de données relationnelles, les requêtes SQL et la programmation en Python.
L'énoncé de cet exercice utilise des mots-clés du langage SQL suivants: SELECT, FROM, WHERE, JOIN... ON, UPDATE... SET, INSERT INTO... VALUES..., COUNT, ORDER BY.
La clause ORDER BY suivie d'un attribut permet de trier les résultats par ordre croissant de l'attribut précisé. SELECT COUNT(*) renvoie le nombre de lignes d'une requête.
Amélie souhaite organiser sa collection de CD. Elle a commencé par enregistrer toutes les informations sur un fichier CSV mais elle trouve que la recherche d'informations est longue et fastidieuse. Elle repense à son cours sur les bases de données et elle se dit qu'elle doit pouvoir utiliser une base de données relationnelle pour organiser sa collection.
Partie A
Dans cette partie on utilise une seule table.
Voici un extrait de la table Chanson.
Partie A
Dans cette partie on utilise une seule table.
Voici un extrait de la table Chanson.
1.
L'attribut titre peut-il être une clé primaire pour la table Chanson ? Justifier.
2.
Donner le résultat de la requête suivante:
SELECT titre, album
FROM Chanson
WHERE groupe = 'Guns N'' Roses';
3.
Écrire une requête SQL permettant d'obtenir tous les titres des chansons de l'album Showbiz dans l'ordre croissant.
4.
Écrire une requête SQL permettant d'ajouter la chanson dont le titre est Megalomania de l'album Hullabaloo du groupe Muse.
Amélie a remarqué une faute de frappe dans la chanson Welcome too the Jungle qui s'écrit normalement Welcome to the Jungle.
5.
Écrire une requête SQL permettant de corriger cette erreur.
Partie B
Dans cette partie on utilise trois tables.
Voici des extraits des trois tables Chanson, Album et Groupe.
6.
Expliquer l'intérêt d'utiliser trois tables Chanson, Album et Groupe au lieu de regrouper toutes les informations dans une seule table.
7.
Expliquer le rôle de l'attribut id_album de la table Chanson.
8.
Proposer alors un schéma relationnel pour cette version de la base de données. On pensera à bien spécifier les clés primaires en les soulignant et les clés étrangères en les faisant précéder par le symbole #.
9.
Écrire une requête SQL permettant d'obtenir tous les noms des albums contenant la chanson Showbiz.
10.
Écrire une requête SQL permettant d'obtenir tous les titres avec le nom de l'album des chansons du groupe Muse.
11.
Décrire par une phrase ce qu'effectue la requête SQL suivante:
SELECT COUNT(*) AS tot
FROM Album AS a
JOIN Groupe AS g ON a.id_groupe = g.id
WHERE g.nom = 'Muse';

Corrigé
Corrigé proposé par AprenAI (non officiel)
1. L'attribut titre peut-il être une clé primaire pour la table Chanson ? Justifier.
Réponse : Non, l'attribut titre ne peut pas être une clé primaire car ses valeurs ne sont pas uniques (par exemple, les titres « Muscle Museum » et « Showbiz » apparaissent deux fois).
2. Donner le résultat de la requête suivante : SELECT titre, album FROM Chanson WHERE groupe = 'Guns N'' Roses';
Réponse : titre : Welcome too the Jungle | album : Appetite for Destruction
3. Écrire une requête SQL permettant d'obtenir tous les titres des chansons de l'album Showbiz dans l'ordre croissant.
Réponse : ```sql SELECT titre FROM Chanson WHERE album = 'Showbiz' ORDER BY titre; ```
4. Écrire une requête SQL permettant d'ajouter la chanson dont le titre est Megalomania de l'album Hullabaloo du groupe Muse.
Réponse : ```sql INSERT INTO Chanson (id, titre, album, groupe) VALUES (10, 'Megalomania', 'Hullabaloo', 'Muse'); ```
5. Écrire une requête SQL permettant de corriger cette erreur.
Réponse : ```sql UPDATE Chanson SET titre = 'Welcome to the Jungle' WHERE id = 7; ```
6. Expliquer l'intérêt d'utiliser trois tables Chanson, Album et Groupe au lieu de regrouper toutes les informations dans une seule table.
Réponse : Cela permet d'éviter la redondance des données (ne pas répéter le nom du groupe et de l'album pour chaque chanson), ce qui économise de l'espace mémoire et évite les risques d'incohérence lors des mises à jour.
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 3 - Partie B · Asie 2024 (jour 1) · Exercice 2 · Asie 2023 (jour 2) ›
Plus d’exercices de Bases de données relationnelles, SGBD et langage SQL
- Exercice 2 - Partie A : Bases de données · Asie 2026 (jour 2)
- Exercice 3 - Partie A · Asie 2025 (jour 1)
- Exercice 1 · Asie jour 1 - Remplacement 2025
- Exercice 3 - Partie A : Bases de données relation… · Asie 2025 (jour 2)
- Exercice 3 - Partie B · Asie 2024 (jour 1)
- Exercice 2 · Asie 2023 (jour 2)
- Exercice 2 · Asie 2022 (jour 1)
- Exercice 4 · Asie 2022 (jour 2)