Exercice 2 - Partie A · Bac Numérique et Sciences Informatiques Polynésie 2025 (jour 2)

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

Énoncé

EXERCICE 2 (6 points)

Cet exercice porte sur la programmation Python, la programmation orientée objet, les bases de données relationnelles et les requêtes SQL.

Cet exercice est composé de deux parties indépendantes.

Partie A

Dans cette partie, nous allons utiliser une base de données sur les champignons. Le tableau ci-dessous nous donne un extrait du résultat obtenu, après avoir effectué la requête suivante:

SELECT * FROM champignon; id · nom · id_ordre · lamelle · couleur · chapeau_min · chapeau_max · pied_min · pied_max

1 · champignon de Paris · 1 · oui · blanc · 4 · 10 · 2 · 5

2 · champignon noir · 2 · non · noir · 2 · 10 · 0 · 0

3 · coprin chevelu · 1 · oui · blanc · 5 · 20 · 10 · 40

4 · bolet à pied rouge · 3 · non · jaune · 7 · 19 · 5 · 15

5 · amanite des Césars · 4 · oui · orange · 8 · 20 · 8 · 15

Les attributs nom, lamelle et couleur sont des chaines de caractères. La taille du chapeau et la longueur du pied des champignons sont des nombres exprimés en centimètres.

1.

Mathilde vient de trouver un champignon avec des lamelles et de couleur orange. Écrire la requête qu'elle doit écrire pour avoir la liste des noms des champignons possibles pour sa trouvaille.

2.

Par ailleurs, Romain a trouvé un champignon sans pied et un chapeau de 15 cm. Écrire la requête qu'il doit écrire pour avoir la liste des noms des champignons possibles pour son spécimen.

Les champignons sont classés selon différents ordres selon la table ordre suivante où l'on trouve également la classe à laquelle appartient chaque ordre. Voici le contenu de la table ordre.

table ordre

id

nom

classe

1 · agaricales · agaricomycètes

2 · trémellales · phragmabasidiomycètes

3 · bolétales · agaricomycètes

4 · amanitales · agaricomycètes

5 · cantharellales · agaricomycètes

6 · polyporales · basidiomycètes

7 · clavariales · homobasidiomycètes

8 · tricholomatales · agaricomycètes

3.

Donner la clé étrangère de la table champignon faisant référence à la clé primaire id de la table ordre.

4.

Écrire la requête permettant d'obtenir la liste des noms des champignons appartenant à la classe des agaricomycètes.

Le champignon nommé amanite solitaire est un champignon blanc qui appartient à l'ordre des amanitales. Il possède des lamelles. Son chapeau mesure entre 6 et 20 cm et son pied entre 4 et 10 cm.

5.

Écrire une requête permettant d'ajouter ce champignon avec l' id 56 dans la table champignon.

On décide d'ajouter les différentes toxicités des champignons en ajoutant un attribut id_toxicite dans la relation champignon et une table toxicite. Voici le contenu de la table toxicite:

id_tox

type

effets

1 · très toxique · Entrainant la mort

2 · toxique · Entrainant des problèmes digestifs ou nerveux

3 · à rejeter · Champignons suspects ou ayant un mauvais gout

4 · comestible · Champignons pouvant être consommés

6.

Écrire le schéma relationnel de la base de données contenant ces trois tables en soulignant les clés primaires et en faisant précéder les clés étrangères du caractère #.

Une erreur s'est glissée dans cette table: le champignon de nom amanite citrine est très toxique car son ingestion peut entrainer la mort.

7.

Écrire la requête permettant de corriger cette erreur dans la table champignon.

8.

Écrire une requête permettant d'obtenir les noms des champignons de l'ordre des amanitales de toxicité très toxique.

Énoncé: Exercice 2 - Partie A · Bac Numérique et Sciences Informatiques Polynésie 2025 (jour 2)

Corrigé

Corrigé proposé par AprenAI (non officiel)

1. Mathilde vient de trouver un champignon avec des lamelles et de couleur orange. Écrire la requête qu'elle doit écrire pour avoir la liste des noms des champignons possibles pour sa trouvaille.

Réponse : ```sql SELECT nom FROM champignon WHERE lamelle = 'oui' AND couleur = 'orange'; ```

2. Par ailleurs, Romain a trouvé un champignon sans pied et un chapeau de 15 cm. Écrire la requête qu'il doit écrire pour avoir la liste des noms des champignons possibles pour son spécimen.

Réponse : ```sql SELECT nom FROM champignon WHERE pied_max = 0 AND chapeau_min <= 15 AND chapeau_max >= 15; ```

3. Donner la clé étrangère de la table champignon faisant référence à la clé primaire id de la table ordre.

Réponse : id_ordre

4. Écrire la requête permettant d'obtenir la liste des noms des champignons appartenant à la classe des agaricomycètes.

Réponse : ```sql SELECT champignon.nom FROM champignon JOIN ordre ON champignon.id_ordre = ordre.id WHERE ordre.classe = 'agaricomycètes'; ```

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 3 - Bases de données relationnelles et SQL · Polynésie 2025 (jour 1) · Exercice 3 - Partie B : Bases de données et SQL · Polynésie 2024 (jour 1) ›

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