Schritt 3: Dimensionen angeben

Nachdem Sie die Basiseinheit Ihres Modells festgelegt haben, geben Sie die Dimensionen an, die dieser Basiseinheit entsprechen. Sie erstellen Spalten, Hierarchien und Fälle für Snowflaking-Strukturen.
Die folgenden Metadaten werden erfasst, wenn Sie die Dimensionstabellen angeben:
Führen Sie die folgenden Schritte aus, um die Dimensionen Ihres Dimensionsmodells vollständig zu definieren:
  1. Dimensionen, die der Basiseinheit Ihres Modells entsprechen, ermitteln
  2. Dimensionale Spalten und Hierarchien Ihrer Dimensionen ermitteln
  3. Granularität der Dimensionen definieren, wenn Zeit- und Datumsdimensionen erstellt werden
  4. Ermitteln, welche Dimensionen sich im Zeitverlauf langsam ändern und wie diese Änderungen gehandhabt werden sollen
  5. Ermitteln, ob Dimensionen Snowflake-Strukturen aufweisen müssen

Dimensionen angeben

Geben Sie die Dimensionen an, die der Basiseinheit Ihres Modells entsprechen.

Dimensionstabellen enthalten Spalten, die die Faktsätze in der Fakttabelle beschreiben. Manche dieser Spalten stellen beschreibende Informationen bereit. Andere geben an, wie die Daten in der Fakttabelle zusammengefasst sind, um nützliche Informationen bereitzustellen. Dimensionstabellen enthalten Hierarchien, die zur Zusammenfassung von Daten verwendet werden. Dimensionstabellen sind kleinere, denormalisierte Suchtabellen, die beschreibende Spalten enthalten, die Sie bei der Definition von Abfragen referenzieren.

Weitere Informationen zu Dimensionstabellen finden Sie unter Dimensionstabellen und -entitäten.

Führen Sie zum Angeben von Dimensionen die folgenden Schritte aus:
  1. Lokalisieren Sie mögliche Dimensionen anhand der Basiseinheitendefinitionen.
  2. Listen Sie alle dieser Basiseinheit zugeordneten Dimensionen auf. Definieren Sie den in die betreffende Dimension einzubeziehenden Detaillierungsgrad.
  3. Definieren Sie die Ersatzschlüssel für die Primärschlüssel der Dimensionen. Weitere Informationen zu Ersatzschlüsseln finden Sie unter Ersatzschlüssel.

Gemeinsame Dimensionen ermitteln

Ermitteln Sie gemeinsame Dimensionen, die verfügbar sind, statt die Dimensionen zu überarbeiten. Ermitteln Sie, ob eine verwendete Dimension innerhalb des Data-Warehouses oder Dimensionsmodells des Unternehmens vorhanden ist. Weitere Informationen zu gemeinsamen Dimensionen finden Sie unter Gemeinsame Dimensionen.
Führen Sie zum Angeben einer gemeinsamen Dimension die folgenden Schritte aus:
  1. Ermitteln Sie, ob eine Dimension vorhanden ist. Ist sie vorhanden, müssen Sie diese Dimension verwenden. Ist die Dimension vorhanden, geben Sie keine Dimensionsattribute für die betreffende Dimension an. Nutzen Sie eine Dimension mit einer vorhandenen Dimension gemeinsam, auch wenn die gemeinsam genutzte Dimension nur eine Teilmenge der Attribute aus der primären Dimension enthält.
  2. Ist die Dimension nicht vorhanden, erstellen Sie eine Dimension, die Sie im gesamten Unternehmen verwenden. Entwerfen Sie eine neue Dimension, wenn das Dimensionsmodell eine Dimension erfordert, die noch nicht vorhanden ist. Setzen Sie sich beim Entwerfen dieser Dimension mit Experten auseinander, um herauszufinden, wie diese die Dimension verwenden möchten.

Dimensionale Spalten und Hierarchien angeben

Füllen Sie die Dimensionen, nachdem diese angegeben wurden, mit Spalten. Definieren Sie anhand der beschreibenden Spalten die Beschränkungskriterien für Abfragen.

Berücksichtigen Sie beim Entwerfen Ihrer Dimensionen die folgenden Punkte:
Quellensystemschlüssel beibehalten
Verwenden Sie einen separaten Eintrag in der Dimensionstabelle, um den natürlichen Quellensystemschlüssel der im Quellensystem verwendeten Entität beizubehalten.
Ersatzschlüssel verwenden
Verwenden Sie einen Ersatzschlüssel für den Primärschlüssel der Dimension. Der Ersatzschlüssel wird nicht analysiert. Weitere Informationen zu Ersatzschlüssel finden Sie unter Ersatzschlüssel.
Beschreibende, eindeutige Spalten im Modell erstellen

Die Spalten einer Dimension spiegeln die potenziellen Interessengebiete wider, die Sie zum Aggregieren von Daten oder zum Erstellen von Integritätsbedingungen und Gruppenwechseln verwenden können.

Erstellen Sie Spalten, die beschreibend und leicht verständlich sind.

Definieren Sie Spalten, die einen Nullwert enthalten, wenn eine Spalte für ein bestimmtes Element nicht gilt oder dessen Wert unbekannt ist.

Definieren Sie im Modell eindeutige Spaltennamen. Erstellen Sie Unterscheidungskriterien, wenn doppelte Namen in unterschiedlichen Dimensionstabellen vorkommen. Beispiel: Wenn mehrere Spalten den Namen Adresstypcode haben, nennen Sie eine Spalte Adresstypcode Anspruchsberechtigter und eine weitere Spalte Adresstypcode Zusatzkosten.

Dokumentieren Sie alle Spalten ordnungsgemäß.

Handhabungscodes
Wenn Sie Codes in Ihrer Dimension verwenden, stellen Sie eine Dokumentation der Codes bereit. Wenn Sie z. B. Filialen über Filialcodes angeben, die jeweils für einen Filialnamen stehen, geben Sie sowohl den Code als auch den Namen an.

Nach der Definition der Spalten können Sie die Hierarchien der Dimension definieren. Eine Hierarchie stellt eine kaskadierte Folge von Viele-zu-eins-Beziehungen dar. Eine Hierarchie enthält unterschiedliche Ebenen, die jeweils einem Dimensionsattribut entsprechen. Weitere Informationen zu Hierarchien finden Sie unter Hierarchien.

Granularität der Datums- und Zeitdimensionen ermitteln

Ermitteln Sie die Granularität der Datums- und Zeitdimensionen. Die Datums- und Zeitdimensionen erleichtern Ihnen die Bestimmung der Granularität des gesamten Dimensionsmodells und des im Modell gespeicherten Informationsumfangs. Wenn Sie eine falsche Basiseinheit entweder in der Datums- oder in der Zeitdimension definieren, werden möglicherweise wichtige Dimensionen übergangen. Wenn Sie z. B. ein Dimensionsmodell für ein Auftragsverwaltungssystem entwerfen und Quartal als Basiseinheit der Datumsdefinition definieren, können Ihnen viele weitere Dimensionen (wie Zeit und Mitarbeiter) entgehen. Sie können diese weiteren Dimensionen einbeziehen, wenn als Basiseinheit der Datumsdimension die Tagesebene im Modell definiert ist.
Datumsdimension
Da alle Dimensionsmodelle auf Zeiteinheiten basieren, weist jedes Datamart eine Datumsdimension auf. Angenommen, Sie möchten die Leistung des Unternehmens in einem bestimmten Zeitraum messen. Ein Dimensionsmodell kann mehrere Datumsdimensionen enthalten.
Mit der Datumsdimension ist üblicherweise kein OLTP-Quellensystem verbunden. Sie können die Datumsdimensionen entwickeln, bevor Sie das Dimensionsmodell entwerfen. Führen Sie zum Erstellen einer Datumsdimension die folgenden Schritte aus:
  1. Ermitteln Sie alle erforderlichen Spalten.
  2. Füllen Sie Spalten wie Datum, Tag, Monat und Jahr der Datumsdimensionstabelle mithilfe von SQL-Anweisungen auf. Sie müssen möglicherweise manuell Daten für spezielle Spalten eingeben. Wenn Sie beispielsweise arbeitsfreie Tage (wie Feiertage) verfolgen, sollten Sie Erster Weihnachtsfeiertag oder Zweiter Weihnachtsfeiertag manuell eingeben. Sie sollten auch Daten wie Geschäftsdatum, Geschäftsmonat, Geschäftsquartal und Geschäftsjahre manuell eingeben.
Datumsdaten werden aus zwei Gründen häufig in einer separaten Datumsdimension (statt der Datumsspalte in einer Fakttabelle) gespeichert:
  • Es gibt mehrere Datumsattribute, die von den SQL-Datumsfunktionen nicht unterstützt werden. Dazu zählen Rechnungslegungszyklen, Feiertage, Jahreszeiten, Wochentage, Wochenenden und nationale Termine. Beim Erstellen einer Datumsdimension kann sich das Unternehmen die Leistungsindikatoren des Unternehmens anhand verschiedener fiskalischer und datumsabhängiger Attribute anschauen. Die Leistungsindikatoren sind nicht sichtbar, wenn Sie eine SQL-Datums- oder -Zeitspalte innerhalb der Fakttabelle verwenden.
  • Es ist viel einfacher, die Spalten aus einer Datumsdimension zu ziehen, statt die Logik für die Berichte mithilfe komplexer SQL-Funktionen zu erstellen.
Zeitdimension
Sie können die Zeit in der dimensionalen Modellierung auf zwei Arten handhaben:
  • Uhrzeit als separate Dimension
  • Uhrzeit als Faktobjekt
Sie sollten Zeitdaten in einer Dimensionstabelle und nicht als Faktobjekt in einer Fakttabelle handhaben. Sie sollten eine Zeitdimension erstellen, wenn Sie die Zusammenfassung von Zeitperioden in stärker zusammengefasste Gruppierungen für Berichterstellungs- und Analysezwecke unterstützen müssen. Erstellen Sie beispielsweise eine Zeitdimension für die folgenden zusammengefassten Gruppierungen:
  • Stunden
  • Geschäftsspezifische Zeitgruppierungen (Frühschichten, Spätschichten oder Überstunden)
Sie sollten auch eine Zeitdimension erstellen, wenn Sie unterschiedliche Hierarchien für die gemessene Zeit darstellen möchten. Erstellen Sie beispielsweise unterschiedliche Hierarchien für die Zeit im 12- und 24-Stunden-Format.
Wenn Sie jedoch Uhrzeitgruppen nicht zusammenfassen oder filtern, drücken Sie die Zeit als Faktobjekt in der Fakttabelle aus. In diesem Fall wird die Zeit als einfaches numerisches Faktobjekt behandelt, und zwar mit dem Datentyp Zeitmarke (Timestamp).
Anmerkung: Die als Faktobjekt in der Fakttabelle ausgedrückte Zeit erschwert den Berichterstellungs- und Zusammenfassungsprozess, wenn Sie Daten analysieren müssen, die über einen Zeitraum hinweg gespeichert wurden. Sie können Daten ohne großen Aufwand zusammenfassen und Berichte dazu erstellen, wenn Sie eine separate Zeitdimension erstellen.

Slowly Changing Dimensions ermitteln

Sie müssen Slowly Changing Dimensions ermitteln und festlegen, wie die sich ändernden Daten gehandhabt werden sollen.

Bei einer Slowly Changing Dimension handelt es sich um eine Dimension, deren Attribute für einen Datensatz sich langsam im Zeitverlauf ändern. Beispiel: Sie müssen Mitarbeitertransfers innerhalb des Unternehmens verfolgen.

Die Workbench unterstützt die folgenden Typen von Slowly Changing Dimensions:
Typ 0
Es werden keine Änderungen an der Dimension vorgenommen.
Typ 1
Die alten Daten werden durch neue Daten überschrieben. Langzeitänderungen werden nicht verfolgt.
Typ 2
Bei dieser Methode werden zwei separate Einträge erstellt. Sowohl der Originalsatz als auch der neue Satz ist in der Tabelle verfügbar. Die neue Zeile erhält einen eigenen Primärschlüssel (Ersatzschlüssel).
Typ 4
Es werden separate Tabellen erstellt, in denen die Langzeitdaten teilweise oder vollständig gespeichert werden. Nur eine Tabelle enthält die aktuellen Daten. Erfolgen Aktualisierungen, werden die alten Daten in eine Langzeittabelle verschoben.
Typ 6
Typ 1, Typ 2 und Typ 3 (die Daten in separaten Spalten in der gleichen Tabelle speichern) werden kombiniert. Üblicherweise werden die alten Daten in separate Sätze und Spalten verschoben und die neuen Daten in den Originalsätzen gespeichert.

Fälle für Dimensionen mit Snowflaking-Strukturen

Sie erstellen einen Snowflake-Schemaentwurf, wenn Sie die Dimensionstabellen in einem Sternschema normalisieren und erweitern. Eine Dimensionstabelle weist eine Snowflaking-Struktur auf, wenn die Attribute mit niedriger Kardinalität in der Dimension entfernt wurden, um normalisierte Tabellen zu trennen. Diese normalisierten Tabellen werden dann wieder mit der ursprünglichen Dimensionstabelle verknüpft.

Anmerkung: Snowflaking-Strukturen im Dimensionsmodell sind nicht empfehlenswert. Sie erschweren das Verständnis des Dimensionsmodells. Sie können auch zu einer geringeren Leistung führen, weil Sie mehr Tabellen verknüpfen müssen.
Sie müssen nur in zwei Fällen Snowflaking-Strukturen für eine Dimension in einem Dimensionsmodell erstellen:
  • Die Dimensionstabelle enthält mindestens zwei Gruppen von Attributen, die Informationen in unterschiedlichen Basiseinheiten definieren.
  • Sie füllen die Gruppen von Attributen der gleichen Dimensionstabelle über unterschiedliche Quellensysteme auf.
Erstellen Sie keine Snowflaking-Strukturen von Hierarchien einer Dimensionstabelle in separaten Tabellen. Hierarchien sollten nur zur Dimensionstabelle gehören. Erstellen Sie keine Snowflaking-Strukturen der Hierarchien. Mehrere Hierarchien können zur gleichen Dimension gehören, wenn die Dimension mit dem geringstmöglichen Detailgrad erstellt wurde.

Wenn Hierarchien auf separate Tabellen aufgeteilt werden, wirkt sich dies auf die Leistung aus, weil mehr Joins erforderlich sind. In manchen Situationen können Sie Snowflaking-Strukturen der Hierarchien einer Haupttabelle erstellen. Wenn Sie ein Aggregat der Fakttabelle verwenden, erstellen Sie nur Snowflaking-Strukturen von Dimensionen mit Hierarchien, um Joins mit großen Dimensionstabellen zu vermeiden. Beispiel: Wenn Sie Markeninformationen von einer Produktdimensionstabelle trennen möchten, erstellen Sie eine Snowflake-Dimension für Marke, die eine einzelne Zeile für jede Marke enthält. Dabei verwenden Sie weniger Zeilen als in der Produktdimensionstabelle.

Anmerkung: Wenn Sie zu viele Tabellen in einem Snowflake-Schema verwenden, wird der Entwurf zu komplex. Bei der dimensionalen Modellierung wird versucht, ein einfaches, verständliches Modell zu erstellen. Wenn Sie mehr Tabellen haben, müssen Sie mehr Joins erstellen. Die Leistung nimmt ab, wenn Sie mehr Joins erstellen.

Feedback