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

Langage SQL Discussion :

Creation d'une table avec plusieurs clés


Sujet :

Langage SQL

  1. #1
    Membre averti
    Homme Profil pro
    Coordinateur développement web
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Coordinateur développement web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Points : 412
    Points
    412
    Par défaut Creation d'une table avec plusieurs clés
    bonjour,

    j'ai un petit pb pour la création d'une table. je n'arrive pas a créer la table qui comporte en clé primaire 3 champs dont deux sont clés primaire d'une autre table.

    voici les scripts :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    create table seg_categorie (
    	cat_id int primary key
      	cat_pos int not null,
    	cat_parent int
    );
     
    create table seg_segment (
    	seg_id int primary key
    	seg_pos int not null
    );
     
    create table seg_seg_cat (
    	seg_seg_id int 
    	references seg_segment(seg_id),		
    	seg_cat_id int
    	references seg_categorie(cat_id),
    	primary key (seg_seg_id, seg_cat_id)
    );
     
    create table dta_visuel (
    	vis_id int primary key
    	vis_code varchar(3) not null,
    	vis_picture int
    );
    et voici la création qui ne marche pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    create table seg_dta_vis (
    	vis_seg_id int
    	references seg_seg_cat(seg_seg_id),
    	vis_cat_id int 
    	references seg_seg_cat(seg_cat_id),
    	vis_vis_id int 
    	references dta_visuel(vis_id),
    	vis_taux int not null,
    	primary key (vis_seg_id,vis_cat_id ,vis_vis_id )
    );


    par avance merci de votre aide

    Mic
    Toutes mes références en ligne : http://www.developpeur-web-php.fr

  2. #2
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Quel SGBDR, Quelle version ?

    Que veux dire "qui ne marche pas " ??? Peut-on avoir une description de l'erreur ?
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

  3. #3
    Membre averti
    Homme Profil pro
    Coordinateur développement web
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Coordinateur développement web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Points : 412
    Points
    412
    Par défaut
    je suis sous postgres 7 sous linux

    et le message d'erreur

    ERROR: there is no unique constraint matching given keys for referenced table "seg_seg_cat"
    Toutes mes références en ligne : http://www.developpeur-web-php.fr

  4. #4
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Citation Envoyé par mic79
    ERROR: there is no unique constraint matching given keys for referenced table "seg_seg_cat"
    Donc tu as ta réponse, il n'y a pas de clé unique dans seg_seg_cag qui corresponde à ce que tu veux lui faire avaler!
    Normal la clé primaire de seg_seg_cat est constituée de 2 colonnes et tu lui références 2 fois 1 colonne (ce n'est pas pareil)

    Il faut que tu enlèves les FK de ta déclaration qui référencent seg_seg_cat et que tu déclares un couple (seg_seg_id, seg_cat_id) qui référence seg_seg_cat.
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

  5. #5
    Membre averti
    Homme Profil pro
    Coordinateur développement web
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Coordinateur développement web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Points : 412
    Points
    412
    Par défaut
    si j'ai bien comprit au lieu de declarer mes clés etrangères ligne par ligne dans seg_dta_vis je le fait a la fin en une seule fois ?
    Toutes mes références en ligne : http://www.developpeur-web-php.fr

  6. #6
    Inactif   Avatar de Médiat
    Inscrit en
    Décembre 2003
    Messages
    1 946
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 946
    Points : 2 227
    Points
    2 227
    Par défaut
    Quand les clés sont composées, oui !

    C'est bien ce que tu as fait pour la clé primaire.
    J'affirme péremptoirement que toute affirmation péremptoire est fausse
    5ième élément : barde-prince des figures de style, duc de la synecdoque
    Je ne réponds jamais aux questions techniques par MP

  7. #7
    Membre averti
    Homme Profil pro
    Coordinateur développement web
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Coordinateur développement web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Points : 412
    Points
    412
    Par défaut
    ok merci de ton aide ca marche
    Toutes mes références en ligne : http://www.developpeur-web-php.fr

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [ZF 1.11] creation des model pour une table avec des clés etrangères
    Par diengkals dans le forum Zend Framework
    Réponses: 4
    Dernier message: 09/05/2013, 14h55
  2. Réponses: 9
    Dernier message: 08/10/2010, 08h39
  3. creation d'une table avec une clé primaire multiple
    Par oursquetaire dans le forum Oracle
    Réponses: 2
    Dernier message: 23/12/2005, 13h29
  4. Creation d'une table avec un TSQLQuery
    Par richard038 dans le forum Bases de données
    Réponses: 2
    Dernier message: 03/12/2005, 09h08
  5. [postgresql]creer une table avec plusieurs clés primaire??
    Par perlgirl dans le forum Langage SQL
    Réponses: 2
    Dernier message: 09/11/2004, 17h24

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