foreign key originale sous postgreSQL

Le
Etienne SOBOLE
salut.

j'ai un site sur lequel on peut placer un commentaire sur des articles, des
photos, et quelques autre trucs.
j'ai donc
une table article
une table photo
et une table commentaire.

j'aimerai savoir s'il est possible de faire une clé etrangère qui permettrai
de lier un commentaire a un élément (que ce soit une photo ou un article) un
truc du genre

table commentaire (
"idcomment" serial,
"description" text,
"tableobjet" text ???,
"idelement" integer;
foreign key (tableobjet, idelement) REFERENCES photo (idphoto) OR
article (idarticle)
)

enfin voila.
je me doute que c'est pas ca mais c'est ca l'idée !
y a un moyen sans en arrivé aux triggers.

Et avec les triggers ca donnerai quoi ?

merci
Etienne
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Patrick Mevzek
Le #21878801
Le Wed, 12 Dec 2007 22:35:08 +0100, Etienne SOBOLE a écrit:
table commentaire (
"idcomment" serial,
"description" text,
"tableobjet" text ???,
"idelement" integer;
foreign key (tableobjet, idelement) REFERENCES photo (idphoto) OR
article (idarticle)
)

enfin voila.



Non ce n'est pas possible tel quel.
Une des solutions est de créer une autre table, qui ne contient
que les ids des articles/photos avec un autre attribut qui donne le type
(articles ou photos).
Les ids des tables articles et photos référencent les clefs de cette table.
Et alors dans la table commentaire vous pouvez faire une référence propre
à 2 attributs vers cette table unique.

je me doute que c'est pas ca mais c'est ca l'idée !
y a un moyen sans en arrivé aux triggers.

Et avec les triggers ca donnerai quoi ?



Je passe mon tour pour le moment :-)

--
Patrick Mevzek . . . . . . . . . . . . . . Dot and Co
Dépêches sur le nommage
Publicité
Poster une réponse
Anonyme