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;
    
  2. Trouver les enclos ayant une surface supérieure à 100 m².

    Réponse
    SQL
    SELECT * FROM enclos WHERE surface > 100;
    
  3. Afficher tous les noms d'espèces appartenant à la classe "mammifères".

    Réponse
    SQL
    SELECT nom_espece FROM espece WHERE classe = 'mammifères';
    
  4. Afficher les informations sur les enclos entretenus le 04/12/2024.

    Réponse
    SQL
    SELECT * FROM enclos WHERE date_entretien = '2024-12-04';
    
  5. Trouver les noms des animaux pesant plus de 50 kg.

    Réponse
    SQL
    SELECT nom FROM animal WHERE poids > 50;
    
    1. Trouver les noms des pandas.
    Réponse
    Text Only
    1
    2
    3
    ```sql
    SELECT nom FROM animal WHERE nom_espece = 'panda';
    ```
    

Questions avec jointure⚓︎

  1. Afficher le nom des animaux et l'écosystème de leur enclos.
Réponse
SQL
1
2
3
4
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
1
2
3
4
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
1
2
3
4
5
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
1
2
3
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
1
2
3
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:⚓︎