clé primaire

clé primaire - SQL/NoSQL - Programmation

Marsh Posté le 11-03-2006 à 10:54:46    

salut,
j'espere que vous pourrez m'aider à ce petit pb
 
mon projet est data warehouse et je dois crée les table de shema en etoile donc la table de fait de seule si contient plusieur clé primaire et je sais pas comment je vais ecrire les requette parceque ce que je sache à sql server c que il faut faire 1 seule PRIMARY KEY ds 1 table  
ma table de fait content les attribut suit: ( n° client ,n°commande,code vendeur,code produit,clet date,nom ville)tous ses attribut comme clé primaire. en plus quantitéet prix total sans clé primaire.
 
et cette table à des clé etrangeur ver les table suivantes : commande;client;produit;vendeur;date;ville.
 
svp aidez moi ,donnez moi les requetteq exacte pour crée cette table de fait pour que puisse continuer mon programme.merci j'attend la reponse le plus vite possible svp.

Reply

Marsh Posté le 11-03-2006 à 10:54:46   

Reply

Marsh Posté le 11-03-2006 à 12:42:39    

plusieurs clef primaire ou une clef primaire composée? CAr bon ce n'est pas la même chose du tout...

Reply

Marsh Posté le 11-03-2006 à 12:44:18    

à oui juste 2 petits points de détail:
- ne pas se sentir obligée  de mettre étudiante pour avoir une réponse plus vite de la part des mecs en manque du foruml
- "le pus vite possible" n'est pas non plus un truc à dire...
 
cdt,

Reply

Marsh Posté le 11-03-2006 à 16:41:59    

je vois pas pourquoi les clés étrangères devraient être des primary key.  Tu peux les indexer ou les rendre uniques au cas

Reply

Marsh Posté le 12-03-2006 à 10:12:13    

saut,merci m'avoir repondu  
pour djebel1
je suis entrain e faire un programme decisionnel  c pour cela il falait de faire une table qui contient plusieur clés primaire.et svp si les index c la solution svp vous pouvez mz dire comment je vais faire pour resolu ce pb parce que je metrise pas bien le sql.merci

Reply

Marsh Posté le 12-03-2006 à 12:39:10    

doc officielle : http://dev.mysql.com/doc/refman/5. [...] table.html
et tu lis ce que est en rapport aux index, aux champs uniques et aux clés primaires.
Notamment qu'une table ne peut avoir qu'une clé primaire. La clé primaire peut être composée de plusieurs champs.
 
Et soigne ton orthographe stp, j'ai mal au crâne


Message édité par Djebel1 le 12-03-2006 à 12:43:57
Reply

Marsh Posté le 12-03-2006 à 16:45:10    

comme son nom l'indique la clé primaire est primaire.... Et implicitement elle est seule. Les autres sont des clés secondaires uniques.

Reply

Marsh Posté le 12-03-2006 à 18:13:46    

et j'ajouterai même qu'une clé primaire est une clé unique indéxée ! (je m'emmerde :D). Définir une clé étrangère en index unique (ou pas) fait donc très bien l'affaire !

Reply

Marsh Posté le 12-03-2006 à 21:50:06    

bon d'un autre coté tu peux te passer de clefs pour un DWH, prie juste que l'ETL soit bon  :whistle:

Reply

Marsh Posté le 13-03-2006 à 00:50:17    

Ta table de fait devrait contenir une clé primaire composée de toutes les colonnes étrangères. Ta clé composée est quelque chose (No commande;No client;No produit;No vendeur; date; Nom ville). Il faut juste faire attention avec ces codes (No commande, No Client...), il faut absolument que ca soit des surrogate key (clés artificielles) et non les clés primaires de ton système opérationnel. En plus en général la clé No Commande est une sorte de dimension dégénéré vu que c'est rarement que l'on traite la table des commandes dans un DWH ( on traite plutot la table des lignes de commandes...)  
 
Comme c'est une clé primaire, elle est automatiquement indéxé par SQl server. Tu devrait en plus ajouter un index par clé étrangère, donc un index pour No commande, un autre pour no produit... Il faut voir avec le DBA pour décider s'il faut créer un index bitmap ou normal selon la cardinalité de chaque clé dans la table.
 
Voila !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed