Slowly Changing Dimensions (SCD) – Dimensionen, die sich im Laufe der Zeit langsam ändern, anstatt sich regelmäßig zu ändern, Zeitbasis. Im Data Warehouse müssen Änderungen an Dimensionsattributen verfolgt werden, um historische Daten zu melden. Mit anderen Worten, die Implementierung eines der SCD-Typen sollte es Benutzern ermöglichen, den Attributwert der richtigen Dimension für ein bestimmtes Datum zuzuweisen. Beispiel für solche Dimensionen könnte sein: Kunde, Geographie, Mitarbeiter.,

Es gibt viele Ansätze, wie man mit SCD. Die beliebtesten sind:

  • Typ 0-Die passive Methode
  • Typ 1-Überschreiben des alten Werts
  • Typ 2-Erstellen eines neuen zusätzlichen Datensatzes
  • Typ 3-Hinzufügen einer neuen Spalte
  • Typ 4 – Verwenden einer historischen Tabelle
  • Typ 6 – Kombinieren Sie Ansätze von Typen 1,2,3 (1+2+3=6)

Typ 0-Die passive Methode. Bei dieser Methode wird keine besondere Aktion bei Dimensionsänderungen durchgeführt. Einige Dimensionsdaten können dieselben bleiben wie beim ersten Einfügen, andere können überschrieben werden.,

Typ 1-Überschreiben des alten Werts. Bei dieser Methode wird keine Historie von Dimensionsänderungen in der Datenbank gespeichert. Der alte Dimensionswert wird einfach überschrieben, um der neue zu sein. Dieser Typ ist leicht zu pflegen und wird häufig für Daten verwendet, deren Änderungen durch Verarbeitungskorrekturen verursacht werden(z. B. Entfernen von Sonderzeichen, Korrigieren von Rechtschreibfehlern).,

Vor der Änderung:

Customer_ID Customer_Name Customer_Type
1 Cust_1 Corporate

Nach der Änderung:

Customer_ID Customer_Name Customer_Type
1 Custom_1 <

Typ 2 – Erstellen eines neuen zusätzlichen Datensatzes., In dieser Methodik wird der gesamte Verlauf von Dimensionsänderungen in der Datenbank gespeichert. Sie erfassen Attributänderungen, indem Sie der Dimensionstabelle eine neue Zeile mit einem neuen Ersatzschlüssel hinzufügen. Sowohl die vorherige als auch die neue Zeile enthalten als Attribute den natürlichen Schlüssel (oder einen anderen dauerhaften Bezeichner). Bei dieser Methode werden auch die Spalten „Gültigkeitsdatum“ und „aktueller Indikator“ verwendet. Es könnte nur einen Datensatz mit der aktuellen Anzeige auf ‚Y’geben. Für die Spalten „Gültigkeitsdatum“, dh start_date und end_date, wird das end_date für den aktuellen Datensatz normalerweise auf den Wert 9999-12-31 gesetzt., Die Einführung von Änderungen am Dimensionsmodell in Typ 2 könnte eine sehr teure Datenbankoperation sein, daher wird nicht empfohlen, es in Dimensionen zu verwenden, in denen in Zukunft ein neues Attribut hinzugefügt werden könnte.,

Vor der änderung:

Customer_ID Customer_Name Customer_Type Start_Date End_Date Current_Flag
1 Cust_1 Firma 22-07-2010 31-12-9999 Y

Nach der änderung:

– Typ 3- eine neue Spalte Hinzufügen. Bei diesem Typ wird normalerweise nur der aktuelle und vorherige Wert der Dimension in der Datenbank gespeichert., Der neue Wert wird in die Spalte „current/new“ und der alte in die Spalte „old/previous“ geladen. Im Allgemeinen ist der Verlauf auf die Anzahl der Spalten beschränkt, die zum Speichern historischer Daten erstellt wurden. Dies ist die am wenigsten benötigte Technik.,iv id=“2f5bdb6350″>

Customer_ID Customer_Name Current_Type Previous_Type 1 Cust_1 Corporate Corporate

Nach der Änderung:

Customer_ID Customer_Name Current_Type Previous_Type
1 Cust_1 Einzelhandel Corporate

Typ 4 – Historische Tabelle verwenden., Bei dieser Methode wird eine separate historische Tabelle verwendet, um alle attributhistorischen Änderungen der Dimension für jede Dimension zu verfolgen. Die Dimensionstabelle‘ main ‚ enthält nur die aktuellen Daten, z. B. die Tabellen customer und customer_history.

Aktuelle Tabelle:

Customer_ID Customer_Name Customer_Type
1 Cust_1 Firma

Historische Tabelle:

Typ 6 – Verbinden Ansätze der Arten 1,2,3 (1+2+3=6)., In diesem Typ haben wir in der Dimensionstabelle zusätzliche Spalten wie:

  • current_type-um den aktuellen Wert des Attributs beizubehalten. Alle Verlaufsdatensätze für ein bestimmtes Attributelement haben denselben aktuellen Wert.
  • historical_type-um den historischen Wert des Attributs beizubehalten. Alle Verlaufsdatensätze für ein bestimmtes Attributelement können unterschiedliche Werte haben.
  • start_date-zum Beibehalten des Startdatums des „effektiven Datums“ des Attributverlaufs.
  • end_date-zum Speichern des Enddatums des „effektiven Datums“ des Attributverlaufs.,
  • current_flag-zur Aufbewahrung von Informationen über den letzten Datensatz.

Um Attributänderungen zu erfassen, fügen wir einen neuen Datensatz wie in Typ 2 hinzu. Die current_type-Informationen werden wie in Typ 1 mit der neuen überschrieben. Wir speichern den Verlauf in einer historical_column wie in Typ 3.

Articles

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.