Unterschied zwischen Faktentabelle und Dimensionstabelle?

111

Beim Lesen eines Buches für Geschäftsobjekte bin ich auf die Term- und Dimensionstabelle gestoßen.

Ich versuche zu verstehen, was der Unterschied zwischen Dimensionstabelle und Faktentabelle ist.

Ich habe einige Artikel im Internet gelesen, konnte sie aber nicht klar verstehen.

Ein einfaches Beispiel hilft mir, besser zu verstehen?


quelle
Das Konzept ist ziemlich lang, um es detailliert zu beschreiben. Wenn Sie ein spezifisches Problem haben, das über die grundlegende Definition hinausgeht, teilen Sie uns dies bitte mit.
NoChance
Grundsätzlich habe ich versucht zu verstehen, ob Dimensionstabellen auch Faktentabellen sein können oder nicht.

Antworten:

52

Dies ist, um den Teil zu beantworten:

Ich habe versucht zu verstehen, ob Dimensionstabellen auch Faktentabellen sein können oder nicht.

Die kurze Antwort (INMO) lautet Nein. Dies liegt daran, dass die beiden Tabellentypen aus unterschiedlichen Gründen erstellt werden. Aus Sicht des Datenbankdesigns kann eine Dimensionstabelle jedoch eine übergeordnete Tabelle haben, während die Faktentabelle immer eine Dimensionstabelle (oder mehr) als übergeordnetes Element hat. Faktentabellen können auch aggregiert werden, während Dimensionstabellen nicht aggregiert werden. Ein weiterer Grund ist, dass Faktentabellen nicht an Ort und Stelle aktualisiert werden sollen, während Dimensionstabellen in einigen Fällen an Ort und Stelle aktualisiert werden könnten.

Mehr Details:

Fakten- und Dimensionstabellen werden in einem sogenannten Sternschema angezeigt. Ein Hauptzweck des Sternschemas besteht darin, einen komplexen normalisierten Satz von Tabellen zu vereinfachen und Daten (möglicherweise aus verschiedenen Systemen) in einer Datenbankstruktur zu konsolidieren, die auf sehr effiziente Weise abgefragt werden kann.

In seiner einfachsten Form enthält es eine Faktentabelle (Beispiel: StoreSales) und eine oder mehrere Dimensionstabellen. Jedem Dimensionseintrag sind 0,1 oder mehr Faktentabellen zugeordnet (Beispiel für Dimensionstabellen: Geografie, Artikel, Lieferant, Kunde, Zeit usw.). Es wäre auch gültig, wenn die Dimension ein übergeordnetes Element hätte. In diesem Fall ist das Modell vom Typ "Schneeflocke". Designer versuchen jedoch, diese Art von Design zu vermeiden, da dies zu mehr Verknüpfungen führt, die die Leistung beeinträchtigen. Im Beispiel von StoreSales kann die Geografiedimension aus den Spalten bestehen (GeoID, ContenentName, CountryName, StateProvName, CityName, StartDate, EndDate).

In einem Snow Flakes-Modell könnten Sie zwei normalisierte Tabellen für Geoinformationen haben, nämlich: Inhaltstabelle, Landestabelle.

Auf Star Schema finden Sie zahlreiche Beispiele. Schauen Sie sich dies auch an, um eine alternative Ansicht des Sternschemamodells Inmon vs. Kimball zu sehen . Kimbal hat ein gutes Forum, das Sie vielleicht auch hier ansehen möchten: Kimball Forum .

Bearbeiten: Um einen Kommentar zu Beispielen für 4NF zu beantworten:

  • Beispiel für eine Faktentabelle, die gegen 4NF verstößt:

Verkaufsfaktor (ID, BranchID, SalesPersonID, ItemID, Amount, TimeID)

  • Beispiel für eine Faktentabelle, die nicht gegen 4NF verstößt:

AggregatedSales (BranchID, TotalAmount)

Hier ist die Beziehung in 4NF

Das letzte Beispiel ist eher ungewöhnlich.

Keine Chance
quelle
1
Einige Faktentabellen geben Daten auf Transaktionsebene wieder. Einige spiegeln aggregierte Daten wider. Eine Faktentabelle in einem Sternschema muss nicht einmal in 3NF sein. Zum Beispiel könnte Sales Fact Daten enthalten wie (ID, BranchID, Amount, SalesPerson, Time) - Dies verstößt gegen 3NF, BCNF und 4NF, da die Abhängigkeit von SalesPerson und Branch. Entsprechend ist es nicht wahr, dass sich eine typische Faktentabelle in 4NF befindet.
NoChance
255

In der Data Warehouse-Modellierung bestehen ein Sternschema und ein Schneeflockenschema aus Fakten- und Dimensionstabellen .

Faktentabelle:

  • Es enthält alle Primärschlüssel der Dimension und die zugehörigen Fakten oder Kennzahlen (eine Eigenschaft, für die Berechnungen durchgeführt werden können) wie die verkaufte Menge, die verkaufte Menge und den durchschnittlichen Umsatz.

Maßtabellen:

  • Dimensionstabellen enthalten beschreibende Informationen zu allen in der Faktentabelle aufgezeichneten Messungen.
  • Die Abmessungen sind als Vergleich der Faktentabelle relativ sehr klein.
  • Häufig verwendete Dimensionen sind Menschen, Produkte, Ort und Zeit.

Geben Sie hier die Bildbeschreibung ein

Bildquelle

Premraj
quelle
52
Dies ist so viel hilfreicher als die akzeptierte Antwort
Booji Boy
15
Ein Bild sagt mehr als tausend Worte. Ich habe beim Lesen der anderen Antworten nichts verstanden, aber diese hat mich gerettet.
Der Eine
Die Abmessungen sehen im Vergleich zur Faktentabelle im Diagramm relativ groß aus, da sie aussagekräftigere Daten enthält. Und sie sind auch zahlreicher
Blue Clouds
1
@Blue Clouds: Sie müssen sich darüber im Klaren sein, dass die Faktentabelle einen Eintrag für jede mögliche Kombination der for dim´s enthält (zumindest wenn Daten vorhanden sind). Während die Standortdimension maximal einen Eintrag für jeden möglichen Standort enthält (z. B. 50 Verkaufsstellen) und selten wächst, wird die Faktentabelle beim Hinzufügen neuer Positionen wahrscheinlich für jeden Tag um Standort x Elemente x Zweige wachsen. Die Fakten werden also ziemlich schnell in der Anzahl der Datensätze groß.
Daniel
@Premraj Kann eine Faktentabelle ohne Primärschlüssel existieren?
Kalana
106

Dies scheint eine sehr einfache Antwort auf die Unterscheidung zwischen Fakten- und Dimensionstabellen zu sein!

Es kann hilfreich sein, Dimensionen als Dinge oder Objekte zu betrachten. So etwas wie ein Produkt kann existieren, ohne jemals an einem Geschäftsereignis beteiligt zu sein. Eine Dimension ist dein Substantiv. Es ist etwas, das unabhängig von einem Geschäftsereignis wie einem Verkauf existieren kann. Produkte, Mitarbeiter, Ausrüstung sind alles Dinge, die existieren. Eine Dimension macht entweder etwas oder hat etwas damit zu tun.

Mitarbeiter verkaufen, Kunden kaufen. Mitarbeiter und Kunden sind Beispiele für Dimensionen.

Produkte werden verkauft, sie sind auch Dimensionen, da ihnen etwas angetan wurde.

Fakten sind das Verb. Ein Eintrag in einer Faktentabelle markiert ein diskretes Ereignis, das mit etwas aus der Dimensionstabelle passiert. Ein Produktverkauf würde in einer Faktentabelle erfasst. Das Ereignis des Verkaufs würde dadurch festgestellt, welches Produkt verkauft wurde, welcher Mitarbeiter es verkaufte und welcher Kunde es kaufte. Produkt, Mitarbeiter und Kunde sind alle Dimensionen, die das Ereignis, den Verkauf beschreiben.

Darüber hinaus enthalten Faktentabellen typischerweise auch quantitative Daten. Die verkaufte Menge, der Preis pro Artikel, der Gesamtpreis usw.

Quelle: http://arcanecode.com/2007/07/23/dimensions-versus-facts-in-data-warehousing/

AeyJey
quelle
4
Tolles Schreiben, brauchte nur 5 Minuten, um das Konzept zu verstehen.
user1951
Zusammenfassend: Dimensionen sind Attribute von Faktenereignissen. DAFE. Was machst du, DAFE?
youcantryreachingme
3
Ja, so erinnere ich mich an sie. Es ist das Gegenteil von dem, was Sie denken würden. Man könnte meinen, Fakten sind in Stein gemeißelt und Dimensionen sind dynamisch, basierend auf den Worten selbst. Das Gegenteil ist der Fall: Eine einfache Dim-Tabelle ist eine ziemlich statische Nachschlageliste, und eine grundlegende Faktentabelle enthält lebende Daten, die eingegeben werden.
Undrline
1
Dies war meine Lieblingserklärung und ließ es in meinem Kopf klicken, danke!
Arjun Arun
9

Ich fand diese Antwort aus der Sicht einer Person, die nicht viel über die DB / DW-Terminologie weiß, leichter zu verstehen.

http://databases.about.com/od/datamining/a/Facts-Vs-Dimensions.htm

Ich werde empfehlen, dies zuerst durchzugehen und dann Emmad Kareems Antwort für mehr Granularität durchzugehen. Hoffe es ist hilfreich.

aa8y
quelle
1
Erste Erklärung, die völlig klar war. Ein sehr hilfreiches Beispiel in einfacher Laiensprache, das einige Details enthüllt. Jetzt verstehe ich es endlich.
Sharon
Sehr schön ... ich denke du hast recht ... lies das zuerst. Alle Antworten sind hilfreich ... aber diese hat eine Möglichkeit, das Konzept in "menschlicheren" Begriffen zu verbalisieren.
Code Novice
4

Super einfache Erklärung:

Faktentabelle: Eine Datentabelle, die Such-IDs zusammenstellt. Ist normalerweise eine der Haupttabellen, die für Ihre Anwendung von zentraler Bedeutung sind.

Dimensionstabelle: Eine Nachschlagetabelle zum Speichern von Werten (z. B. Städtenamen oder Bundesstaaten), die in der Faktentabelle häufig wiederholt werden.

RelativitySQL
quelle
2

In der einfachsten Form denke ich, dass eine Dimensionstabelle so etwas wie eine 'Master'-Tabelle ist - die sozusagen eine Liste aller' Elemente 'enthält.

Eine Faktentabelle ist eine Transaktionstabelle, die alle Transaktionen beschreibt. Darüber hinaus können aggregierte (gruppierte) Daten wie der Gesamtumsatz nach Verkäufern und der Gesamtumsatz nach Filialen - solche Tabellenarten können auch als unabhängige Faktentabellen vorhanden sein.

user5729371
quelle
2

Dimensionstabelle Die Dimensionstabelle ist eine Tabelle, die Attribute von Messungen enthält, die in Faktentabellen gespeichert sind. Diese Tabelle besteht aus Hierarchien, Kategorien und Logik, die zum Durchlaufen von Knoten verwendet werden können.

Die Faktentabelle enthält die Messung von Geschäftsprozessen und Fremdschlüssel für die Dimensionstabellen.

Beispiel - Wenn der Geschäftsprozess die Herstellung von Ziegeln ist

Durchschnittliche Anzahl von Steinen, die von einer Person / Maschine hergestellt wurden - Maß für den Geschäftsprozess

Shriraj
quelle
1
  1. Die Faktentabelle besteht hauptsächlich aus Geschäftsfakten und Fremdschlüsseln, die sich auf Primärschlüssel in den Dimensionstabellen beziehen. Eine Dimensionstabelle besteht hauptsächlich aus beschreibenden Attributen, die Textfelder sind.
  2. Eine Dimensionstabelle enthält einen Ersatzschlüssel, einen natürlichen Schlüssel und eine Reihe von Attributen. Im Gegenteil, eine Faktentabelle enthält einen Fremdschlüssel, Messungen und entartete Dimensionen.
  3. Dimensionstabellen bieten beschreibende oder kontextbezogene Informationen für die Messung einer Faktentabelle. Auf der anderen Seite liefern Faktentabellen die Messungen eines Unternehmens.
  4. Beim Vergleich der Größe der beiden Tabellen ist eine Faktentabelle größer als eine dimensionale Tabelle. In einer Vergleichstabelle werden mehr Dimensionen dargestellt als in den Faktentabellen. In einer Faktentabelle werden weniger Fakten beobachtet.
  5. Die Dimensionstabelle muss zuerst geladen werden. Beim Laden der Faktentabellen sollte man sich die Dimensionstabelle ansehen. Dies liegt daran, dass die Faktentabelle Kennzahlen, Fakten und Fremdschlüssel enthält, die die Primärschlüssel in der Dimensionstabelle sind.

Lesen Sie mehr: Dimensionstabelle und Faktentabelle | Unterschied zwischen | Dimensionstabelle vs. Faktentabelle http://www.differencebetween.net/technology/hardware-technology/dimension-table-and-fact-table/#ixzz3SBp8kPzo

Gast
quelle
-3

Dimensionstabelle: Es ist nichts anderes, als Informationen über das als Dimensionstabelle bezeichnete charakterisierte Datum zu verwalten.

Beispiel: Zeitdimension, Produktdimension.

Faktentabelle: Es ist nichts anderes, als dass wir Informationen über die Metriken oder Vorberechnungsdaten pflegen können.

Beispiel: Verkaufsfaktor, Auftragsfaktor.

Sternschema: Ein Faktentabellenlink mit dem Dimensionstabellenformular als Startschema.

Geben Sie hier die Bildbeschreibung ein

Maheshwar Reddy
quelle
2
(Dieser Beitrag scheint keine qualitativ hochwertige Antwort auf die Frage zu liefern . Bitte bearbeiten Sie entweder Ihre Antwort oder posten Sie sie einfach als Kommentar zur Frage.)
sɐunıɔ ןɐ qɐp