Utilisation de l'image du schéma de flocon de neige de wikipedia:
https://en.wikipedia.org/wiki/File:Snowflake-schema-example.png
Serait-il logique d'avoir une key étrangère "Brand_Id" dans Fact_Sales comme vous le faites dans Dim_Product? Il existe une relation plusieurs-à-un des ventes / marques, tout comme les ventes / produits ou produits / marques, donc y a-t-il une raison logique de ne pas le faire? Vous voudrez peut-être join directement la table Dim_Brand.
Je ne vois probablement pas quelque chose d'évident.
Le type de relation que vous regardez est une relation has-a .
Un produit a une marque. Une vente a un produit; c'est la chose qui a été vendue. Mais une vente n'a pas de marque. Ou, une meilleure façon de dire cela, vous ne pouvez pas vendre une marque. (Ne lisez pas trop loin dans celui-là …)
Donc, non, vous ne voudriez pas append la marque aux ventes.
Si vous travaillez dans un model dimensionnel (la note de schéma Star / Snowflake dans votre question fait penser que vous l'êtes), append BRAND_ID au fait de vente est logique du sharepoint vue de la performance, si les questions auxquelles l'entreprise tente de répondre sont "quelles ont été les ventes de la marque X pour tous les produits dans ce timeout".
Cela peut également être utile si la dimension du produit est un SCD de type 1 et qu'un produit change de marque. Vous voudrez peut-être conserver les ventes antérieures comme étant de la «vieille» marque.
Gardez à l'esprit que vous ne faites pas de modélisation entité-relation lorsque vous créez un schéma de rapport écanvas / flocon de neige. Les questions de is-a ou has-a ne sont pas pertinentes pour un model dimensionnel.
Je pense que ce serait une bonne façon de mettre en cache datatables … mais en toute honnêteté, vous feriez probablement mieux de countr sur les liens tels qu'ils sont.
Le raisonnement est que vous avez déjà cette définition de ce que fait cette table, stocker les ventes. Pour append à quelle marque ces produits sont vendus, le magasin va bouleverser le «sujet» ou le «thème» de cette table, save les ventes d'un magasin.
Maintenant, si d'une certaine façon vous aviez un produit qui peut être vendu sous différentes marques (si je sais comment un package peut avoir des personnalités divisées …) alors oui, cela aurait du sens dans une certaine mesure, mais une solution plus raisonnable est de donner à chaque produit son propre code SKU alors.