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

email

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.

Énoncé: Exercice 3 - Bases de données relationnelles · Bac Numérique et Sciences Informatiques Centres étrangers (Afrique) 2025 (jour 1)

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