Fakttabellen und -entitäten

Bei einer Fakttabelle oder Faktentität handelt es sich um eine Tabelle oder Entität in einem Stern- oder Snowflake-Schema, in der Kennzahlen zum Messen der geschäftlichen Leistung wie Umsatz, Warenkosten oder Ertrag gespeichert werden.

Durch Fakttabellen und -entitäten werden Kennzahlen oder die numerischen Daten eines Unternehmens aggregiert. Möchten Sie Daten in einer Fakttabelle oder -entität messen, müssen alle Kennzahlen in der Tabelle oder Entität die gleiche Basiseinheit aufweisen.

Sie sollten Kennzahlen verwenden, die sowohl numerisch als auch kumulativ sind, um möglichst nützliche Daten in einer Fakttabelle oder -entität zu erhalten. Durch Verwendung dieser Kennzahlen wird sichergestellt, dass Daten abgerufen und aggregiert werden können, sodass das Unternehmen die Fülle der Geschäftsdaten in der Datenbank nutzen kann.

Fakttabellen und -entitäten enthalten auch Fremdschlüssel für die Dimensionstabellen. Über diese Fremdschlüssel wird jede Datenzeile in der Fakttabelle den zugehörigen Dimensionen und Ebenen zugeordnet.

In Fakttabellen und -entitäten werden Primärschlüssel verwendet, bei denen es sich um Verbundschlüssel handelt. Ein Verbundschlüssel besteht aus einer Teilmenge weiterer Schlüssel. Wird für eine Tabelle oder Entität in einem Dimensionsmodell ein Verbundschlüssel verwendet, handelt es sich bei dieser Tabelle um eine Fakttabelle oder -entität. Die Verwendung von Verbundschlüsseln bewirkt, dass die Tabelle oder Entität eine Viele-zu-viele-Beziehung mit weiteren Tabellen oder Entitäten im Dimensionsmodell aufweist.

Fakttabellen- und Faktentitätstypen

Es gibt drei Typen von Fakttabellen und -entitäten:
Transaktion
In einer Transaktionsfakttabelle oder Transaktionsfaktentität wird eine Zeile pro Transaktion aufgezeichnet.
Periodisch
In einer periodischen Fakttabelle oder periodischen Faktentität wird eine Zeile für eine Gruppe von Transaktionen gespeichert, die in einer bestimmten Zeitperiode erfolgen.
Kumulativ
In einer kumulativen Fakttabelle oder kumulativen Faktentität wird eine Zeile für die gesamte Lebensdauer eines Ereignisses gespeichert. In einer kumulativen Fakttabelle oder -entität wird beispielsweise die Lebensdauer einer Kreditkartenanwendung aufgezeichnet, und zwar von dem Zeitpunkt, zu dem eine Anfrage gesendet wird, bis zu dem Zeitpunkt, zu dem sie akzeptiert wird.
Anmerkung: Es ist nicht möglich, den Typ der Fakttabelle oder -entität mithilfe der Workbench explizit anzugeben. Sie können Informationen zur Dokumentation hinzufügen, um die Typen der verwendeten Fakttabellen zu dokumentieren.
In der folgenden Tabelle werden die verschiedenen Typen von Fakttabellen und -entitäten verglichen. Es wird herausgestellt, dass jeder Typ einen anderen Typ von Basiseinheit aufweist und Unterschiede bei der Ausführung von Einfügungs- und Aktualisierungsoperationen bestehen. In Transaktions- und periodischen Fakttabellen und -entitäten erfolgen beispielsweise nur Einfügungsoperationen. In kumulativen Fakttabellen oder -entitäten wird jedoch zuerst die Zeile eingefügt und sobald ein Meilenstein erreicht wird und zusätzliche Kennzahlen zur Verfügung gestellt werden, wird die Tabelle oder Entität anschließend aktualisiert.
Tabelle 1. Vergleich von Fakttabellentypen
Funktion Transaktion Periodisch Kumulativ
Basiseinheit Eine Zeile pro Transaktion Eine Zeile pro Zeitraum Eine Zeile für die gesamte Lebensdauer eines Ereignisses
Dimension Datumsdimension auf der niedrigsten Granularitätsebene Datumsdimension mit der Periodenendegranularität Mehrere Datumsdimensionen
Anzahl Dimensionen Mehr als periodischer Fakttyp Weniger als periodischer Fakttyp Höchste Anzahl Dimensionen im Vergleich zu anderen Fakttabellentypen
Angepasste Dimensionen Verwendet gemeinsame angepasste Dimensionen Verwendet gemeinsame angepasste Dimensionen Verwendet gemeinsame angepasste Dimensionen
Kennzahlen Bezogen auf Transaktonsaktivitäten Bezogen auf periodische Aktivitäten Bezogen auf Aktivitäten mit einer fixen Lebensdauer
Datenbankgröße Umfangreichste Größe; tendiert auf der detailliertesten Basiseinheitenebene zu schnellem Wachstum Kleiner als die Transaktionsfakttabelle, weil die Basiseinheit der Datums- und Zeitdimension signifikant größer ist Handlichste Größe im Vergleich zu den Transaktions- und periodischen Fakttabellen
Leistung Bietet eine gute Leistung und kann durch Auswahl einer Basiseinheit, die über der detailliertesten liegt, verbessert werden Bietet eine bessere Leistung als andere Fakttabellentypen, weil die Daten mit einer weniger detaillierten Basiseinheit gespeichert werden Bietet gute Leistung
Einfügen Ja Ja Ja
Aktualisieren Nein Nein Ja, wenn ein Meilenstein für eine bestimmte Aktivität erreicht wird
Löschen Nein Nein Nein
Wachstum der Fakttabelle Sehr schnell Langsam im Vergleich zur transaktionsbasierten Fakttabelle Langsam im Vergleich zur Transaktions- und periodischen Fakttabelle
Bedarf an Ergebnistabellen Hoch, vor allem, weil die Daten auf einer sehr detaillierten Ebene gespeichert sind Nein oder sehr gering, vor allem, weil die Daten bereits auf einer stark aggregierten Ebene gespeichert sind Mittel, weil die Daten vorrangig auf der Tagesebene gespeichert sind. Allerdings befinden sich die Daten in kumulativen Fakttabellen auf einer niedrigeren Ebene als die Transaktionsebene.

Musterfakttabelle

Mit der folgenden Tabelle wird der Umsatz von Produkten verfolgt, die vom fiktiven Unternehmen Great Outdoors vertrieben werden:
GOSALESDW.SLS_SALES_FACT
ORDER_DAY_KEY
ORGANIZATION_KEY
EMPLOYEE_KEY
RETAILER_KEY
RETAILER_SITE_KEY
PRODUCT_KEY
PROMOTION_KEY
ORDER_METHOD_KEY
SALES_ORDER_KEY
SHIP_DAY_KEY
CLOSE_DAY_KEY
QUANTITY
UNIT_COST
UNIT_PRICE
UNIT_SALE_PRICE
GROSS_MARGIN
SALE_TOTAL
GROSS_PROFIT

Feedback