Bonjour à tous,

Étant débutant en la matière, j'aimerais savoir si ma table ANIMAL et mes requêtes SQL sont correctes

Voici mon schéma de relation d'une BDD simplifiée d'un parc animalier :
ANIMAL (id_a,nom_a, datenaiss_a, id_menu, id_endroit, race_fam, ori_fam)
ENFANT (id_enf, nom_enf,datenaiss_enf, id_a_pere,id_a_mere)
FAMILLE(race_fam,ori_fam)
ENDROIT (id_endroit, type_endroit, superf_endroit,nbmaxoccupant)
MENU (id_menu,quteviande_menu,qutelegume_menu)
J'ai créé la base: 'CREATE DATABASE PARC'

Et voici ma table 'ANIMAL':

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
CREATE TABLE ANIMAL
(
  id_a        CHAR(6)     NOT NULL PRIMARY KEY
, nom_a       VARCHAR(20) NOT NULL
, datenaiss_a DATE(10)    NOT NULL
, id_menu     CHAR(6)     NOT NULL REFERENCES MENU   (ID_MENU)
, id_endroit  CHAR(6)     NOT NULL REFERENCES ENDROIT(ID_ENDROIT)
, race_fam    VARCHAR 20) NOT NULL
, race_fam    VARCHAR(30) NOT NULL REFERENCES FAMILLE(RACE_FAM)
, ori_fam     VARCHAR(30) NOT NULL REFERENCES FAMILLE(ORI_FAM)
);
Je pense qu'elle est fausse car je n'ai pas intégré les clés étrangères id_e,race_fam et origine_fam mais je ne sais pas où inscrire "FOREIGN KEY" vu que j'ai déjà 'REFERENCES"

Et voici donc mes requêtes SQL:

Liste de tous les animaux qui sont parents et le nombre d'enfants qu'ils ont
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
SELECT nom_a
FROM ANIMAL
GROUP BY ENFANT
Liste des animaux dont les deux parents sont connus
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
SELECT id_a_pere,id_a_mere
FROM ENFANT
Moyenne de la qté de viande servie dans le menu des singes
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
SELECT AVG(quteviande_menu)
FROM MENU
WHERE FAMILLE='singe'

Merci par avance pour votre aide
Bonne journée
Gap