Différence entre la table des faits et la table des dimensions?
Lors de la lecture d'un livre pour business objects, je suis tombé sur la table term - fact et la Table dimension.
J'essaie de comprendre quelle est la différence entre la table de Dimension et la table de faits?
J'ai lu quelques articles sur internet mais je n'étais pas capable de comprendre clairement..
Un exemple simple m'aidera à mieux comprendre?
7 réponses
Ceci est pour répondre à la partie:
J'essayais de comprendre si les tables de dimension peuvent être des tables de faits comme bien ou pas?
La réponse courte (INMO) est non.C'est parce que les 2 types de tables sont créés pour des raisons différentes. Cependant, du point de vue de la conception de la base de données, une table de dimension peut avoir une table parent comme le cas avec la table de fait qui a toujours une table de dimension (ou plus) en tant que parent. En outre, les tableaux de faits peuvent être agrégés, alors que la Dimension les tableaux ne sont pas agrégés. Une autre raison est que les tables de fait ne sont pas censées être mises à jour en place alors que les tables de Dimension pourraient être mises à jour en place dans certains cas.
Plus de détails:
Les tables Fact et dimension apparaissent dans un schéma en étoile. Un but principal de Star schema est de simplifier un ensemble normalisé complexe de tables et de consolider les données (éventuellement de différents systèmes) en une structure de base de données qui peut être interrogée de manière très efficace façon.
Dans sa forme la plus simple, il contient une table de faits (exemple: StoreSales) et une ou plusieurs tables de dimensions. Chaque entrée de Dimension A 0,1 ou plusieurs tables de faits qui lui sont associées (exemple de tables de dimensions: Géographie, article, Fournisseur, client, heure, etc.). Il serait également valable que la dimension ait un parent, auquel cas le modèle est de type "Flocon De Neige". Cependant, les concepteurs tentent d'éviter ce type de conception car il provoque plus de jointures que les performances lentes. Dans l'exemple de StoreSales, la dimension Geography peut être composée des colonnes (GeoID, Contentname, CountryName, StateProvName, CityName, StartDate, EndDate)
Dans un modèle de flocons de neige, vous pouvez avoir 2 tables normalisées pour les informations géographiques, à savoir: table de contenu, table de pays.
Vous pouvez trouver de nombreux exemples sur le schéma en étoile. Aussi, vérifiez ceci pour voir une vue alternative sur le modèle de schéma en étoile Inmon vs. Kimball . Kimbal a un bon forum Vous pouvez également vérifier ici: Kimball Forum.
Edit: pour répondre aux commentaires sur les exemples pour 4NF:
- exemple pour une table de faits violant 4NF:
Fait de Vente (ID, BranchID, SalesPersonID, ItemID, Amount, TimeID)
- exemple pour une table de faits ne violant pas 4NF:
AggregatedSales (BranchID, TotalAmount)
Ici la relation est dans 4NF
Le dernier exemple est plutôt rare.
Cela semble être une réponse très simple sur la façon de différencier les tables de faits et de dimensions!
Il peut être utile de considérer les dimensions comme des choses ou des objets. Une chose telle comme un produit peut exister sans jamais être impliqué dans une entreprise événement. Une dimension est votre nom. C'est quelque chose qui peut exister indépendant d'un événement d'entreprise, comme une vente. Les produits, les employés, équipement, sont toutes les choses qui existent. Une dimension non plus quelque chose, ou a fait quelque chose à elle.
Les employés vendent, les clients achètent. Les employés et les clients sont des exemples de les dimensions, ils le font.
Les produits sont vendus, ils sont aussi des dimensions car ils ont quelque chose fait pour eux.
Faits, sont le verbe. Une entrée dans une table de faits, marque un événement discret cela arrive à quelque chose de la table de dimension. Une vente de produit serait enregistré dans un tableau de faits. L'événement de la vente serait noté par quel produit a été vendu, quel employé l'a vendu, et qui le client a acheté. Produit, employé et client sont toutes les dimensions qui décrivent l'événement, la vente.
En outre, les tables de faits ont généralement une sorte de quantitative données. La quantité vendue, le prix unitaire, prix total, et ainsi de suite.
Source: http://arcanecode.com/2007/07/23/dimensions-versus-facts-in-data-warehousing/
Dans l'Entrepôt de Données de la Modélisation, un schéma en étoile et a schéma en flocon est constitué de Fait et Dimension tables.
Tableau Des Faits:
- Il contient toutes les clés primaires de la dimension et associées faits ou mesures (est une propriété sur laquelle des calculs peuvent être effectués) comme la quantité vendue, le montant vendu et les ventes moyennes.
Tables De Dimensions:
- Les Tables de Dimension fournissent des données descriptives informations pour toutes les mesures enregistrées dans le tableau fact.
- Les Dimensions sont relativement très petites comme tableau de comparaison des faits.
- Les dimensions couramment utilisées sont les personnes, les produits, le lieu et l'heure.
J'ai trouvé cette réponse plus facile à comprendre du point de vue d'une personne qui ne connaît pas beaucoup de la terminologie DB/DW.
Http://databases.about.com/od/datamining/a/Facts-Vs-Dimensions.htm
Je recommanderai de passer par ceci d'abord, puis de passer par la réponse D'Emmad Kareem pour plus de granularité. J'espère que c'est utile.
- la table de faits se compose principalement de faits commerciaux et de clés étrangères qui se réfèrent à des clés primaires dans les tables de dimensions. Une table de dimension se compose principalement d'attributs descriptifs qui sont des champs textuels.
- Une table de dimension contient une clé de substitution, clé naturelle, et un ensemble d'attributs. Au contraire, une table de faits contient une clé étrangère, des mesures et des dimensions dégénérées.
- Les tableaux de Dimension fournissent des informations descriptives ou contextuelles pour la mesure d'une table de faits. D'autre part, les tableaux de faits fournissent les mesures d'une entreprise.
- lorsque l'on compare la taille des deux tables, une table de faits est plus grande qu'une table dimensionnelle. Dans un tableau de comparaison, plus de dimensions sont présentées que les tableaux de faits. Dans un tableau de faits, moins de nombres de faits sont observés.
- la table de dimension doit être chargée en premier. Lors du chargement des tables de faits, il faut regarder la table de dimension. C'est parce que la table de faits a des mesures, faits, et les clés étrangères qui sont les clés primaires dans la table de dimension.
Lire la suite: table de Dimension et table de faits | différence entre | table de Dimension vs table de faits http://www.differencebetween.net/technology/hardware-technology/dimension-table-and-fact-table/#ixzz3SBp8kPzo
Dans la forme la plus simple, je pense qu'une table de dimension est quelque chose comme une table 'Master' - qui conserve une liste de tous les 'éléments', pour ainsi dire.
Une table de faits est une table de transactions qui décrit toutes les opérations. En outre, des données agrégées (groupées) telles que les ventes totales par personne de vente, les ventes totales par branche - de tels types de tableaux peuvent également exister sous forme de tables de faits indépendantes.
Table de Dimension: ce n'est rien mais nous pouvons maintenir des informations sur la date caractérisée appelée table de Dimension.
Exemple: Dimension Temporelle, Dimension Produit.
Table des faits: ce n'est rien, mais nous pouvons maintenir des informations sur les métriques ou les données de précalcul.
Exemple: Fait De Vente, Fait De Commande.
Schéma en étoile: un lien de table de faits avec un formulaire de table de dimension en tant que schéma de départ.