Aller au contenu

Contenu des relations de la base de données du zoo⚓︎

Table animal⚓︎

id_animal nom age taille poids nom_espece
145 Romy 18 2.3 130 tigre du Bengale
52 Boris 30 1.10 48 bonobo
... ... ... ... ... ...
225 Hervé 10 2.4 130 lama
404 Moris 6 1.70 100 panda
678 LĂ©on 4 0.30 1 varan

Table enclos⚓︎

num_enclos ecosysteme surface struct date_entretien
40 banquise 50 bassin 04/12/2024
18 forêt tropicale 200 vitré 05/12/2024
... ... ... ... ...
24 savane 300 clĂ´ture 04/12/2024
68 désert 2 vivarium 05/12/2024

Table espece⚓︎

nom_espece classe alimentation num_enclos
impala mammifères herbivore 15
ara de Buffon oiseaux granivore 77
... ... ... ...
tigre du Bengale mammifères carnivore 18
caĂŻman reptiles carnivore 45
manchot empereur oiseaux carnivore 40

Schéma relationnel⚓︎

  1. Écrire le schéma relationnel de cette base en indiquant les clés primaires en les soulignant et en indiquant les clés étrangère en les précédant d'un #.

  2. Qu'impose les contraintes d'intégrité sur la modification ou suppression des clés primaires ?

Questions SQL sur la consultation de la base⚓︎

Questions sans jointure⚓︎

  1. Lister les noms et les âges de tous les animaux.
RĂ©ponse
SQL
SELECT nom, age FROM animal;
  1. Trouver les enclos ayant une surface supérieure à 100 m².
RĂ©ponse
SQL
SELECT * FROM enclos WHERE surface > 100;
  1. Afficher tous les noms d'espèces appartenant à la classe "mammifères".
RĂ©ponse
SQL
SELECT nom_espece FROM espece WHERE classe = 'mammifères';
  1. Afficher les informations sur les enclos entretenus le 04/12/2024.
RĂ©ponse
SQL
SELECT * FROM enclos WHERE date_entretien = '2024-12-04';
  1. Trouver les noms des animaux pesant plus de 50 kg.
RĂ©ponse
SQL
SELECT nom FROM animal WHERE poids > 50;

Questions avec jointure⚓︎

  1. Afficher le nom des animaux et l'écosystème de leur enclos.
RĂ©ponse
SQL
SELECT animal.nom, enclos.ecosysteme
FROM animal
JOIN espece ON animal.nom_espece = espece.nom_espece
JOIN enclos ON espece.num_enclos = enclos.num_enclos;
  1. Lister les espèces carnivores et les types de structure de leurs enclos.
RĂ©ponse
SQL
SELECT espece.nom_espece, enclos.struct
FROM espece
JOIN enclos ON espece.num_enclos = enclos.num_enclos
WHERE espece.alimentation = 'carnivore';
  1. Trouver les noms et poids des animaux vivant dans la "forĂŞt tropicale".
RĂ©ponse
SQL
SELECT animal.nom, animal.poids
FROM animal
JOIN espece ON animal.nom_espece = espece.nom_espece
JOIN enclos ON espece.num_enclos = enclos.num_enclos
WHERE enclos.ecosysteme = 'forĂŞt tropicale';
  1. Afficher les noms d'animaux et leurs classes taxonomiques.
RĂ©ponse
SQL
SELECT animal.nom, espece.classe
FROM animal
JOIN espece ON animal.nom_espece = espece.nom_espece;
  1. Lister les enclos avec leur surface et les espèces qu'ils abritent.
RĂ©ponse
SQL
SELECT enclos.num_enclos, enclos.surface, espece.nom_espece
FROM enclos
JOIN espece ON enclos.num_enclos = espece.num_enclos;

Ecrire ici le code SQL, puis l'exécuter, en ayant chargé le code des relations nécessaires⚓︎



La relation livres avec les auteurs:⚓︎