Exercice 1 Centres étrangers – Bac NSI 2025 – Jour 2

🔥🔥🔥🔥🔥
Cet exercice porte sur les bases de données relationnelles et les requêtes SQL.
La ville de Bois-Plage a décidé d'organiser, pendant un mois de juillet, un tournoi sportif de volley-ball par équipes de 4. Elle met à disposition des personnes intéressées un site d'inscription en ligne qui utilise un système de gestion de base de données.

mots clés: BDD, SQL

🔎 Voir les exercices similaires ↓

📘 Sujet PDF

Centres étrangers – Bac NSI 2025 – Jour 2 Énoncé de l'exercice 1

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 et OR) et JOIN ... ON ;

  • construire des requêtes d’insertion et de mise à jour à l’aide de UPDATE, INSERT et DELETE ;

  • affiner les recherches à l’aide de DISTINCT et ORDER BY.

La ville de Bois-Plage a décidé d’organiser, pendant un mois de juillet, un tournoi sportif de volley-ball par équipes de 4. Elle met à disposition des personnes intéressées un site d’inscription en ligne qui utilise un système de gestion de base de données.

Le schéma de la base de données utilisée est donné ci-dessous, en figure 1. Sur ce schéma, les clés primaires ont été soulignées et les clés étrangères indiquées par un croisillon (symbole #).

Figure 1. Schéma de la base de données
Figure 1. Schéma de la base de données

À la clôture des inscriptions, de nombreuses équipes sont inscrites.

Sur la page suivante sont présentés des extraits des tables joueur et equipe obtenues à l’issue de la phase d’inscription.

joueur
id_joueur nom prenom ann_naiss commune num_port
25 Leclerc Océane 2008 Bois-Plage 0660358945
26 Renault Henri 1971 Guilland 0625597427
27 Desousa Laure 1980 Bois-Plage 0746881113
28 Hernand Yves 1986 Lebrundan 0739401689
29 Giraud Brigitte 1972 Saint-Adrien 0651936319
30 Barbier Laure 1979 Bois-Plage 0787028125
equipe
id_equipe nom j_1 j_2 j_3 j_4 points
8 Les Mr Freeze 7 12 5 33 0
9 Tagadas Winners 45 23 67 65 0
10 Volley Warriors 25 27 30 35 0
11 Les Piafs 37 32 41 28 0
  1. Expliquer, dans les relations précédentes, le rôle des clés primaires.

  2. Expliquer quelles données n’auraient pas pu être stockées dans la table match si le champ id_match n’avait pas été introduit dans cette table.

  3. Donner le résultat de la requête suivante en l’appliquant à l’extrait de la table joueur donné dans l’énoncé.

SELECT prenom FROM joueur WHERE ann_naiss < 1985
  1. Modifier la requête précédente afin d’éviter les éventuels doublons.

  2. Écrire une requête SQL permettant d’obtenir tous les noms, années de naissance et numéros de téléphone portable des personnes qui habitent à Bois-Plage.

L’organisateur souhaite obtenir l’identité du premier joueur de l’équipe “les Kangourous”. L’équipe “Les Kangourous” n’apparaît pas dans l’extrait.

  1. Écrire une requête SQL permettant d’obtenir le nom et le prénom du joueur j_1 de l’équipe “Les Kangourous”.

L’équipe “Volley Warriors” a terminé le tournoi avec un total de 5 points.

  1. Écrire une requête SQL permettant de mettre à jour la table equipe avec le nombre de points gagnés par l’équipe “Volley Warriors”.

  2. Écrire une requête SQL permettant de supprimer de la table joueur le joueur ayant pour identifiant le numéro 35.

À la clôture du tournoi, la table match est totalement complétée. Un extrait de cette table est donné ci-dessous.

match
id_match eq_1 eq_2 eq_gagnante score
32 3 8 8 25-20
33 3 9 3 25-15
34 3 10 10 25-7
  1. Écrire une requête SQL permettant d’obtenir la liste des identifiants de matchs auxquels a participé l’équipe ayant pour identifiant 12.

  2. Écrire une requête SQL permettant d’obtenir la liste des identifiants des matchs pour lesquels le joueur 1 de l’équipe 1 du match vient de la commune de Bois-Plage.

  3. Écrire une requête SQL permettant d’obtenir la liste, classée par ordre alphabétique, des noms et prénoms des joueurs ayant gagné au moins un match en tant que joueur 1 de l’équipe 1 du match.

▶✅ Correction (cliquer pour afficher) PDF

Centres étrangers – Bac NSI 2025 – Jour 2 Correction de l'exercice 1

Question 1

Les clés primaires permettent d’identifier de manière unique chaque enregistrement d’une table.

Question 2

Sans id_match, il ne serait pas possible de distinguer deux matchs identiques opposant les mêmes équipes avec le même score.

Question 3

Henri, Laure, Brigitte, Laure

Question 4

SELECT DISTINCT prenom FROM joueur WHERE ann_naiss < 1985

Question 5

SELECT nom, ann_naiss, num_port FROM joueur WHERE commune = 'Bois-Plage'

Question 6

SELECT joueur.nom, joueur.prenom
FROM joueur
JOIN equipe ON joueur.id_joueur = equipe.j_1
WHERE equipe.nom = 'Les Kangourous'

Question 7

UPDATE equipe SET points = 5 WHERE nom = 'Volley Warriors'

Question 8

DELETE FROM joueur WHERE id_joueur = 35

Question 9

SELECT id_match FROM match
WHERE eq_1 = 12 OR eq_2 = 12

Question 10

SELECT m.id_match FROM match m
JOIN equipe e ON m.eq_1 = e.id_equipe
JOIN joueur j ON e.j_1 = j.id_joueur
WHERE j.commune = 'Bois-Plage'

Question 11

SELECT DISTINCT joueur.nom, joueur.prenom
FROM match
JOIN equipe ON match.eq_1 = equipe.id_equipe
JOIN joueur ON equipe.j_1 = joueur.id_joueur
WHERE match.eq_gagnante = match.eq_1
ORDER BY joueur.nom, joueur.prenom;

Une erreur, un oubli ? Écrivez-moi : frederic.peuriere@lfcl.pt

💻 Console Python (cliquer pour afficher)

🔎 Exercices sur des thèmes similaires