Exercice 3 - Bases de données relationnelles · Bac Numérique et Sciences Informatiques Centres étrangers (Afrique) 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 types de données construits (listes et dictionnaires), sur les arbres binaires de recherche et sur les bases de données
Un ballon-sonde (utilisé en météorologie et en astronautique) est un ballon à gaz libre utilisé pour faire des mesures locales dans l'atmosphère. Chaque mesure réalisée est horodatée et géolocalisée par GPS.
À la fin de leur vol, les radiosondes redescendent vers la terre, se posent « n’importe où » et sont « abandonnées » à leur sort. C’est pourquoi vous pouvez en trouver. Diane Delstar est une radio amatrice appartenant à un club de passionnés. Le club récupère les ballons équipés de leur radiosonde et répertorie toutes les infos de leur atterrissage sur la terre ferme dans une base de données consultable sur un site web (source: https://sondehub.org). Le programme, écrit par Diane, lui permet de récupérer les données relevées par les sondes. La variable enregistrement fait référence à un dictionnaire qui contient un ensemble de données pour une sonde.
Exemple:
enregistrement = {
'num_serie': 623, 'altitude': 1150.0,
'datetime': '2024-06-27T23:36:01.000000Z',
'latitude': 38.38825, 'longitude': 27.09004
}
Finalement, Diane, après avoir traité toutes les données issues des enregistrements des sondes, décide pour son site web d'exploiter une base de données SQL. Son objectif est de référencer toutes les radiosondes récupérées par les membres du club. La base de données simplifiée a pour nom: InventaireSondesRetrouvees.
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, OR), JOIN... ON;
construire des requêtes d'insertion et de mise à jour à l'aide de UPDATE, INSERT, DELETE;
affiner les recherches à l'aide de DISTINCT, ORDER BY.
InventaireSondesRetrouvees est composée de 3 relations dont des extraits sont donnés ci-dessous:
abonne
id_abonne
nom
prenom
32
'Détoile'
'Diane'
'D.Detoile@nsi.fr'
15
'Petit'
'Claire'
'P.Claire@nsi.fr'
24
'Girard'
'Antoine'
'A.Girard@nsi.fr'
16
'Lemoine'
'Martin'
'M.Lemoine@huit.fr'
sonde
num_serie
modele
constructeur
date_lancement
623
'RS41'
'Vaisala'
'2024-07-10'
500
'M10'
'Météomodem'
'2024-07-05'
900
'M20'
'Météomodem'
'2024-07-17'
480
'RS41'
'Vaisala'
'2024-06-20'
810
'WxR'
'Weathex'
'2024-06-05'
info_recuperation
ref
num_serie
id_abonne
date_recup
latitude
longitude
10
900
15
'2024-08-05'
47.999
2.549
11
500
24
'2024-07-06'
47.159
3.151
12
623
15
'2024-07-18'
47.257
11.974
13
810
32
'2024-06-10'
44.374
22.448
12.
Citer, en justifiant votre réponse, un attribut pouvant servir de clé primaire dans la relation abonne.
13.
Citer les attributs qui sont des clés étrangères dans la relation infos_recuperation.
14.
Écrire l'affichage que provoque l'exécution de la requête SQL ci-dessous sur les extraits de la base de données InventaireSondesRetrouvees:
SELECT nom, prenom FROM Abonnes WHERE id_abonne>20
La sonde de numéro de série 480 a été retrouvée par Antoine Girard le 2024-07-10 à la latitude 47.230 et la longitude 12.244.
15.
Écrire la requête SQL qui permet d'ajouter les données de récupération de la sonde 480 dans la relation InfosRecuperation. L'attribut ref doit prendre la valeur 14.
On souhaite afficher plusieurs renseignements sur les radiosondes récupérées.
16.
Écrire la requête SQL qui pour chaque sonde affiche le numéro de série, le nom de l'abonné, et la date de récupération.

Corrigé
Corrigé proposé par AprenAI (non officiel)
12. Citer un attribut pouvant servir de clé primaire dans la relation abonne.
Réponse : id_abonne / email
12. Justifier le choix de la clé primaire dans la relation abonne.
Réponse : Chaque valeur est unique et non nulle, ce qui permet d'identifier sans ambiguïté chaque tuple (abonné) de la relation.
13. Citer les attributs qui sont des clés étrangères dans la relation infos_recuperation.
Réponse : num_serie et id_abonne
Les réponses des 3 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 - Parties A et B · Centres étrangers (Afrique) 2026 (jour 2) · Exercice 1 · Centres étrangers (Afrique) 2025 (jour 2) ›
Plus d’exercices de Bases de données relationnelles, SGBD et langage SQL
- Exercice 3 - Bases de données relationnelles · Centres étrangers (Afrique) 2026 (jour 1)
- Exercice 2 - Parties A et B · Centres étrangers (Afrique) 2026 (jour 2)
- Exercice 1 · Centres étrangers (Afrique) 2025 (jour 2)
- Exercice 3 - Partie A · Centres étrangers (Afrique) 2024 (jour 1)
- Exercice 3 - Partie B · Centres étrangers (Afrique) 2024 (jour 2)
- Exercice 1 · Centres étrangers (Afrique) 2023 (jour 1)
- Exercice 2 · Centres étrangers (Afrique) 2023 (jour 2)
- Exercice 4 · Centres étrangers (Afrique) 2022 (jour 1)
- Exercice 3 · Centres étrangers (Afrique) 2022 (jour 2)
- Exercice 4 · Centres étrangers (Afrique) 2021 (jour 2)