Exercice 4 · Bac Numérique et Sciences Informatiques Centres étrangers (Afrique) 2021 (jour 2)
Thème : Bases de données relationnelles, SGBD et langage SQL · Tiré du sujet Jour 2 (2021)
Énoncé
Exercice 4 — Gestion d'un club de handball
Un club de handball souhaite regrouper efficacement toutes ses informations. Il utilise pour cela des bases de données relationnelles afin d'avoir accès aux informations classiques sur les licenciés du club ainsi que sur les matchs du championnat. Le langage SQL a été retenu.
On suppose dans l'exercice que tous les joueurs d'une équipe jouent à chaque match de l'équipe.
La structure de la base de données est composée des deux tables (ou relations) suivantes:
Table licencies
Attributs · Types
id_licencie · INT
prenom · VARCHAR
nom · VARCHAR
annee_naissance · INT
equipe · VARCHAR
Table matchs
Attributs · Types
id_matchs · INT
equipe · VARCHAR
adversaire · VARCHAR
lieu · VARCHAR
date · DATE
Ci-dessous un exemple de ce que l'on peut trouver dans la base de données:
Exemple non exhaustif d'entrées de la table licencies:
id_licencie · prenom · nom · annee_naissance · equipe
63 · Jean-Pierre · Masclef · 1965 · Vétérans
102 · Eva · Cujon · 1992 · Femmes 1
125 · Emile · Alinio · 2000 · Hommes 2
247 · Ulysse · Trentain · 2008 · -12 ans
Exemple non exhaustif d'entrées de la table matchs:
id_match · equipe · adversaire · lieu · date
746 · -16 ans · PHC · Domicile · 2021-06-19
780 · Vétérans · PHC · Exterieur · 2021-06-26
936 · Hommes 3 · LSC · Exterieur · 2021-06-20
1032 · -19 ans · LOH · Exterieur · 2021-05-22
1485 · Femmes 2 · CHM · Domicile · 2021-05-02
1512 · Vétérans · ATC · Domicile · 2021-04-12
1.
1.a.
L'attribut nom de la table licencies pourrait-il servir de clé primaire ? Justifier.
1.b.
Citer un autre attribut de cette table qui pourrait servir de clé primaire.
2.
2.a.
Expliquer ce que renvoie la requête SQL suivante:
SELECT prenom, nom FROM licencies WHERE equipe = "-12ans"
2.b.
Que renvoie la requête précédente si prenom, nom est remplacé par une étoile ( *) ?
2.c.
Écrire la requête qui permet l'affichage des dates de tous les matchs joués à domicile de l'équipe Vétérans.
3. Écrire la requête qui permet d'inscrire dans la table licencies, Jean Lavenu né en 2001 de l'équipe Hommes 2 et qui aura comme numéro de licence 287 dans ce club.
4. On souhaite mettre à jour les données de la table licencies du joueur Joseph Cuviller, déjà inscrit. Il était en équipe Hommes 2 et il est maintenant en équipe Vétérans. Afin de modifier la table dans ce sens, proposer la requête adéquate.
5. Pour obtenir le nom de tous les licenciés qui jouent contre le LSC le 19 juin 2021, recopier et compléter la requête suivante:
SELECT nom FROM licencies
JOIN Matchs ON licencies.equipe = matchs.equipe
WHERE.......................................;

Corrigé
Corrigé proposé par AprenAI (non officiel)
1.a. L'attribut nom de la table licencies pourrait-il servir de clé primaire ? Justifier.
Réponse : Non, car deux licenciés peuvent porter le même nom de famille (homonymes). Une clé primaire doit être unique pour chaque enregistrement.
1.b. Citer un autre attribut de cette table qui pourrait servir de clé primaire.
Réponse : id_licencie
2.a. Expliquer ce que renvoie la requête SQL suivante : SELECT prenom, nom FROM licencies WHERE equipe ="-12ans"
Réponse : Elle renvoie le prénom et le nom de tous les licenciés appartenant à l'équipe "-12ans".
2.b. Que renvoie la requête précédente si prenom, nom est remplacé par une étoile (*) ?
Réponse : Elle renvoie tous les attributs (id_licencie, prenom, nom, annee_naissance, equipe) de tous les licenciés de l'équipe "-12ans".
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 · Centres étrangers (Afrique) 2022 (jour 2)