Exercice 4 · Bac Numérique et Sciences Informatiques Centres étrangers (Afrique) 2022 (jour 1)

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

Énoncé

EXERCICE 4 (4 points)

Cet exercice porte sur les bases de données relationnelles et le langage SQL.

Dans le cadre d'une étude sur le réchauffement climatique, un centre météorologique rassemble des données. On considère que la base de données contient deux relations (tables). La relation Centres qui contient l'identifiant des centres météorologiques, la ville, la latitude, la longitude et l'altitude du centre. La relation Mesures qui contient l'identifiant de la mesure, l'identifiant du centre, la date de la mesure, la température, la pression et la pluviométrie mesurées.

Schémas relationnels

Centres(id_centre: INT, nom_ville: VARCHAR, latitude: FLOAT, longitude: FLOAT, altitude: FLOAT)

Mesures(id_mesure: INT, id_centre: INT, date: DATE, temperature: FLOAT, pression: INT, pluviometrie: FLOAT)

Relation Centres

id_centre

nom_ville

latitude

longitude

altitude

213 · Amiens · 49.894 · 2.293 · 60

138 · Grenoble · 45.185 · 5.723 · 550

263 · Brest · 48.388 · -4.49 · 52

185 · Tignes · 45.469 · 6.909 · 2594

459 · Nice · 43.706 · 7.262 · 260

126 · Le Puy-en-Velay · 45.042 · 3.888 · 744

317 · Gérardmer · 48.073 · 6.879 · 855

Relation Mesures

id_mesure

id_centre

date

temperature

pression

pluviometrie

1566 · 138 · 2021-10-29 · 8.0 · 1015 · 3

1568 · 213 · 2021-10-29 · 15.1 · 1011 · 0

2174 · 126 · 2021-10-30 · 18.2 · 1023 · 0

2200 · 185 · 2021-10-30 · 5.6 · 989 · 20

2232 · 459 · 2021-10-31 · 25.0 · 1035 · 0

2514 · 213 · 2021-10-31 · 17.4 · 1020 · 0

2563 · 126 · 2021-11-01 · 10.1 · 1005 · 15

2592 · 459 · 2021-11-01 · 23.3 · 1028 · 2

3425 · 317 · 2021-11-02 · 9.0 · 1012 · 13

3430 · 138 · 2021-11-02 · 7.5 · 996 · 16

3611 · 263 · 2021-11-03 · 13.9 · 1005 · 8

3625 · 126 · 2021-11-03 · 10.8 · 1008 · 8

1.

a.

Proposer une clé primaire pour la relation Mesures. Justifier votre choix.

b.

Avec quel attribut peut-on faire une jointure entre la relation Centres et la relation Mesures ?

2.

a.

Qu'affiche la requête suivante ?

SELECT * FROM Centres WHERE altitude>500;

b.

On souhaite récupérer le nom de la ville des centres météorologiques situés à une altitude comprise entre 700m et 1200m. Écrire la requête SQL correspondante.

c.

On souhaite récupérer la liste des longitudes et des noms des villes des centres météorologiques dont la longitude est supérieure à 5. La liste devra être triée par ordre alphabétique des noms de ville. Écrire la requête SQL correspondante.

3.

a.

Qu'affiche la requête suivante ?

SELECT * FROM Mesures WHERE date="2021-10-30";

b.

Écrire une requête SQL permettant d'ajouter une mesure prise le 8 novembre 2021 dans le centre numéro 138, où la température était de 11°C, la pression de 1013 hPa et la pluviométrie de 0mm. La donnée dont l'attribut est id_mesure aura pour valeur 3650.

4.

a.

Expliquer ce que renvoie la requête SQL suivante ?

SELECT * FROM Centres WHERE latitude = (SELECT MIN(latitude) FROM Centres);

b.

Écrire une requête SQL donnant la liste des villes dans lesquelles on a enregistré une température inférieure à 10°C en octobre 2021. On utilisera le mot clé DISTINCT afin d'éviter d'avoir des doublons. On rappelle que l'on peut utiliser les opérateurs de comparaison avec les dates.

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

Corrigé

Corrigé proposé par AprenAI (non officiel)

1. a. Proposer une clé primaire pour la relation Mesures. Justifier votre choix.

Réponse : id_mesure

1. b. Avec quel attribut peut-on faire une jointure entre la relation Centres et la relation Mesures ?

Réponse : id_centre

2. a. Qu'affiche la requête suivante ? SELECT * FROM Centres WHERE altitude>500;

Réponse : Elle affiche l'ensemble des enregistrements (tous les attributs) de la table Centres pour les centres dont l'altitude est strictement supérieure à 500 m : Grenoble (550), Tignes (2594), Le Puy-en-Velay (744) et Gérardmer (855).

2. b. On souhaite récupérer le nom de la ville des centres météorologiques situés à une altitude comprise entre 700m et 1200m. Ecrire la requête SQL correspondante.

Réponse : ```sql SELECT nom_ville FROM Centres WHERE altitude >= 700 AND altitude <= 1200; ``` ```sql SELECT nom_ville FROM Centres WHERE altitude BETWEEN 700 AND 1200; ```

2. c. On souhaite récupérer la liste des longitudes et des noms des villes des centres météorologiques dont la longitude est supérieure à 5. La liste devra être triée par ordre alphabétique des noms de ville. Ecrire la requête SQL correspondante.

Réponse : ```sql SELECT longitude, nom_ville FROM Centres WHERE longitude > 5 ORDER BY nom_ville ASC; ```

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 2 · Centres étrangers (Afrique) 2023 (jour 2) · Exercice 3 · Centres étrangers (Afrique) 2022 (jour 2) ›

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