Bonjour, je débute en sql, j'ai une question concernant les clés étrangères.
Voici mes relations :
Salle (NoSalle, Categorie, NbPlaces)

UE (CodeUE, NomUE, Formation, HC, HTD, HTP, HCRes, HTDRes, HTPRes)

Groupes (Groupe, Formation, Effectif)

Reservation (NoReservation, NoSalle, CodeUE, Groupe, Formation, Nature)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
CREATE TABLE UE ( CodeUE VARCHAR(8) PRIMARY KEY,
		NomUE VARCHAR2(40), 
                Formation VARCHAR2(40),
		HC NUMBER(5,2) ,
		HTD NUMBER(5,2) ,
		HTP NUMBER(5,2) ,
		HCRes NUMBER(5,2) DEFAULT 0,
                HTDRes NUMBER(5,2) DEFAULT 0,
                HTPRes NUMBER(5,2) DEFAULT 0
		);
Ici est ce que formation est une clé étrangère comme la clé de groupe est composé ? Devrais-je plûtot mettre:
Formation VARCHAR(40) REFERENCES Groupes(Formation)

De même :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
CREATE TABLE Reservation( NoReservation NUMBER(5,2) PRIMARY KEY,
                                         NoSalle VARCHAR(8) REFERENCES Salle(NoSalle),
                                         CodeUE VARCHAR(8) REFERENCES UE(CodeUE),
                                         Formation VARCHAR2(40),
                                         Groupe VARCHAR(8) ,
                                         Nature VARCHAR(8),
);
Dois-je mettre une référence a formation et groupe ?
Sachant que ma table Groupes ressemble à ça:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
        
CREATE TABLE Groupes( Groupe VARCHAR(8) ,
                      Formation VARCHAR(8),
                      constraint Groupe_Formation primary key (Groupe,Formation),
                      Effectif NUMBER(4)
                     );
Je vous remercie d'avance pour vos réponses