Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/06/2005, 10h37   #1
Invité régulier
 
Inscription : août 2004
Messages : 21
Détails du profil
Informations forums :
Inscription : août 2004
Messages : 21
Points : 9
Points : 9
Envoyer un message via Yahoo à tanjonaravelson
Par défaut table de relation

bonjour,
je voulais construire un petit modèle de dictionnaire multi-langue pour un site web multi langue. J'ai donc choisi de mettre dans une base de donnée tout les contenus multi langues et voici le shéma (listes de tables):
- table 'tlanguage':
. code charactere(2),
. language varchar(25) not null,
. PRIMARY KEY (code)

- table 'tcontents' :
. id serial,
. contents text not null,
. language charactere(2) not null,
. PRIMARY KEY (id),
. FOREIGN KEY (language) REFERENCES tlanguage(code)

Et mon problème est comment créer la table 'tdictionnary' qui devrais faire un référence à 2 entrées de la table 'tcontents' dont le champ tcontents.language des 2 entrées sont différentes

j'ai donc créer la table tdictionnary de la manière suivante :
- table 'tdictionnary' :
. contentSource integer REFERENCES tcontents (id) not null ON DELETE CASCADE,
. contentDest integer REFERENCES tcontents (id) not null ON DELETE CASCADE

et ici je ne voulais pas créer un trigger before insert or update sur la table tdictionnary qui va tester que 'tcontents.language' correspondant à 'tdictionnary.contentSource' et le 'tcontents.language' correspondant à 'tdictionnary.contentDest' sont différentes
Mais je voulais mettre un contrainte 'CHECK' dans la table 'tdictionnary' mais je ne sais pas comment exprimer mon CHECK??? est que vous en avez d'idées???

merci
tanjonaravelson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/06/2005, 18h20   #2
Membre régulier
 
Avatar de champijulie
 
Inscription : mai 2005
Messages : 147
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 147
Points : 92
Points : 92
Perso,

je ne pense pas qu'il est possible sans trigger d'avoir des contraintes de type Check sur une colonne avec une condition portant sur une colonne d'une autre table.

J'ai cherché partout et je n'ai trouvé aucun cas semblable au tien. Apparement, les contraintes de type check reste dans l'environnement d'une seule table et non plusieurs.
Si quelqu'un a trouvé un truc de ce style par contre ça m'intéresse.

@+
champijulie.
champijulie est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h12.


 
 
 
 
Partenaires

Hébergement Web