Exercice 1 · Bac Numérique et Sciences Informatiques Asie jour 1 - Remplacement 2025
Thème : Bases de données relationnelles, SGBD et langage SQL · Tiré du sujet Jour 1 - Remplacement (2025)
Énoncé
Exercice 1 (6 points)
Cet exercice porte sur les bases de données relationnelles et les requêtes SQL.
Dans cet exercice, on pourra utiliser les clauses du langage SQL pour:
construire des requêtes d'interrogation à l'aide de SELECT, FROM, WHERE (avec les opérateurs logiques AND, OR), JOIN... ON;
construire des requêtes d'insertion et de mise à jour à l'aide de UPDATE, INSERT, DELETE;
affiner les recherches à l'aide de ORDER BY.
Pour analyser les résultats et les performances de plusieurs joueurs et joueuses de tennis d'un club, on élabore une base de données relationnelle. Les données récoltées lors de plusieurs tournois, au fil des saisons, doivent ensuite permettre de fournir des statistiques. Chacune des requêtes demandées devra être écrite en langage SQL.
Voici un extrait de la table joueurs dans cette base:
joueurs
id
nom
prenom
genre
1 · Durand · Enzo · 1
2 · Panais · Lise · 2
3 · Alpin · Lucas · 1
4 · Benard · Elsa · 2
5 · Benard · Emma · 2
id est de type INT, cet attribut est la clé primaire de cette table;
nom est de type TEXT;
prenom est de type TEXT;
genre est de type INT (1 pour un joueur, 2 pour une joueuse).
1.
Expliquer pourquoi l'attribut nom ne peut pas être choisi comme clé primaire.
2.
Écrire une requête permettant d'obtenir les noms et prénoms des joueuses du club.
3.
Écrire une requête permettant d'ajouter dans la table le joueur dont le prénom est Nathan et le nom est Gervais, en choisissant une valeur pour l'identifiant id cohérente avec le reste de la base.
On s'intéresse maintenant à la table competitions, répertoriant les différents tournois auxquels ont participé les joueurs et joueuses du club.
competitions
id
nom
annee
1 · Open de Tours · 2022
2 · Tournoi de Blois · 2023
3 · Open de Toums · 2023
4 · Open de Nantes · 2023
5 · Open de Nantes · 2021
6 · Tournoi d'Angers · 2024
id est de type INT, il s'agit de la clé primaire de cette table;
nom est de type TEXT;
annee est de type INT.
4.
Une faute de frappe s'est glissée dans le nom de la compétition d'identifiant 3. Écrire une requête permettant de corriger le nom en Open de Tours.
5.
Écrire une requête permettant d'obtenir la liste des noms des tournois, ainsi que leur année, en triant par année croissante.
Le lien entre ces deux tables se fait à l'aide d'une table participe. Celle-ci contient aussi les statistiques recueillies lors de cette participation.
participe
id_joueur
id_compet
nb_fautes
nb_gagnant
aces
1 · 1 · 16 · 12 · 1
3 · 1 · 14 · 8 · 2
1 · 3 · 7 · 15 · 2
3 · 3 · 12 · 8 · 1
2 · 2 · 15 · 10 · 3
2 · 4 · 10 · 17 · 0
4 · 4 · 7 · 18 · 4
5 · 4 · 11 · 15 · 1
id_joueur est de type INT et est une clé étrangère se rattachant à la table joueurs;
id_compet est de type INT et est une clé étrangère se rattachant à la table competitions;
nb_fautes est de type INT et donne le nombre de fautes directes faites durant le tournoi;
nb_gagnant est de type INT et donne le nombre de coups gagnants réalisés durant le tournoi;
aces est de type INT et donne le nombre de services gagnants non touchés par l'adversaire durant le tournoi;
la clé primaire de la table est constituée du couple des attributs id_joueur et id_compet.
6.
Écrire une requête permettant d'obtenir le nom et le prénom des joueurs et des joueuses ayant obtenu un nombre de coups gagnants strictement supérieur au nombre de fautes lors d'une compétition, la même personne pouvant apparaître plusieurs fois si elle a rempli ces conditions lors de plusieurs compétitions.
7.
Écrire une requête permettant d'obtenir le nom, le prénom des joueuses et le nom des compétitions auxquelles elles ont participé en 2023.
8.
On souhaite supprimer de la table joueurs la joueuse Emma Benard qui ne fait plus partie du club. Déterminer quelle précaution on doit prendre avant de pouvoir le faire. Justifier.
9.
Une joueuse du club, de prénom Agathe et de nom Turion, a participé au Tournoi de Blois en 2024, où elle a fait 14 fautes directes, réalisé 15 coups gagnants et servi 2 aces. Écrire les différentes requêtes, dans le bon ordre, permettant d'insérer cette joueuse et ses résultats dans la base, en choisissant pour identifiant pour la table joueurs la valeur 7 et pour la table competitions la valeur 7.

Corrigé
Corrigé proposé par AprenAI (non officiel)
1. Expliquer pourquoi l'attribut nom ne peut pas être choisi comme clé primaire.
Réponse : Une clé primaire doit identifier de façon unique chaque ligne d'une table. Or, plusieurs joueurs peuvent avoir le même nom (homonymes), comme c'est le cas dans la table avec les joueuses Elsa Benard et Emma Benard.
2. Écrire une requête permettant d'obtenir les noms et prénoms des joueuses du club.
Réponse : ```sql SELECT nom, prenom FROM joueurs WHERE genre = 2; ```
3. Écrire une requête permettant d'ajouter dans la table le joueur dont le prénom est Nathan et le nom est Gervais, en choisissant une valeur pour l'identifiant id cohérente avec le reste de la base.
Réponse : ```sql INSERT INTO joueurs (id, nom, prenom, genre) VALUES (6, 'Gervais', 'Nathan', 1); ```
4. Une faute de frappe s'est glissée dans le nom de la compétition d'identifiant 3. Écrire une requête permettant de corriger le nom en Open de Tours.
Réponse : ```sql UPDATE competitions SET nom = 'Open de Tours' WHERE id = 3; ```
5. Écrire une requête permettant d'obtenir la liste des noms des tournois, ainsi que leur année, en triant par année croissante.
Réponse : ```sql SELECT nom, annee FROM competitions ORDER BY annee ASC; ```
Les réponses des 4 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 A · Asie 2025 (jour 1) · Exercice 3 - Partie A : Bases de données relation… · Asie 2025 (jour 2) ›
Plus d’exercices de Bases de données relationnelles, SGBD et langage SQL
- Exercice 1 - Bases de données relationnelles et S… · Asie 2026 (jour 1)
- Exercice 2 - Partie A : Bases de données · Asie 2026 (jour 2)
- Exercice 3 - Partie A · Asie 2025 (jour 1)
- Exercice 3 - Partie A : Bases de données relation… · Asie 2025 (jour 2)
- Exercice 3 - Partie B · Asie 2024 (jour 1)
- Exercice 3 - Parties A et B · Asie 2024 (jour 2)
- Exercice 2 · Asie 2023 (jour 2)
- Exercice 2 · Asie 2022 (jour 1)
- Exercice 4 · Asie 2022 (jour 2)