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
Partager