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

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

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)

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