IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PostgreSQL Discussion :

table de relation


Sujet :

PostgreSQL

  1. #1
    Membre averti
    Inscrit en
    Août 2004
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 21
    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

  2. #2
    Membre confirmé Avatar de champijulie
    Inscrit en
    Mai 2005
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 147
    Par défaut
    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.

Discussions similaires

  1. 6 tables en relation 1à1
    Par Abdou1 dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 30/06/2006, 18h21
  2. Ajout dans une table et relation avec d'autres
    Par climz dans le forum Access
    Réponses: 5
    Dernier message: 12/05/2006, 15h32
  3. Création table et relations
    Par ptitdragon_eric dans le forum Langage SQL
    Réponses: 3
    Dernier message: 10/09/2005, 13h37
  4. Table de relation et sélection via jointure
    Par 73672 dans le forum Langage SQL
    Réponses: 11
    Dernier message: 09/11/2004, 09h33
  5. Problème avec mes tables de relation...
    Par mmike dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 02/06/2003, 15h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo