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 :

probleme de clé primaire ?


Sujet :

PostgreSQL

  1. #1
    Membre habitué
    Inscrit en
    Janvier 2004
    Messages
    532
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 532
    Points : 144
    Points
    144
    Par défaut probleme de clé primaire ?
    Salut,

    Je viens de finir mon MCD et je vais passer au MLD.
    J'ai une table employé,consommable et vehicule et il y a une association entre ces trois tables(le rond dans le mcd).Donc cette association va transformer en table qui va contenir les 3 clé primaire et ces trois clés vont formé une clé primaire unique.
    Et ce que je voulais savoir, puis je le faire avec postgresql comme cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    create table consomme (
    numemploye int,
    numvehicule int,
    numconso int,
    constraint pk1 primary key( numemploye ,numvehicule ,numconso )
     
    )

    C'est bien cela, je n ai rien à ajouter de plus ?

    Merci

  2. #2
    Membre émérite
    Avatar de hpalpha
    Inscrit en
    Mars 2002
    Messages
    769
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 769
    Points : 2 545
    Points
    2 545
    Par défaut
    La syntaxe semble correcte, il ne devrait pas y avoir de probleme, juste une petite remarque, ta clef primaire nomme la autrement, sinon tu risque d'avoir un doublon avec une autre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    create table consomme (
    numemploye int,
    numvehicule int,
    numconso int,
    constraint pk_consomme1 primary key( numemploye ,numvehicule ,numconso )
    )
    Delphi 2009 - ZeosLib - DevExpress - TMS - PgDAC
    PostgreSQL 8.4 sous Debian
    Sites : http://postgresql.developpez.com http://dgriessinger.developpez.com

  3. #3
    Membre averti

    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 338
    Points : 404
    Points
    404
    Par défaut
    Lut

    c'est bien le principe, par contre tes 3 trois tables ont chacune une PRIMARY KEY, donc pour chaque champ de ta table consomme tu va mettre une FOREIGN KEY, comme cela l'intégrité de tes données sera vérifié par le Moteur de PG, cela veux dire que le numemploye devra existé dans ta table des employés

    Doc des FOREIGN KEY

    KrysKool
    Christophe Chauvet
    Consultant Odoo
    Python / PostgreSQL

  4. #4
    Membre habitué
    Inscrit en
    Janvier 2004
    Messages
    532
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 532
    Points : 144
    Points
    144
    Par défaut
    Il faut que je rajoute les clés etrangere alors
    comme ceci tu veux dire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    create table consomme ( 
    numemploye int, 
    numvehicule int, 
    numconso int, 
    constraint pk_consomme1 primary key( numemploye ,numvehicule ,numconso ) 
    constraint fk_employe foreign key (numemploye) references employe(numemploye),
    constraint fk_vehicule foreign key (numvehicule) references vehicule(numvehicule),
    constraint fk_conso foreign key (numconso) references consommable(numconso)
     
    )

  5. #5
    Membre averti

    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 338
    Points : 404
    Points
    404
    Par défaut
    C'est bien ça

    KrysKool
    Christophe Chauvet
    Consultant Odoo
    Python / PostgreSQL

  6. #6
    Membre habitué
    Inscrit en
    Janvier 2004
    Messages
    532
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 532
    Points : 144
    Points
    144
    Par défaut
    Merci

    et je voulais savoir, j ai une table fournisseur et dans mon mcd j ai fait une association entre fournisseur et consommable.
    et dans mon association j'ai ajouter une date, une quantité et un numero de commande.
    Et comme c est du 1-n 1-n des 2 coté sa va transformer en table
    Je peux mettre des attribut dans une association entre 2 tables ?

    Merci

  7. #7
    Membre habitué
    Inscrit en
    Janvier 2004
    Messages
    532
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 532
    Points : 144
    Points
    144
    Par défaut
    Je voulais aussi savoir j'ai choisir de gerer les quantité en stock directement dans la table consommable, je n ai pas besoin de faire une table stock à part ?

Discussions similaires

  1. probleme 3 clés primaires
    Par dahno_fr dans le forum Hibernate
    Réponses: 1
    Dernier message: 14/02/2007, 11h39
  2. probleme de cle primaire
    Par intic dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 10/10/2006, 09h49
  3. Probleme de clé primaire
    Par djbenvik dans le forum Oracle
    Réponses: 5
    Dernier message: 24/03/2006, 00h15
  4. [Hibernate JBoss] Probleme de clé primaire
    Par jmartell dans le forum Wildfly/JBoss
    Réponses: 3
    Dernier message: 08/01/2006, 16h12
  5. Problemes de clé primaire
    Par Dark_Setsuna dans le forum Oracle
    Réponses: 12
    Dernier message: 01/12/2004, 15h12

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