Exercice 1 - Bases de données relationnelles et S… · Bac Numérique et Sciences Informatiques Amérique du Sud 2025 (jour 2)

Thème : Bases de données relationnelles, SGBD et langage SQL · Tiré du sujet Jour 2 (2025)

Énoncé

Exercice 1 (6 points)

Cet exercice porte sur les bases de données relationnelles, les requêtes SQL, la programmation en Python et la manipulation de listes.

Dans cet exercice, 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 et OR) et JOIN... ON;

construire des requêtes d'insertion et de mise à jour à l'aide de UPDATE, INSERT et DELETE;

affiner les recherches à l'aide de DISTINCT et ORDER BY.

Le but de cet exercice est d'établir une prédiction de la météo du jour en utilisant les observations du jour précédent de plusieurs stations météorologiques voisines.

Partie A

Une version simplifiée des observations peut être représentée sous forme de tables dont la description est donnée ci-dessous. Les clés primaires ont été soulignées et les clés étrangères sont indiquées par un #:

Dans cette partie, on considère les observations météorologiques de la Nouvelle Calédonie.

La table station contient l'identifiant idStat, le nom nom et les coordonnées géographiques de toutes les stations météorologiques.

La table observation contient l'identifiant idStat de l'observation, la date de l'observation date, la hauteur de précipitation precip, la force du vent forceVent, la direction du vent dirVent et la température temp heure par heure de toutes les stations.

1.

Donner le résultat de la requête ci-dessous en considérant les extraits de table fournis.

SELECT nom

FROM station

WHERE latitude = -22.276000 AND longitude = 166.452833

2.

Écrire une requête permettant d'obtenir le nom de toutes les stations météorologiques triées par ordre alphabétique.

En SQL, la fonction d'agrégation COUNT permet de compter le nombre d'enregistrements dans une table.

Pour connaître le nombre de lignes totales dans une colonne, la syntaxe est la suivante:

SELECT COUNT(nom_colonne)

FROM table

Par exemple pour compter le nombre de stations météorologiques de la Nouvelle Calédonie, la requête est la suivante:

SELECT COUNT(idStat)

FROM station

Dans la table observation, les relevés météorologiques sont effectués au même moment pour toutes les stations (date identique). Ainsi, chaque station a le même nombre de relevés.

3.

Écrire une requête permettant d'obtenir la force et la direction du vent à BOURAKE le 2 janvier 2023 à 14h.

4.

Écrire une requête permettant d'obtenir le nombre total de relevés en Nouvelle Calédonie.

On souhaite regrouper toutes les informations dans une seule table meteo.

5.

Écrire le schéma relationnel de la table meteo en supprimant les données hauteur, precip, forceVent et dirVent.

Énoncé: Exercice 1 - Bases de données relationnelles et S… · Bac Numérique et Sciences Informatiques Amérique du Sud 2025 (jour 2)

Corrigé

Corrigé proposé par AprenAI (non officiel)

1. Donner le résultat de la requête ci-dessous en considérant les extraits de table fournis.

Réponse : NOUMEA

2. Écrire une requête permettant d'obtenir le nom de toutes les stations météorologiques triées par ordre alphabétique.

Réponse : ```sql SELECT nom FROM station ORDER BY nom; ```

3. Écrire une requête permettant d'obtenir la force et la direction du vent à BOURAKE le 2 janvier 2023 à 14h.

Réponse : ```sql SELECT forceVent, dirVent FROM observation JOIN station ON observation.idStat = station.idStat WHERE nom = 'BOURAKE' AND date = '2023010214'; ```

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 1 - Partie A · Amérique du Sud 2025 (jour 1) · Exercice 1 - Partie B · Amérique du Sud 2023 (jour 1) ›

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