Exercice 1 · Bac Numérique et Sciences Informatiques Centres étrangers (Afrique) 2025 (jour 2)

Thème : Bases de données relationnelles, SGBD et langage SQL · Tiré du sujet Jour 2 (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 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 #).

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

Ci-dessous 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

4.

Modifier la requête précédente afin d'éviter les éventuels doublons.

5.

É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.

6.

É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.

7.

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

8.

É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

9.

Écrire une requête SQL permettant d'obtenir la liste des identifiants de matchs auxquels a participé l'équipe ayant pour identifiant 12.

10.

É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.

11.

É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.

Énoncé: Exercice 1 · Bac Numérique et Sciences Informatiques Centres étrangers (Afrique) 2025 (jour 2)

Corrigé

Corrigé proposé par AprenAI (non officiel)

1. Expliquer, dans les relations précédentes, le rôle des clés primaires.

Réponse : Une clé primaire permet d'identifier de manière unique chaque enregistrement (ou ligne/tuple) dans une table.

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.

Réponse : On n'aurait pas pu enregistrer plusieurs rencontres opposant les deux mêmes équipes (par exemple une phase de poules et une phase finale, ou un match aller et un match retour).

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

Réponse : Henri, Laure, Brigitte, Laure

4. Modifier la requête précédente afin d'éviter les éventuels doublons.

Réponse : ```sql SELECT DISTINCT prenom FROM joueur WHERE ann_naiss < 1985; ```

5. É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.

Réponse : ```sql SELECT nom, ann_naiss, num_port FROM joueur WHERE commune = 'Bois-Plage'; ```

6. Écrire une requête SQL permettant d'obtenir le nom et le prénom du joueur j_1 de l'équipe « Les Kangourous ».

Réponse : ```sql SELECT joueur.nom, joueur.prenom FROM joueur JOIN equipe ON joueur.id_joueur = equipe.j_1 WHERE equipe.nom = 'Les Kangourous'; ```

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 - Bases de données relationnelles · Centres étrangers (Afrique) 2025 (jour 1) · Exercice 3 - Partie A · Centres étrangers (Afrique) 2024 (jour 1) ›

Plus d’exercices de Bases de données relationnelles, SGBD et langage SQL