Exercice 3 - Partie A · Bac Numérique et Sciences Informatiques Asie 2025 (jour 1)
Thème : Bases de données relationnelles, SGBD et langage SQL · Tiré du sujet Jour 1 (2025)
Énoncé
EXERCICE 3 (8 points)
Cet exercice porte sur les dictionnaires et leurs algorithmes associés, le traitement de données en table, la sécurisation des communications et la programmation en général.
Lorsque l'énoncé demande la manipulation de la structure de données abstraites liste, on utilisera les list en Python avec la méthode append.
Un club de judo souhaite développer un système d'informations pour faciliter les traitements administratifs en cours d'année (inscriptions, communication, compétitions...).
Cet exercice comporte 2 parties indépendantes.
Partie A
On pourra utiliser les mots du langage SQL suivants: SELECT, FROM, WHERE, JOIN ON, INSERT INTO, VALUES, COUNT, DELETE.
Le club de Judo souhaite proposer à ses adhérents une location de kimonos. Pour cela, il décide de mettre en place une base de données contenant les relations adherent, kimono et location.
Le schéma relationnel, où les clés primaires sont soulignées et les clés étrangères sont précédées du symbole #, est le suivant:
adherent( numero-licence, taille-adherent, nom, prenom)
kimono( id-kimono, taille-kimono)
location( #numero-licence, #id-kimono, debut, fin) L'attribut id-kimono est un nombre entier. Les attributs taille-adherent et taille-kimono sont des nombres entiers dont l'unité est le centimètre et qui sont tous multiples de 10 (100, 110, 120, 130,...).
Les attributs debut et fin sont des dates au format chaîne de caractères 'AAAA-MM-JJ'. Tous les attributs doivent être renseignés et valides mais l'attribut fin peut éventuellement être égal à la chaîne de caractères vide '' pour les kimonos en cours de location.
On rappelle qu'en langage SQL la fonction d'agrégation COUNT permet de compter un nombre d'enregistrements. Par exemple, pour déterminer le nombre d'adhérents du club, on peut utiliser la requête suivante:
SELECT COUNT(numero-licence) FROM adherent
Partie A
On pourra utiliser les mots du langage SQL suivants: SELECT, FROM, WHERE, JOIN ON, INSERT INTO, VALUES, COUNT, DELETE.
Le club de Judo souhaite proposer à ses adhérents une location de kimonos. Pour cela, il décide de mettre en place une base de données contenant les relations adherent, kimono et location.
Le schéma relationnel, où les clés primaires sont soulignées et les clés étrangères sont précédées du symbole #, est le suivant:
adherent( numero-licence, taille-adherent, nom, prenom)
kimono( id-kimono, taille-kimono)
location( #numero-licence, #id-kimono, debut, fin)
L'attribut id-kimono est un nombre entier. Les attributs taille-adherent et taille-kimono sont des nombres entiers dont l'unité est le centimètre et qui sont tous multiples de 10 (100, 110, 120, 130,...).
Les attributs debut et fin sont des dates au format chaîne de caractères 'AAAA-MM-JJ'. Tous les attributs doivent être renseignés et valides mais l'attribut fin peut éventuellement être égal à la chaîne de caractères vide '' pour les kimonos en cours de location.
On rappelle qu'en langage SQL la fonction d'agrégation COUNT permet de compter un nombre d'enregistrements. Par exemple, pour déterminer le nombre d'adhérents du club, on peut utiliser la requête suivante:
SELECT COUNT(numero-licence) FROM adherent
1.
Écrire une requête SQL permettant de connaître le numéro des kimonos en cours de location.
2.
Écrire une requête SQL permettant de connaître le nombre de kimonos de taille 130 cm possédés par le club.
3.
Écrire la requête SQL permettant de connaître le nom et le prénom de l'adhérent qui possède le kimono 42 uniquement si ce kimono est en cours de location. Cette requête ne doit renvoyer que le nom et le prénom de l'adhérent à qui il est actuellement loué et pas celui de tous ceux qui l'ont éventuellement loué par le passé.
Dans une requête SQL, il est possible de modifier un attribut entier avec une expression du type a = a + 5.
4.
À la fin de l'année, pour anticiper les locations de l'année à venir, le club de judo modifie arbitrairement la taille de tous ses adhérents mesurant strictement moins de 160 cm en leur rajoutant 10 cm. Écrire une requête SQL permettant de réaliser cette opération.
5.
Le kimono numéro 25 a été déchiré lors d'un combat. Écrire les requêtes SQL permettant de le supprimer de la base de données.

Corrigé
Corrigé proposé par AprenAI (non officiel)
1. Écrire une requête SQL permettant de connaître le numéro des kimonos en cours de location.
Réponse : ```sql SELECT id-kimono FROM location WHERE fin = ''; ```
2. Écrire une requête SQL permettant de connaître le nombre de kimonos de taille 130 cm possédés par le club.
Réponse : ```sql SELECT COUNT(*) FROM kimono WHERE taille-kimono = 130; ```
3. Écrire la requête SQL permettant de connaître le nom et le prénom de l'adhérent qui possède le kimono 42 uniquement si ce kimono est en cours de location.
Réponse : ```sql SELECT nom, prenom FROM adherent JOIN location ON adherent.numero-licence = location.numero-licence WHERE location.id-kimono = 42 AND location.fin = ''; ```
Les réponses des 2 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 2 - Partie A : Bases de données · Asie 2026 (jour 2) · Exercice 1 · Asie jour 1 - Remplacement 2025 ›
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 1 · Asie jour 1 - Remplacement 2025
- 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)