Datenmodell
Wie im Abschnitt Architektur beschrieben, wird für den Betrieb des DMC eine Datenbank als Grundlage f ür das DMC Repository benötigt. Diese umfasst mehrere Tabellen, in welchen Metadaten abgelegt werden, die für den Betrieb der DMC wichtig sind. In diesen Metadatenstrukturen werden die einzelnen Objekte über eindeutige IDs identifiziert und in deren abhängigen Komponenten über diese referenziert. Grundlegend werden das Anlegen und Verwalten dieser DMC-Metadaten über die Anwendung gesteuert, jedoch kann es im Zuge der Administration von Bedeutung sein, die grundlegenden Strukturen nachzuvollziehen.

Allgemeines
Im Kern bestehen die Metadaten aus untereinander verknüpften Tabellen, welche Informationen zu den DMC-Tabellen enthalten und zu den Mechanismen und Attributen, welche Bezug auf diese nehmen. Diese Referenz wird jeweils über eindeutige IDs innerhalb der jeweiligen Objekte realisiert. Eine grundlegende Tabelle für alle Attribute der DMC ist die Tabelle dmc_attributes. Über diese werden die Arten von Attributen und deren IDs vermerkt. Diese Attributstabellen, mit Referenz auf die dmc_attributes-Einträge, finden sich dann in Bezug auf andere Komponenten wieder.
Kategorien
Das übergeordnete Objekt des Datenmodells sind die Kategorien. In diese werden die DMC-Tabellen zugeordnet und somit auch alle weiteren abhängigen Komponenten. Die Kategorien setzen sich aus zwei Tabellen zusammen: Innerhalb der Tabelle dmc_categories werden die IDs der Kategorien sowie deren Sortierung vermerkt, wohingegen in der Tabelle dmc_category_attributes die Bezeichnungen der Kategorien mit Referenz auf deren ID abgelegt sind.
Tabellen
Den Kern der DMC-Verwaltung bilden die Tabellen ab. Die strukturellen Metadaten, wie ID, Sortierung und zugeordnete Kategorie finden sich in der dmc_tables-Tabelle. Beschreibende Merkmale, wie Name, Beschreibung oder Standardimport-Verhalten finden sich in der dmc_table_attributes-Tabelle. Die Verwaltung von erlaubten Operationen auf einer Tabelle wird anhand der ID dieser über dmc_table_grants verwaltet. Der Nutzerzugriff hingegen wird über die Tabelle dmc_table_perms abgebildet, wobei Nutzer-IDs bzw. Nutzergruppen-IDs die entsprechende Tabellen-ID zugeordnet wird.
Über die ID der entsprechenden Tabellen werden die strukturellen Metadaten der Spalten innerhalb der Tabelle dmc_columns zugeordnet. Neben dieser Verknüpfung werden hier auch Informationen, wie Datentyp, Gewichtung, Sortierung aber auch Referenzen auf Wertelisten, gepflegt. Analog zu den Tabellen-Attributen werden auch bei den Spalten Informationen zu DMC-Namen, Datenbanknamen und Defaultverhalten über eine Attributstabelle gesteuert, in diesem Fall dmc_column_attributes. Für die Verwaltung von Benutzerzugriffen auf Datensatzebene wird die Tabelle dmc_data_perms genutzt. Bei dieser werden Nutzer und Nutzergruppen auf Spalten-ID-Ebene zugewiesen.
Weitere Elemente
Im Umgang mit Tabellen bietet die DMC viele unterschiedliche Funktionalitäten, welche sich ebenso in der Datenstruktur finden lassen. So gibt es einerseits die den Tabellen über IDs zugeordneten Commands, deren gesamte Inhalte in der Tabelle dmc_commands zu finden sind. Analog hierzu werden die QS-Regeln auch einer bestimmten Tabellen-ID zugeordnet. Diese Zuordnung und alle weiteren Metadaten, wie Name, Schweregrad und SQL, werden dann in der Tabelle dmc_qs_rules abgelegt.
Auch die Tasks und Trigger referenzieren innerhalb der Metadaten-Tabelle dmc_tasks und dmc_task_triggers die betroffenen Tabellen. Über die Tabelle dmc_files werden Metadaten zu importierten Dateien, wie Excel- und CSV-Dateien abgelegt und der entsprechenden Tabelle zugeordnet.
Eine Besonderheit der verschiedenen Komponenten bilden die Wertelisten. Da diese in mehreren Tabellen und Spalten verwendet werden können, referenzieren diese keine anderen Objekte in ihrer Metadatentabelle dmc_domains. Diese werden von den Spalten in der Tabelle dmc_columns referenziert, welche die Wertelisten nutzen.
Berechtigungsverwaltung
Die Metadaten der Nutzer werden innerhalb der Tabelle dmc_users verwaltet. Hier erhalten Nutzer IDs, welche dann in den zuvor erwähnten Tabellen dmc_data_perms und dmc_table_perms bestimmten Berechtigungen zugeordnet werden. Zudem können hier auch Gruppen-IDs diesen Berechtigungen zugeordnet werden. Die Verwaltung der Gruppenmetadaten geschieht über die Tabelle dmc_roles. Die Zuordnung von Nutzern zu Gruppen geschieht über die Tabelle dmc_roles_users, wobei Nutzer-IDs Gruppen-IDs gegenübergestellt werden. Wird das AD-Anmeldeverfahren genutzt, geschieht die Zuordnung von DMC-Gruppen zu AD-Gruppen innerhalb der Tabelle dmc_role_mapping. Eine genaue Beschreibung der Verwaltung von Nutzer- und Gruppeninformationen findet sich in der Sektion Benutzer- und Rollenverwaltung.
Deployment-Sets
Die Deployment-Sets bilden eine besondere Komponente ab, da diese mehrere unterschiedliche Objekte referenzieren können. Daher werden hier für die Referenz nicht die numerischen IDs der Objekte verwendet, sondern die UUIDs, über welche die Entitäten zusätzlich verfügen. Die Objekte werden dann innerhalb der Tabelle dmc_deployment_set_entries einer Deployment-Set-ID zugeordnet. Diese IDs wiederum werden über die Tabelle dmc_deployment_sets gepflegt. Den Deployment-Sets werden innerhalb der Tabelle dmc_deployment_set_snapshots zudem Snapshots über deren ID zugeordnet.
Ein weiterer Punkt sind die gelöschten Objekte. Deren Metadaten, wie die UUID und UUIDs von übergeordneten Objekten, werden über die Tabelle dmc_deleted_objects verwaltet.
Eigenständige Änderungen oder Erweiterungen am Datenmodell erfolgen auf eigenes Risiko.
Für daraus resultierende Fehler oder Systemausfälle übernehmen wir keine Verantwortung oder Gewährleistung!
Im folgenden ist das ER-Diagramm der Datenbank von der DMC dargestellt: