Voici mes tables (Postgres) :

Une table Langue qui decrit differentes langues :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
CREATE TABLE Langue (
id SERIAL PRIMARY KEY,
intitule VARCHAR(30) NOT NULL
);
Une table qui fait reference à Langue, la "clée primaire" est la combinaison de 'id' et 'lang_id' :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
CREATE TABLE Domaine (
id CHAR(3) NOT NULL,
intitule VARCHAR(60) NOT NULL ,
lang_id INTEGER NOT NULL REFERENCES Langue(id) ON DELETE RESTRICT,
CONSTRAINT domaine_langue PRIMARY KEY (id, lang_id)
 );
Et attention une table "Groupe" qui veut faire reference à la "Langue" et à "domaine" :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
CREATE TABLE Groupe (
id CHAR(4) NOT NULL,
intitule VARCHAR(60) NOT NULL,
domaine CHAR(3) NOT NULL :evil:  :twisted:  ,
lang_id INTEGER NOT NULL REFERENCES Langue(id) ON DELETE RESTRICT,
);
Le probleme est au niveau des petits demons, impossible de faire une REFERENCES (Foreign key) sur "id" de "domaine" puisqu'il n'est pas unique ce qui est normal...
Comment pourrait-on faire ?
J'espere que mes explicatoins sont claires...
Merci


[Modéré par Stessy]
Modification du titre + ajout de TAG
Ajout de balises [code]

Prière de lire les règles du forum

Merci