Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2699 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Creation d'une clé primaire avec 2 /3 cle etrangere

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Creation d'une clé primaire avec 2 /3 cle etrangere

n°1410533
shinrei
Posté le 20-07-2006 à 18:23:59  profilanswer
 

Bonjour,
 
J'ai souci sur les relations entre les differents table d'une bdd.
Je m'explique:
 
Une table "fournisseurs" va créer des fiches produits. Ses fiches pourront être sélectionner pour une collection par le grp "managers" . Ses fiches selectionnées seront ensuite choisies par "vendeurs" pour ainsi afficher les meilleurs produits aux groupes "acheteurs".
 
mon idée:
 
Un groupe d'utilisateur a sa propre table.
 
1) J'ai une table "produits" qui est relié avec la table "managers" en cardinalité multiples, ce qui va créer une table intermédiaire qu'on appelle "chx_manages" (choix des managers) qui aura comme clé primaire l'association de id_prod et id_manage. Jusqu'a la je sais faire. (peux-t-on donner un nom a cet assoc?).
 
2) Je mets en relation cette table "chx_manage" avec la table "vendeurs" en cardinalité multiples qui va donc avoir une table appelé "chx_vendeurs" qui aura comme cle primaire l'assoc de id_prod_manage et id_vendeur.
 
3) voila, ici les acheteurs pourront seulement lister les choix du vendeur pour une collection donnée.
 
J'espere que vous m'avez compris. Le cheminement doit rester tel quel.
 
Pour la clé primaire de la table chx_manage, la syntaxe ets bonne?:

Code :
  1. create table chx_manage ( chx_man int not null, man_id int not null, prod_id int not null,
  2. CONSTRAINT nom_contrainte FOREIGN KEY (man_id,prod_id) REFERENCES manage (man_id) and references products (prod_id) )


 
Autre probleme :  
Un fournisseur a 1 ou n usine mais une usine peut etre lui-meme fournisseur, comment le modéliser?
-> C'est une assoc reflexive mais je ne connais pas la syntaxe....et vous?
 
Votre avis?
 
Merci,

mood
Publicité
Posté le 20-07-2006 à 18:23:59  profilanswer
 

n°1411112
moi23372
Posté le 21-07-2006 à 14:34:15  profilanswer
 

faut faire des contraintes séparée.  
Dans une FK, tu ne peux référencé qu'une table, dans ce cas, tu crées plusieurs FK vers les différentes tables.

n°1411116
shinrei
Posté le 21-07-2006 à 14:39:49  profilanswer
 

OK
 
Genre ca:
 

Citation :


      create table chx_manage ( chx_man int not null, man_id int not null, prod_id int not null,
      CONSTRAINT nom_contrainte FOREIGN KEY (man_id) REFERENCES manage (man_id),
      CONSTRAINT nom_contrainte FOREIGN KEY (prod_id) references products (prod_id) )  


 
avec le meme nom de contrainte ou en ayant 2 nom??....en toute logique je dirais 2 noms?
 
Et pour la question sur l'assoc reflexive on fait comment?


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Creation d'une clé primaire avec 2 /3 cle etrangere

 

Sujets relatifs
Logiciel de création de sitecreation variable automatique
Question à 2 balles sur les jointures et creation tableAttribution d'un nom dans la creation d'un fichier
Probleme de création de requête SQL un peu compliqué !Création de calendrier
QT: création d'un affichage à partir d'un fichier binaireCréation d'une base, relation entre les tables
[CREATION] Color Picker (Hermes Picker :o :o) OooO[resolut] Creation d'un service pour windows
Plus de sujets relatifs à : Creation d'une clé primaire avec 2 /3 cle etrangere


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR