|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |
|
Membre du Club
![]() Inscription : mars 2005 Messages : 277 ![]() |
salut,
Supposons un entrepot de donnée avec une table de fait et 2 dimensions; Citation:
et dans cette meme table je declare timekey et itemkey comme clé etrangere; Ou je dois inserer une clé (un compteur) en plus et ne pas faire de clé primaire composé ? Merci |
|
|
|
00
|
|
|
#2 |
|
Membre du Club
![]() Inscription : mars 2006 Messages : 43 ![]() |
Le seul cas ou on doit créer une clé primaire dans une table de fait est lorsqu'on fait des Update sur un fait qui existe déjà, question de performance.
Par ailleur, il faut bien noter qu'il faut créer une clé étrangère vers chaque table de dimension donc : Une clé etrangère sur la colonne timekey vers la dimension Time Une clé étrangère sur la colonne ItemKey vers la dimension Item. D'autre part, en général lorsqu'on utilise un bon SGBD comme Oracle, on doit créer un index bitmap pour chaque colonne de clé étrangère, question de performance encore. D'autant plus qu'il conseillé de "Disabler" les indexes et les clés étrangères lorsqu'on fait le chargement de la table de fait, quand il y'a une grande quantité de données à charger, et les "enabler" une fois terminé. Toujours dans une optique d'avoir une bonne performance. www.systemeetl.com Tout sur les systèmes ETL, La modélisation dimensionnelle est les entrepôts de données. |
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Inscription : mars 2005 Messages : 277 ![]() |
donc si je comprends bien,mes table de dimension contiendront une clé primaire ce qui est logique;mais ma table de fait n'en contiendra pas et contiendra seulement des clé etrangeres,que je devrai indexer pour raison de performance,car oracle ne les index pas automatiquement ?
|
|
|
00
|
|
|
#4 |
|
Membre du Club
![]() Inscription : mars 2006 Messages : 43 ![]() |
Oui, et en plus tes indexe devraient être de type bitmap ! c'est encore plus performant !
Voila ! |
|
|
00
|
|
|
#5 |
|
Membre du Club
![]() Inscription : mars 2005 Messages : 277 ![]() |
Est ce obligé d'inserer des clés de substitution dans les dimension ?
|
|
|
00
|
|
|
#6 |
|
Membre du Club
![]() Inscription : mars 2006 Messages : 43 ![]() |
Pour répondre à ta question je te refere aux liens suivants :
Pour la structure de base d'une dimension : http://www.systemeetl.com/def_dim.htm Pour définir les composantes d'une dimension http://www.systemeetl.com/def_dim_suite_1.htm Pour un exemple de migration d'une dimension d'un système opérationnel à un DW : http://www.systemeetl.com/def_dim_suite_2.htm Si tu as d'autres questions n.hésites pas ! |
|
|
00
|
|
|
#7 |
|
Membre du Club
![]() Inscription : mars 2005 Messages : 277 ![]() |
la clé naturelle correspond à la clé primaire
et la clé de substitution est une clé qu'on rajoute à table de dimension Le truc que je ne comprends pas,c'est en quoi elle est utile ?elle est numerique comme la clé primaire donc pourquoi avoir 2clés ? |
|
|
00
|
|
|
#8 |
|
Membre du Club
![]() Inscription : mars 2006 Messages : 43 ![]() |
Fonctionnalités d’une clé de substitution
§ Remplacer la clé artificielle ou naturelle : Effectivement une clé de substitution remplace la clé artificielle en terme d’utilisation, ce n’est plus la clé naturelle qui sera utilisé pour faire les jointures avec les tables de faits ou les autres tables de dimension (niveaux hiérarchiques dans le cas d’une dimension en flocons de neiges) § Compléter l’information : La clé de substitution n’a aucun sens en terme d’affaire, elle est utilisée dans l’entrepôt de données seulement ! et on aura toujours besoin de la clé artificielle ou naturelle dans la dimension pour pouvoir faire la correspondance entre l’élément de dimension (un client par exemple) dans l’entrepôt de données et l’élément de la table des clients dans le système opérationnel. Avantages d’utiliser une clé de substitution (Surrogate key) : § Performance : Accélère l’accès aux données du moment ou l’on va utiliser un index numérique vu que le type de données de la clé de substitution est numérique. § Indépendance du système source : On ne peut garantir que la clé d’affaire ne change pas dans les systèmes sources. § Historique des changements et granularité infinie : Si l’on désire garder l’historique des changements de la dimension selon certains critères (SCD) nous devons gérer la clé de substitution. Nous nous retrouverons facilement avec plusieurs enregistrements de la même clé d’affaire dans la dimension. |
|
|
00
|
|
|
#9 |
|
Membre du Club
![]() Inscription : mars 2005 Messages : 277 ![]() |
je pense pas que c'est tres utiliser au niveau professionnel les clé de substitution;j'imagine qu'on prefere garder les clé d'origine
|
|
|
00
|
|
|
#10 |
|
Membre du Club
![]() Inscription : mars 2006 Messages : 43 ![]() |
C'est plutot le contraire... On garde les clés naturelles et on ajoute les clés de substitution .
|
|
|
00
|
|
|
#11 |
|
Membre habitué
![]() Inscription : janvier 2004 Messages : 507 ![]() |
donc si j'ai bien compris dans cette table de fait
fact(timekey,itemkey,units_sold,avg_sales) je dois creer une clé;et avoir une table de ce genre fact(id,timekey,itemkey,units_sold,avg_sales) ??? |
|
|
00
|
|
|
#12 |
|
Membre habitué
![]() Inscription : janvier 2004 Messages : 507 ![]() |
|
|
|
00
|
|
|
#13 | |
|
Membre du Club
![]() Inscription : mars 2006 Messages : 43 ![]() |
Citation:
donc ton fact sera composé de (timekey,itemkey,units_sold,avg_sales). Voila ! |
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com