references/ForeignKey sur 2 tables

From: Pierre Didelon <pdidelon(at)cea(dot)fr>
To: pgsql-fr-generale(at)postgresql(dot)org
Subject: references/ForeignKey sur 2 tables
Date: 2005-03-14 15:31:41
Message-ID: 4235AE5D.90807@cea.fr
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

Bonjour,

j'ai deux tables "image" et "spectre" qui sont deux listes de "produits"
et pour lesquelles j'ai une table annexe qui donne les conditions géomètriques
de prise de vue pour tous ces produits. J'aimerais que cette table annexe ait une
reference/foreignKey sur l'union de ces deux tables. Ce n'est (semble!?) pas possible
directement! J'ai essaye a travers une vue qui fait l'union des deux tables.

create view prodISS as
( select arkdir, filename from image union select arkdir, filename from spectraset);

mais

create table testProd ( arkdir varchar(245), filename varchar(245),
foreign key (arkdir,filename) references prodiss (arkdir,filename) ) ;

est interdit car ... ERROR: referenced relation "prodiss" is not a table

Y a t il un moyen de s'en sortir autre que par l'heritage?

En utilisant l'heritage je vois peut etre un moyen en créant une table générique
"produits" contenant la (ou les colonnes) utilisée(s) comme references/foreignKey
par la table contenant les conditions géomètriques (testProd dans l'example
ci dessus) et devant exister bien sur dans les deux tables filles, image
et spectre/spectraset qui en hérite! Mais est ce que ça fonctionne réellement,
je suis (pour l'instant en 7.3.2 :oops ) et la doc mentionne des limitations
quant aux index et foreignkey qui ne s'applique qu'aux tables individuelles
et pas à la filliation; et comme ma table "produits" ne contiendrait pas
réellement de 'rows' mais serviratit uniquement à décrire la partie commune
entre image et spectre, je crains que meme cette solution avec l'heritage
ne fonctionne pas :-(
...
mais peut être est ce mon cerveau qui ne marche pas ( ou pas assez bien ;-) )

avez vous une idée ou des conseils?
Merci d'avance.
--
Pierre Didelon

Browse pgsql-fr-generale by date

  From Date Subject
Next Message Pierre Didelon 2005-03-14 16:10:25 Re: references/ForeignKey sur 2 tables
Previous Message Stéphane Bunel 2005-03-10 15:03:34 Re: [pgsql-fr-generale] Comment retrouver la table à