From: | Pierre Didelon <pdidelon(at)cea(dot)fr> |
---|---|
To: | Masse Jacques <jacques(dot)masse(at)bordeaux(dot)cemagref(dot)fr> |
Cc: | pgsql-fr-generale(at)postgresql(dot)org |
Subject: | Re: references/ForeignKey sur 2 tables |
Date: | 2005-03-14 16:10:25 |
Message-ID: | 4235B771.6040203@cea.fr |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-fr-generale |
Masse Jacques wrote:
> On pourrait utiliser une table commune (juste les cles primaires)
ce qui est référencé par la table annexe ce n'est pas les cles primaires
> qui est mise à jour par trigger lors d'un ajout dans chaque table.
> La table annexe etablit une relation vers cette table commune
mais hors cette considération ça devrait effectivement fonctionner.
Même s'il y a alors duplication des données entre la table commune
et les tables individuelles :-( mais bon tant pis ;-)
Merci!
Pierre
>
> Jacques Massé
> ________________________________________
> Diadfish: http://www.diadfish.org
> PostgreSQL : http://www.postgresqlfr.org
>
>
>
>
>
>>-----Message d'origine-----
>>De : pgsql-fr-generale-owner(at)postgresql(dot)org
>>[mailto:pgsql-fr-generale-owner(at)postgresql(dot)org]De la part de Pierre
>>Didelon
>>Envoyé : lundi 14 mars 2005 16:32
>>À : pgsql-fr-generale(at)postgresql(dot)org
>>Objet : [pgsql-fr-generale] references/ForeignKey sur 2 tables
>>
>>
>>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
>>
>>
From | Date | Subject | |
---|---|---|---|
Next Message | Stéphane Dupuy | 2005-03-17 09:21:40 | Sous-ensembles |
Previous Message | Pierre Didelon | 2005-03-14 15:31:41 | references/ForeignKey sur 2 tables |