Surrogatschlüssel sind künstliche
Datenbankschlüssel, welche sich nicht aus den Daten der Tabelle ableiten
lassen. Für den Data Vault „Standard“ (Standard in Verbindung mit Data Vault
muss immer mit einer gewissen Vorsicht betont werden, wie ich mittlerweile bei
einigen Kunden und aus diversen Workshops gelernt habe) sind diese für die
Objekttypen „Hub“ und „Link“ verpflichtend.
Objekttypen eines Data Vault Modells |
Wie auf der Grafik zu erkennen ist, verfügt
die Tabelle „HUB_ZipCode“ in der
Farbe giftgrün über einen eigenen Surrogatschlüssel, in Form der Spalte „HUB_ZipCode_SID“. Der Link wiederum
(leuchtgrün) verfügt ebenfalls über seinen eigenen Surrogatschlüssel, hier als
Spalte „LNK_ZipCode_SID“. Lediglich
SAT-Tabellen benötigten diesen Schlüssel nicht. Dieser wird vom verbundenen Hub
vererbt.
Doch wie legt ModGen diese Schlüssel an,
bestimmt den korrekten Datentyp und sonstige Attribute? Hierfür stehen zwei
Verfahren zur Verfügung.
1. Der
HKEY
Generiert ModGen einen Surrogatschlüssel
benötigt er dafür eine Vorlage. Wir haben
darauf verzichtet, einen Default einzubauen, wäre die Chance sehr gering, dass
dieser den Anforderungen des Nutzers genügt. Stattdessen wird ModGen einen
Fehler pro Tabelle ausgeben, welche keine Vorlage für einen Surrogatschlüssel
enthält.
Eine Möglichkeit ModGen diese Vorlage zur
Verfügung zu stellen, ist der Spaltentyp „HKEY“.
Mit HKEY befüllte Spalte |
Hier haben wir eine Tabelle in unserem
Staging-Modell, welcher wir die Spalte „SurrogatTemplate“
hinzugefügt haben. Diese Spalte ist mit dem MODGEN_COLUMN_TYPE
„HKEY“ befüllt. Das bedeutet: Diese
Spalte wird von der Generierung nur dafür verwendet, als Vorlage für den
Surrogatschlüssel jenes Hubs zu dienen, welcher aus dieser Tabelle generiert
wird.
Der HKEY ermöglicht es also, pro generiertem
Hub den Surrogatschlüssel separat festzulegen. Gehen wir natürlich davon aus,
dass all unsere Surrogatschlüssel im rawVault – Modell über dieselben Attribute
verfügen, erscheint dieses Vorgehen sehr zeitintensiv. Aus diesem Grund haben
wir eine zweite Option.
2. Domain als Template für Surrogatschlüssel
Anstatt für jede Tabelle im Quellmodell ein eigenes
HKEY-Feld anzulegen, besteht die Möglichkeit, vor der Generierung in den
Advanced Options eine Domain auszuwählen, welche als Vorlage für sämtliche
Surrogatschlüssel im Zielmodell gilt. Wir haben dieses Thema bereits in Teil 1
und 4 angesprochen. Auswahl einer Advanced Options im ModGen - Menü |
Die hier gelisteten Domains welche für die
Generierung der Surrogatschlüssel zur Verfügung stehen, werden aus dem
Template-Modell bezogen und können dort individuell erstellt und gepflegt
werden. Wie das im Detail funktioniert, haben wir in Blog 4 dieser Reihe
beschrieben.
Wichtig ist zu wissen, dass ModGen in der Lage ist, beide Optionen in einem
Quellmodell zu Verarbeiten. Zuerst wird geprüft, ob ein HKEY vorliegt. Nur wenn
das nicht der Fall ist, wird auf die Advanced Option und somit auf die
ausgewählte Domain zugegriffen. Trifft gar keine der beiden Optionen zu, wird
das Objekt von der Generierung ausgeschlossen und ein Fehler im Data Vault
Compare – Dialog erzeugt.
Wir sind am Ende unserer kleinen Reihe rund um
Einsteigertipps für ModGen. Ich als Autor hoffe natürlich, dass Ihnen die Tipps
weitergeholfen haben. Selbstverständlich sollten Sie diesen Blog
weiterverfolgen, wird es nicht der letzte Beitrag zu ModGen oder anderen
spannenden Themen gewesen sein.
Fragen, Kritik oder sonstige Anmerkungen
nehmen wir gern in den Kommentaren entgegen oder treten Sie einfach direkt mit
uns in Kontakt.