0

https://web.stanford.edu/dept/itss/docs/oracle/10g/olap.101/b10333/globdiag.gifStar Schema: Comment les agrégations de tables de faits sont effectuées?

Supposons que nous avons un schéma de départ comme ci-dessus ..

Ma question est - en temps réel comment pouvons-nous remplissons les (colums UNIT_PRICE, unit_cost) colonnes du tableau de fait ..?

Quelqu'un peut-il me fournir une table de schéma de démarrage avec des données réelles?

J'ai du mal dans le schéma étoile compréhension ...

S'il vous plaît aider! ..

Répondre

0

schéma de démarrage se compose de deux types de tables tables de fait et dimensions.

L'idéal de la conception en étoile est que vous pouvez diviser vos données en deux parties. La pièce statique est décrite avec les cotes et la partie dynamique (= transactions) dans le tableau de faits.

Chaque transaction est stockée dans la table de faits en tant que nouvel enregistrement et est connectée aux dimensions environnantes qui définissent le contexte de la transaction.

L'exemple dans le lien contient deux tables de faits: SHIPMENTS et PRODUCT_CONDITIONS. Notez que les tables de faits dans le lien sont nommées UNITS_HISTORY_FACT et PRICE_AND_COST_HISTORY_FACT, mais je trouve que ce n'est pas le meilleur choix.

La table SHIPMENTS stocke un enregistrement pour chaque envoi d'un PRODUIT à un CLIENT à un moment donné, via un CANAL défini. Toutes les informations ci-dessus sont définies à l'aide des touches correspondantes des dimensions respectives. La table de faits contient également des MESURES décrivant les attributs de la transaction, ici le nombre d'UNITÉS expédiées.

La structure de la table de fait serait donc

CUSTOMER_ID 
PRODUCT_ID 
TIME_ID 
CHANNEL_ID 
UNITS 

La deuxième table de fait (en bas) est plus intéressant, car ici vous divisez le produit en deux parties:

dimension produit définissant l'ID , nom et autres attributs statiques

PRODUCT_CONDITION Ceci est une table de faits, conçue dans l'attente que le prix et le coût du produit changeront avec le temps. À chaque modification du prix ou coût insérez un nouvel enregistrement dans la table de faits et connectez-le au PRODUIT et à l'HEURE (de changement).

La structure de la table de faits serait donc

PRODUCT_ID 
TIME_ID 
UNIT_PRICE 
UNIT_COST 

Note finale du la conception de la dimension temporelle. La meilleure pratique pour connecter la table de faits avec les tables de dimension est d'utiliser un ID sans signification (clés de substitution), mais pour la dimension TIME, vous devez faire attention.Pour la grande table de faits (partitionnée temporellement) est souvent utilisé la clé naturelle (format DATE) pour pouvoir déployer les fonctionnalités de partitionnement. Voir plus de détails dans How I Defined a Time Dimension Using a Surrogate Key et d'autres ressources dans le web.