SQL Server Master Data Management

Das SQL Master Data Management – auch MDM genannt – dient der Organisation und Verwaltung von Stammdaten mithilfe von Tools und Prozessen. Meist tritt das Master Data Management in unternehmerischen Strukturen auf, da diese hauptsächlich mit Stammdatenmanagement arbeiten und diese entsprechend verwalten müssen.

In diesem Artikel untersuchen wir die Funktionsweise, sowie die Tools und Prozesse von Master Data Management und erläutern mithilfe von Beispielen, ob die Verwendung dessen sinnvoll für Sie und Ihr Unternehmen ist.

Grundlegende Überlegungen zur Implementierung von Master Data Management zur Stammdatenverwaltung

  1. Stammdaten Identifikation: Zuerst identifizieren wir unsere Stammdaten anhand verschiedener Faktoren im Zusammenspiel mit der Datenquelle.
  2. Stammdaten sammeln: Sobald die Daten mitsamt Datenquelle festgelegt wurden, müssen sie extrahiert und in einem zentralen Repository verwaltet, bereinigt und standardisiert werden.
  3. Data Governance: Nach dem Extrahieren der Daten sollte ein Governance Prozess zur Standardisierung der Daten durchgeführt werden.
  4. MDM Tools implementieren: Um das Stammdatenverwaltungssystem zu implementieren, bieten verschiedene Anbieter unterschiedliche Toolsets an. Wir empfehlen den Tech-Stack von Microsoft.
  5. Wartung: Die Stammdatenverwaltung ist ein kontinuierlicher und interativer Prozess, bei dem Stammdaten regelmäßig aktualisiert und gepflegt werden müssen.

Master Data Management Architektur

Um die Architektur von Master Data Management Systemen zu verstehen, haben wir Ihnen die typischen Merkmale dessen nachfolgend aufgelistet:

  • Domäne: Die Domänen trennen beispielsweise die Stammdaten nach Kunden, Lieferanten oder Produkten
  • Repository: Ein Repository definiert die Struktur von Stammdaten. Diese Struktur wird unter Verwendung vordefinierter Attribute, beispielsweise Datenbanktabellen, bestimmt.
  • Attribute: Attribute definieren die Struktur eines Repositorys. Beispielsweise als Datenbanktabellenspalten.
  • Attributgruppen: Attribute können beispielsweise basierend auf dem Geschäftsmodell, zusammengefasst werden. Eine solche Gruppe könnte “Steuerinformationen” oder “Unternehmensform” sein.
  • Geschäftsprozesse: solche Prozesse bilden reale Geschäftsprozesse ab. Darunter können bspw. Emailversand, Genehmigungsprozesse oder Korrespondenz fallen. Ein genau definierter Geschäftsprozess kann als Reihe von Verfahren zur Steuerung der Daten implementiert werden.
  • Geschäftsregeln: MDM Systeme verwenden sogenannte Regeln, die zu bestimmten Einschränkungen führen, wie z.B. ein Zahlenbereich.
  • Benutzeroberfläche: MDM Systeme haben in der Regel eine Benutzeroberfläche (UI) für Administratoren zum Erstellen und Bereitstellen von Domänen & Repositorys.

SQL Server Master Data Management
SQL Server Master Data Management

Die Master Data Services bestehen hauptsächlich aus 3 Komponenten:

  1. Master Data Services Configuration Manager: ein Tool, mit dem Sie Datenbanken und Webanwendungen erstellen und konfigurieren können
  2. Master Data Manager: eine Webanwendung, mit der Sie alle Verwaltungsaufgaben ausführen, Daten aktualisieren und auf Benutzer zugreifen können.
  3. Master Data Services-Webdienst: ein Tool, mit dem Entwickler benutzerdefinierte Lösungen für die Master Data Services entwickeln können.

Master Data Services Configuration Manager

Die zentrale MDS Datenbank ist das zentrale Repository, in dem alle Daten gespeichert werden. Folgende Elemente können darin gespeichert werden:

  • die für MDS erforderlichen Einstellungen, Datenbankobjekte und Daten
  • Staging Tabellen
  • Schemen und Datenbankobjekte zum Speichern von Daten aus Quellsystemen
  • Versionsfunktionen
  • Ansichten für abonnierende Systeme, die Daten abrufen müssen

Master Data Manager – Webanwendung

Diese Anwendung wird hauptsächlich von Entwicklern genutzt und umfasst folgende Funktionen:

  • Explorer: Datenaktualisierung und Arbeit mit MDS-Datenstrukturen
  • Versionsverwaltung: Datenvalidierung, Überprüfung von Transaktionen, Herstellen von Datenkopien und Kennzeichnen von abonnierenden Systemen.
  • Integrationsmanagement: Import von Staging-Tabellen und Erstellen von Abonnentenansichten
  • Systemadministration: Bereitstellen von Modellpaketen und Geschäftsregeln
  • Berechtigungen: Erteilen von Benutzer- & Gruppenberechtigungen für verschiedene Funktionsbereiche.

Wie bei jeder Anwendung hängt der Erfolg der Durchführung davon ab, wie sehr man mit der Funktionsweise und dessen Möglichkeiten vertraut ist. Daher empfehlen wir grundsätzlich sich Zeit bei der Implementierung und generell mit dem Master Data Manager und dessen Architektur zu nehmen.

Implementierung der Master Data Services (MDS)

Bevor wir die Implementierung starten, müssen wir MDS installieren. Wir verwenden dafür SQL Server 2016. Wichtig: MDS funktioniert nur mit der Enterprise oder Developer Version von SQL Server.

→ Vor der Installation

  1. Überprüfen wir unsere Hard- & Software Anforderungen, Web Applikationen und Datenbanken-Anforderungen für die Installation von MDS. → Die Voraussetzungen hängen oftmals vom Windows Betriebssystem und der installierten SQL Server Version ab.
  2. Wir wählen das Feature “Stammdatenliste” im SQL Server Setup aus und installieren es.
  3. Nach der Installation des Features erstellen wir eine MDS-Datenbank und eine Master-Data-Manager Webanwendung, die die davor erstellte MDS Datenbank verwendet. Wir aktivieren die Integration mit Data Quality Services und installieren das Add-In für Excel.
  4. Im Nachgang analysieren wir die Anforderungen für das Hosting der MDS Datenbanken.

Installationsaufgaben für SQL Server MDS

Im Rahmen der Installation führen wir das SQL Server Setup aus und stellen sicher, dass MDS, DQS und SSIS als Teil der Installation aufgeführt sind. Data Quality Services (DQS) werden zur Integration in MDS verwendet. SSIS wird in der Regel als Datenquelle in Staging Tabellen verwendet.

Sobald MDS installiert wurde, müssen Administratoren und Benutzer berechtigt werden, auf MDS zuzugreifen und es verwalten zu können. Verwenden Sie dafür den MDS Configuration Manager.

Ist die Konfiguration abgeschlossen, sollten Sie im Nachgang auf alle Webanwendungen und Modelle zugreifen können.

Exkurs: MDS-Fachbegriffe

Um in MDS zielführend arbeiten zu können ist es hilfreich, die Strukturen, Sprachen und Architekturen zu verstehen. Nachfolgend geben wir Ihnen einen kleinen Exkurs über alle gängigen Fachbegriffe, die in MDS verwendet werden.

  • Modell: Ein Modell ähnelt im Prinzip einer Datenbank. Es hostet Datenbankobjekte wie Entitäten, Attribute und Sammlungen. Sie werden in der Regel von einem Tätigkeitsbereich erfasst z.B. Kundenmodell, Verkaufsmodell oder Produktmodell.
  • Entitäten: Eine Entität ist in der IT ein eindeutig, zugeordnetes Informationsobjekt. Dieses ähnelt einer Tabelle in SQL Server und enthält die tatsächliche Struktur und Daten eines Modells. Gehen wir in das Kundenmodell, sind die Entitäten beispielsweise Kundenkategorien und Kundenunterkategorien.
  • Attribute: Ein Attribut beschreibt ein einzelnes Feld in einer Tabelle. Diese sind wiederum in Entitäten enthalten und können individuell differenziert werden nach Kundencode, Kundenansprechpartner, Kundenadresse.
  • Mitglieder: Ein Mitglied sind die tatsächlichen physischen Daten und Werte eines Attributs. Der Wert einer Entität wird als Mitglied bezeichnet und kann beispielsweise als Code-Attribut in einer Einheit sein.
  • Domänenbasierte Attribute: Siekönnen als untergeordnete Tabellen mit einem Feld wahrgenommen werden und dienen als Fremdschlüssel aus einer anderen Haupttabelle. Um es zu veranschaulichen: Eine Unterkategorie-Entität kann ein Kategorie-Attribut haben, das aus Mitgliedern des Kategorie-Attributs in der Kategorie-Entität gefüllt wird. Mit anderen Worten: Mitglieder domänenbasierter Attribute werden mit Mitgliedern eines anderen Attributs in einer anderen Entität gefüllt.
  • Attributgruppen: Eine Entität kann über einen bestimmten Zeitraum mehrere hunderte Attribute aufweisen. Diese können logisch in Gruppen eingeteilt werden. Die Gruppen werden dann vom Stammdatenmanager verwendet, um die Attribute in Registerkarten anzuzeigen.
  • Transaktionen: Transaktionen beschreiben im Prinzip lediglich die Änderung von Daten. Mitgliederwerte werden erstellt, aktualisiert, verschoben oder gelöscht. Diese Transaktionen können von Administratoren zurückgesetzt und für Benutzer angezeigt werden, damit die Benutzer den Änderungsverlauf verfolgen und verstehen können. 
  • Anmerkungen: Anmerkungen sind im Grunde die Beschreibungen, die bei Änderungen an den Daten oder Metadaten in MDS bereitgestellt werden. 
  • Hierarchien: Eine Hierarchie ist eine Möglichkeit, Attribute von einer oder mehreren Entitäten in einer hierarchischen Beziehung zu organisieren und zuzuordnen. Hierarchien können explizit oder abgeleitet sein. In einem Produktmodell können Sie beispielsweise eine Kategorie “Produkthierarchie” erstellen, in der Produkte einer Kategorie zugeordnet sind. Diese Art der Datenstruktur ist sehr nützlich für die Berichterstellung, da sie eine einfache Navigation der Daten ermöglicht. 
  • Sammlungen: Eine Sammlung ist vergleichbar mit einer Ansicht in SQL Server. Sie können zum Beispiel verschiedene Filterbedingungen erstellen, um die Mitglieder einer Entität auszuwählen und sie einer Sammlung hinzuzufügen. Beispielsweise erfordern eine Reihe von Berichten regelmäßig Produktmitglieder mit einem Wertattribut von weniger als Null oder einem Zeitattribut von mehr als 10. Für solche Anforderungen kann eine Sammlung in einer Entität erstellt werden, die Mitglieder gemäß diesen Kriterien enthält. Berichte können diese Sammlungen dann problemlos abfragen.
  • Geschäftsregeln: Eine Geschäftsregel ist eine Aktion, die ausgeführt wird, sobald der Attributwert ein fest definiertes Kriterium erfüllt. Wenn ein Attributwert für den “Bestand X” beispielsweise Null ist, besteht die Geschäftsregel darin, eine E-Mail zu senden, um eine bestimmte Gruppe zu benachrichtigen. Geschäftsregeln können definiert, veröffentlicht und dann auf die beabsichtigten Entitäten und Attribute angewendet werden. 
  • Validierungen: Der Prozess der Datenvalidierung beschreibt das Schema, in dem Daten gehostet werden und Geschäftsregeln für die Entität / das Attribut festgelegt wurden. Wenn Daten in einem Attribut aktualisiert werden, findet der entsprechende konfigurierte Validierungsprozess statt. 
  • Versionen: In jedem normalen SDLC wird einen Build bereitgestellt und freigegeben. In ähnlicher Weise wird in MDS im Allgemeinen eine Version der Daten erstellt und veröffentlicht, damit Benutzer die Daten nutzen können, sobald die Daten für die Freigabe durch Benutzer bereit sind. Versionen in MDS bedeuten, dass ein Datenstatus mit einer Versionsnummer und anderen versionenspezifischen Informationen gekennzeichnet wird. 
  • Benachrichtigungen: Als Aktion zur Überprüfung von Geschäftsregeln kann MDS so konfiguriert werden, dass E-Mail-Benachrichtigungen mithilfe der Datenbank-Mail-Funktion an Benutzer gesendet werden. 

SQL Server Stammdatendienstmodell

Bisher haben wir die grundlegenden Fachbegriffe und Konzepte von MDS näher erläutert. Nachfolgend starten wir nun mit der Entwicklung eines Datenmodells mit zugehörigen Entitäten, Attributen, Mitgliedern und Attributgruppen. Nach der Entwicklung sollten wir dann in der Lage sein, Beispielpakete zu erstellen.

→ Datenmodell erstellen

  1. Im Stammdaten-Manager klicken wir auf Systemadministration
  2. Auf der Seite Modellansicht wählen wir Verwalten und klicken auf Modelle
  3. Durch einen Klick auf Hinzufügen erscheint auf der rechten Seite ein Bedienfeld
  4. Wir legen nun einen Namen für unser Modell fest
  5. Wir formulieren eine Modellbeschreibung
  6. Danach wählen wir im Reiter Tage der Protokollaufbewahrung den Standardwert aus. Möchten Sie einen anderen Wert angeben, wählen Sie Nein und überschreiben Sie die Systemeinstellung mit Ihrem individuellen Wert. Wählen Sie Ja wird der Wert = 0 gesetzt.
  7. Wählen Sie Create Entity with same name as model
  8. Speichern

→ Entität erstellen

  1. Wählen Sie die Systemadministration im Stammdaten-Manager
  2. Klicken Sie auf Entitäten im Reiter Modell verwalten
  3. Wählen Sie Hinzufügen in der Entitätsverwaltung
  4. Benennen Sie die Entität
  5. Fügen Sie eine Entitätsbeschreibung hinzu
  6. Geben Sie optional den Namen für eine Staging-Tabelle ein. Alternativ wird standardmäßig der Name der Entität dafür verwendet
  7. Wählen Sie den Transaktionsprotokolltyp aus
  8. Aktivieren Sie Codewerte automatisch erstellen
  9. Aktivieren Sie Datenkomprimierung aktivieren. Standardmäßig wird hier die Zeilenkomprimierung verwendet
  10. Speichern.

→ Attribute erstellen

  1. Sie befinden sich in der Systemadministration
  2. Wählen Sie in Modell verwalten die Entitäten aus
  3. Wählen Sie die Zeile der eben erstellen Entität aus
  4. Klicken Sie auf Attribute
  5. Wählen Sie bei Attribute verwalten im Dropdown Mitgliedstypen die Option Blatt aus und klicken auf hinzufügen.
  6. Benennen Sie das Attribut
  7. Fügen Sie eine Beschreibung hinzu
  8. Legen Sie eine Pixelbreite fest, die die Breite der Attributspalte im Explorer haben soll
  9. Wählen Sie im Attributtyp Freiform
  10. Wählen Sie im Datentyp Text
  11. Geben Sie die maximal zulässige Anzahl von Zeichen an
  12. Wählen Sie Änderungsverfolgung aktivieren
  13. Speichern

Sie können verschiedene Attribute je Entität erstellen, in dem Sie die eben durchgeführten Schritte erneut wiederholen.

Attributgruppe erstellen

  1. Wir befinden uns wieder in der Systemadministration und wählen in der Modellverwaltung auf Entitäten
  2. Danach wählen wir die Entität aus, für die wir eine Attributgruppe erstellen möchten
  3. Klicken Sie auf Attributgruppen
  4. Wählen Sie Elementtypen und klicken Sie auf hinzufügen
  5. Klicken Sie auf Blattgruppen um eine Attributgruppe von Blattmitgliedern zu erstellen
  6. Benennen Sie die Attributgruppe
  7. Um ein Attribut der Gruppe hinzuzufügen, klicken Sie auf das Feld verfügbare Attribute und hinzufügen. Sie können in diesem Schritt auch alle verfügbaren Attribute hinzufügen.
  8. Über die Pfeile nach oben und unten kann die Reihenfolge der Attribute geändert werden
  9. Wählen Sie über das Feld verfügbare Benutzer die Benutzer hinzu, die Sie benötigen. Auch hier können Sie mit einem Klick wieder alle Benutzer auf einmal hinzufügen.
  10. Genauso gehen Sie im Bereich verfügbare Gruppen vor.
  11. Speichern.

Das Konstrukt bzw. den Rahmen zum Hosten von Daten haben wir in den vorherigen Schritten erstellt. Nun ist es an der Zeit, die tatsächlichen Daten hinzuzufügen.

  1. Wir befinden uns im Master Data Manager und wählen ein vorhandenes Modell aus. (Achtung: dies ist nur mit Administratorrechten möglich)
  2. Wählen Sie nun die Entität, der Sie Mitglieder hinzufügen möchten
  3. Klicken Sie auf Mitglied hinzufügen
  4. Füllen Sie im Detailbereich die Felder aus und kommentieren Sie im entsprechenden Feld den Grund, wieso dieses Mitglied hinzugefügt wurde.
  5. Bestätigen Sie den Vorgang mit ok

Mit diesen Schritten fügen wir der eben angelegten Entität Daten hinzu, die dem Beispielmodell ähneln. So stellen wir im Rahmen unserer Übung sicher, dass alle Entitäten und Attribute erstellt sind und entsprechende Mitglieder enthalten. Wir empfehlen die Entitäten und Attribute im ProductSample-Modell zu entwickeln, sodass Sie weiterhin Erfahrungen in der effizienten Entwicklung von MDS Konstrukten sammeln können.

Importieren von Daten im Stammdatenmanager

In jedem Datenhosting- & Verwaltungssystem sollte ein Quellsystem implementiert werden. Wir haben in den vergangenen Schritten die Daten manuell hinzugefügt. Im Regelfall werden regelmäßig Daten von vorhandenen Systemen importiert und mit den Datenrepositories zusammengeführt. Im Folgenden erläutern wir, wir Sie Daten in Master Data Services importieren und die Integration in externe Quellsysteme ermöglichen.

Entweder, wir verwenden das bereits erstellte ProductSample oder verwenden eines der Beispielmodelle. Wichtig ist, dass ähnliche Entitäten, Attribute und Elemente vorhanden sind.

Wir befinden uns wieder im Stammdaten-Manager und navigieren zur Color Entität des Modells. Haben Sie eine neue Entität erstellt, sind standardmäßig zwei Attribute verfügbar (Name & Code). Folgende Ansicht sollten Sie nun haben:

Wenn Sie eine neue Entität erstellen, wird eine passende Staging Tabelle in der Datenbank erstellt. Alle Staging Tabellen sind Teil eines stg-Schemas. Da es sich die Attribute in der Entität Color auf Blattebene befinden, hat die Tabelle das Suffix _leaf. Öffnen Sie nun das SQL Server Management Studio (SSMS) und navigieren zur MDS-Datenbank, können Sie die Tabelle mit dem Namen stg.Color_leaf finden. Jedoch werden Sie bei einer Abfrage dessen feststellen, dass diese Tabelle keine Datensätze enthält. Die Staging Architektur erwartet, dass Daten von externen Systemen in entsprechende Tabellen geladen werden. Dafür wird beispielsweise ein ETL-Tool wie SSIS (SQL Server Integration Services) verwendet, um Daten zu extrahieren und in Staging-Tabellen zu laden. Das MDS System erkennt ebendiese Daten inkl. der beabsichtigten Funktion und inkludiert diese in die bestehenden Entitäten und Tabellen.

In unserem Beispiel möchten wir eine Änderung der Farbentität vornehmen. Dafür fügen wir mit dem Code “vio” und dem Namen “violet” eine neue Produktfarbe hinzu.

USE [MDS]
GO

INSERT INTO [stg].[Color_Leaf]
  ([ImportType]
  ,[ImportStatus_ID]
  --,[Batch_ID]
  ,[BatchTag]
  --,[ErrorCode]
  ,[Code]
  ,[Name]
  --,[NewCode]
  )
  VALUES
    (1
    ,0
    ,N'Batch 1'
    ,N'VIO'
    ,N'VIOLET'
    )
GO

Öffnen wir nun das Master Data Management Integration Management, sollten wir nun den Datensatz finden, den wir gerade zur Staging Tabelle hinzugefügt haben.

Wählen Sie nun den Datensatz aus und klicken auf Start Batches um den Datensatz in die Entität _Farbe zu importieren. Sie werden nun aufgefordert, die Version des Modells auszuwählen, zu der Sie den Datensatz hinzufügen möchten. Wenn Sie keine Version erstellt haben, wird die Standardversion 1 angezeigt. Wählen Sie dann entsprechend diese aus. Stellen Sie zusätzlich sicher, dass der SQL Server Agent ausgeführt wird und der Job MDS_MDS_Sync aktiviert ist. Der Zusammenführungsprozess startet und sobald dieser erfolgreich abgeschlossen ist, sollte der Status Completed angezeigt werden:

In diesem Abschnitt haben wir uns nun die Staging Architektur näher angeschaut und eine Beispielaufgabe zum Speichern und Importieren von Daten durchgeführt.

Erstellen von Hierarchien für SQL Server Stammdatendienste

Im Stammdatenmanagement ist die Verwaltung von Datenstrukturen der essentielle Kernaspekt. Entitäten und die gehosteten Daten sind vielfältig und werden an verschiedenen Orten und Formen gespeichert und veröffentlicht. Daher ist es umso wichtiger, Struktur in diese Vielfältigkeit zu bringen, sie zu organisieren und vor eventuellen Diskrepanzen zu bewahren. In MDS wird zwischen zwei Medien unterschieden. Zum Einen gibt es die Collections und zum Anderen die Hierarchien. Die Collections werden wir jedoch außer Acht lassen, da dies dem eher schon veralteten SQL Server 2016 zuzuordnen ist. Wir konzentrieren uns in diesem Abschnitt auf die Hierarchien in MDS. Auch hier gibt es wieder Unterschiede bzw. zwei Arten von Hierarchien. Es gibt explicit und derived Hierarchien. Da auch die explicit Hierarchien zu SQL Server 2016 zuzuordnen und damit ebenfalls veraltet sind, konzentrieren wir uns nun auf die derived / abgeleiteten Hierarchien mit einer passenden Übung. Wir beachten drei verschiedenen Entitäten: ProductCategoryProductsProductSubCategory.

Die Entität Products enthält ein domänenbasiertes Attribut mit dem Namen SubCategory. Die Entität ProductSubCategory enthält das domänenbasierte Attribut mit dem Namen Category.

  • Datenelemente der Entität ProductCategory: Autos, Fahrräder, Hemden & Schuhe
  • Datenelemente der Entität ProductSubCategory: Ferrari, BMW, Mercedes und Lamborghini mit der Kategorie Autos
  • Datenelemente der Entität Products: Ferrari-A, Ferrari-B, Ferrari-C und Ferrari-D mit der Unterkategorie Ferrari.

Um die Hierarchie zu erstellen, klicken wir im Stammdatenmanager auf die Systemverwaltung und wählen die Option “derived Hierarchien”. Über hinzufügen erstellen wir eine neue Hierarchie mit dem Namen ProductsCarHierarchy. Wir klicken auf die Schaltfläche Bearbeiten und ziehen die Elemente per Drag & Drop von links nach rechts, um die Hierarchie zu konfigurieren. Die Erstellung der abgeleiteten Hierarchie ist damit abgeschlossen.

Wenn die Hierarchie veröffentlicht wird, erscheint sie in einer MDS-Datenbank-Ansicht, die von Abonnenten verwendet werden kann. Diese Ansicht enthält versionenspezifische Informationen, sowie hierarchische Informationen, die zum Erstellen der Struktur in der Anwendung verwendet werden.

USE [MDS]
GO

SELECT [VersionName] --,[VersionNumber] ,[Version_ID] ,[VersionFlag]
  ,[Hierarchy]
  ,[Parent_EntityName] -- ,[Parent_Entity_ID]
  ,[ParentType_ID] 
  ,[Parent_ID] 
  ,[ParentCode] 
  ,[ParentName]
  ,[ChildName] 
  ,[ChildType_ID] 
  ,[ChildID] 
  ,[ChildCode] 
  ,[Child_EntityName] -- ,[Child_Entity_ID]
FROM [mdm].[mdmProductHierarchy]
GO

Dieser Abschnitt hat uns gezeigt, dass wir auch Daten und Strukturen in MDS speichern können, ohne dass sie vorab für Abonnenten freigegeben sind. Als nächstes werden wir uns mit den Geschäftsregeln in MDS beschäftigen.

Geschäftsregeln für Stammdatendienste

Nachdem wir nun Struktur und Ordnung in unsere Daten gebracht haben, können sie für den Gebrauch in Clientanwendungen verfügbar gemacht werden. Dafür müssen wir diese Daten anhand von Geschäftsregeln validieren und dafür sorgen, dass alle notwendigen Attribute vorhanden und gefüllt sind. Wir erstellen dafür ein eigenes Repository für Geschäftsregeln.

Wir verwenden das ProductSample-Modell, welches wir bereits installiert haben. Auch hier öffnen wir wieder die Systemadministration des Stammdaten-Managers und wählen im Menü den Punkt Geschäftsregeln. Wir wählen das ProductSample Modell und die Entität Products aus. Über die Schaltfläche add erstellen wir eine neue Geschäftsregel für diese Entität.

Ein Pop-Up Fenster öffnet sich und fordert uns auf, die Regel zu definieren. Wir erkennen, dass die Geschäftsregeln in MDS eine Wenn-Dann-Sonst Formel Struktur haben.

Gestalten Sie Ihre Geschäftsregel nach Belieben. Über die Verlinkung “add” können Sie bereits konfigurierte Bedingungen und Aktionen auswählen. So können Sie beispielsweise bestimmte Bedingungen zu bestimmten Attributen hinzufügen.

Die Reihenfolge der Geschäftsregeln können wir ebenfalls flexibel verändern.

Um Die Daten anhand der Regeln zu validieren, klicken Sie im Master Data Manager auf die Versionsverwaltung. Im Menüpunkt Version validieren wählen Sie das ProductSample Modell und die Version_1 aus.

Nach diesem Schema, können Sie ganz simpel Geschäftsregeln erstellen, um Daten zu validieren. Als Nächstes stehen wir kurz vor Ende des Prozesses, der Veröffentlichung.

Veröffentlichung von Daten

Um die erstellten Datenstrukturen nun für die Systemabonnenten zu veröffentlichen, beachten wir folgende Schritte:

  1. Der Administrator sperrt das Modell für weitere Änderungen.
  2. Das Modell wird anhand von den eben erstellen Geschäftsregeln validiert. Ist die Validierung erfolgreich, wird das Modell festgeschrieben und es können keine weiteren Änderungen vorgenommen werden.
  3. Eine Versionsnummer wird erstellt, die jedem Objekt und Datenmodell zugeordnet ist.
  4. Ein Flag wird erstellt, die dem Datenmodell zugeordnet ist.

Diese vier Schritte beschreiben den ersten Teil des Veröffentlichungsprozesses, in dem die Daten final “eingefroren” werden.

Mit dieser Methode werden Stammdaten und Datenbankobjekte für Abonnenten verfügbar gemacht. In den Ansichten sind alle spezifischen Versionsinformationen enthalten, die für den Abonnenten notwendig sind und verwendet werden können.

Nach der Veröffentlichung der Daten sollten die Abonnenten der Datensätze aktualisiert und Versionsflags gesetzt werden, um diese Daten zu referenzieren. Möchten wir nun doch noch Änderungen vornehmen, müssen wir das festgeschriebene Modell kopieren und mit einer neuen Versionsnummer versehen. Um diese ganzen Schritte zu verinnerlichen, zeigen wir im nächsten Abschnitt einige Best Practices.

Best Practices

  1. Die Datenmodellierung in Master Data Services oder Master Data Management sollte im Allgemeinen von einem konzeptionellen Datenmodell gesteuert werden. Wenn man ein Master Data Management Modell entwickelt, in dem die Anforderungen nur von einem Abonnementsystem gesammelt werden, ist es für das MDM System nicht sonderlich hilfreich und würde fast mit einem erweiterten Referenz-Repository gleichgesetzt werden.
  2. Halten und verwalten Sie Ihre Daten so diskret wie möglich. In einigen Fällen ist es hilfreich, Attribute aufzutrennen und jeden Teil des Datensatzes in ein entsprechendes Feld zu speichern. Dies erleichtert die Übersichtlichkeit und Detailebene.
  3. Ein Modell in MDS spiegelt den geschäftlichen Standpunkt einer Organisationsstruktur inkl. aller Geschäftseinheiten wieder. Es wird daher empfohlen, ein Vertrauensvotum bei allen Verantwortlichen einzuholen. Abonnenten sollten nicht zu den Hauptakteuren in MDM Anwendungen werden und Prozesse eigenmächtig steuern. Abonnenten können und sollen die Hauptakteure im Veröffentlichungsprozess sein und eine Schnittstelle bilden.
  4. Im Allgemeinen sind Änderungsverfolgungen nicht für jede Entität und jedes Attribut notwendig. Wenn es sich jedoch bei Ihrem Quellsystem um ein Data Warehouse handelt, können Datenänderungen häufiger auftreten, für die eine entsprechende Attributsänderung notwendig ist. Wir empfehlen die Änderungsverfolgung daher selektiv zu verwenden.
  5. Verwenden Sie für die Datenbereinigung Datenreinigungstools, die mithilfe von Geschäftsregeln und Wissensdatenbanken kombinierbar sind. Damit verringern Sie das Potenzial einer übermäßigen Bereinigung von Daten aus Quellsystemen und Staging-Tabellen. Diese Schemata werden häufiger in Data Quality Services verwendet.

Fazit

Dieser umfangreiche Artikel berichtete detailreich über alle Bereiche des Master Data Managements. Sowohl Architektur, als auch Terminologie haben wir behandelt, genauso haben wir Ihnen einige Beispielmodelle und Best Practices vorgestellt, sodass Sie nun in der Lage sein sollten, eigenmächtig im Master Data Management System handeln und agieren zu können. Festzuhalten ist, dass jede MDM- & MDM Lösung eine durchdachte Architektur braucht. Zum effektiven Stammdatenmanagement ist es wichtig, richtige Konstrukte und Anforderungen zu implementieren.