Data-DictionaryEin Data-Dictionary – deutsch Datenwörterbuch, Datenkatalog oder etwas unschärfer Datenverzeichnis genannt – ist ein Katalog von Metadaten, der die Definitionen und Darstellungsregeln für alle Anwendungsdaten eines Unternehmens und die Beziehungen zwischen den verschiedenen Datenobjekten enthält, damit der Datenbestand redundanzfrei und einheitlich strukturiert wird. Es ist ein Anwendungsfall eines spezifischen Datenmodells. Bei einer relationalen Datenbank ist ein Datenwörterbuch eine Menge von Tabellen und Ansichten, die bei Abfragen (etwa mit der Sprache SQL) nur gelesen werden (read-only). Das Data-Dictionary ist wie eine Datenbank aufgebaut, enthält aber nicht Anwendungsdaten, sondern Metadaten, das heißt Daten, welche die Struktur der Anwendungsdaten beschreiben (und nicht den Inhalt selbst). Aufbau und Pflege eines solchen Datenkatalogs erfolgen üblicherweise über einen interaktiven Dialog oder mit Hilfe einer Datendefinitionssprache (DDL). Aktive, passive und integrierte Data-DictionariesEin aktives Data-Dictionary reflektiert jederzeit den aktuellen detaillierten Stand des Datenmodells. Änderungen an der Struktur einer Datenbank können direkt in der Pflegeoberfläche des Data-Dictionary erfolgen, oder mit anderen Mitteln, zum Beispiel einem Kommandointerpreter einer DDL. Unabhängig davon, wie diese Änderungen erfolgen, ist die Aktualität eines aktiven Data-Dictionary immer automatisch gewährleistet. In einem passiven Data-Dictionary ist diese Synchronität nicht gegeben. Änderungen an der Struktur des Datenbank-Management-Systems (DBMS) müssen im Data-Dictionary (DD) manuell nachgepflegt werden, falls das gewünscht und wirtschaftlich möglich ist. Insbesondere DD-Produkte zur Modellierung und Dokumentation des konzeptionellen Datenmodells leiden unter dieser Problematik. Schnittstellen zwischen Mensch und SoftwareEin Datenwörterbuch kann über folgende Schnittstellen abgefragt werden:[1]
Klassifizierung von Data-Dictionaries nach der ModellierungsebeneIn der Entwicklung und Pflege von Datenmodellen werden unterschiedliche Modellierungsebenen unterschieden:
Entsprechend den unterschiedlichen Ebenen der Datenmodellierung können die Data-Dictionaries nach Unterstützung dieser Modellebenen unterschieden werden. Je nach Ebene unterscheiden sich dabei die Data-Dictionaries nach Art, Inhalt und auch Datentypen der notwendigen Metadaten, aber auch bezüglich ihrer Funktionen und Auswertungsmöglichkeiten. Data-Dictionary zur konzeptionellen/logischen DatenmodellierungZu einem Data-Dictionary zur konzeptionellen/logischen Datenmodellierung gehören:
Neben der Festlegung der wesentlichen Datenobjekte bzw. -elemente und ihren Beziehungen werden typischerweise auch ausführliche beschreibende Texte auf Ebene der jeweiligen Entitäten hinterlegt, welche untereinander mittels Hyperlink-Technik verknüpft sind. Wenn eine Organisation ein unternehmensweites Datenmodell (UwDM) aufbaut, werden zu jedem Datenelement Angaben zur anwendungsbezogenen Semantik, zum Datentyp und zur Datendarstellung zusammengetragen. Die semantischen Angaben definieren die genaue Bedeutung eines Datenelements und sind als Fließtext formuliert. Die Darstellungsregeln legen fest, wie Datenelemente gespeichert werden (z. B. Datentyp wie Integer, Text, maximale Textlänge, Eingabeformat, Ausgabeformate, zulässige Wertebereiche als Prüfregel, statische oder dynamische Menge usw.). Diese erste Form ist häufig im Funktionsumfang eines DBMS nicht als Standardfunktion enthalten. Deshalb müssen hier oft Insellösungen eingesetzt werden. Diese stellen aber in Bezug auf das DBMS ein passives Data-Dictionary dar. Änderungen am konzeptionellen Datenmodell können nicht automatisch in das physische Datenmodell des DBMS übernommen werden. Unter ISO/IEC 10027 sind Spezifikationen erarbeitet worden, die einen hersteller- und plattformübergreifenden Austausch von Informationsressourcen zwischen verschiedenen Data-Dictionaries erlauben sollen. Ein Datenkatalog kann auch als Glossar genutzt werden, indem Informationsobjekte/Entitäten, Datenelemente/Attribute und auch Beziehungen/Relationships als Begriffe betrachtet werden, deren Definitionen im jeweiligen Beschreibungsteil abgelegt werden. Das Data-Dictionary kann zu vollständigen Ontologien bzw. Klassen bzw. Geschäftsprozessmodellen weiterentwickelt werden. Wenn neben der Datenstruktur auch die Methoden zur Datentransformation beschrieben werden, spricht man von einem Repository. Data-Dictionary zur physischen DatenmodellierungZu einem Data-Dictionary zur physischen Datenmodellierung gehören genaue Angaben zu:
Diese Form ist in jedem DBMS als aktives Data-Dictionary vorhanden, ist jedoch nicht in jedem Fall für den Anwendungsprogrammierer sichtbar. Wo ein solches Data-Dictionary nicht sichtbar ist, bildet es dennoch die Datenbankstruktur als Datenbankschema, ist jedoch in verborgenen Systemtabellen abgelegt. Bei jedem Zugriff auf die Datenbank liest die DBMS-Systemsoftware das Datenbankschema, um die Struktur und den Speicherort der abgefragten Daten erkennen zu können. Funktion des Data-Dictionary in der AnwendungsentwicklungSinnvoll ist in jedem Fall die Integration der Metadaten aus dem Data-Dictionary in die Integrierte Entwicklungsumgebung (IDE). Für die dynamische bzw. generische Programmierung von Formularen und Berichten ist jedoch darüber hinaus ein für die Bedürfnisse der Anwendungsprogrammierung sinnvoll strukturiertes und sichtbares Data-Dictionary eine notwendige Voraussetzung. Die Funktionen für die konzeptionelle und die physische Datenmodellierung sind häufig nicht in einem Data-Dictionary integriert. Gravierender noch, Änderungen an der detaillierten Datenbankarchitektur werden nicht ins konzeptionelle Datenmodell zurückgespiegelt. Entweder ist eine aufwendige manuelle Nachpflege notwendig, oder Aktualität des dokumentierten Datenmodells geht verloren. Ein Data-Dictionary, das sowohl in die Datenbank, die Programmentwicklungsumgebung und die Datenmodellierungsinstrumente integriert ist, erfüllt vielfältige Funktionen:
Anwendungsübergreifende DatenkonsistenzEiner der Vorteile eines wohldefinierten Data-Dictionary ist die Konsistenz der definierten Datenelemente über verschiedene Tabellen einer Datenbank. Beispielsweise können verschiedene Tabellen das Datenelement TelefonNr enthalten; mit einem Data-Dictionary kann gewährleistet werden, dass alle Tabellen auf das gleiche Datenelement verweisen. Somit kann eine datenbankweite Konsistenz und ein Verwendungsnachweis für alle Tabellenfelder und Datenelemente erreicht werden. BNF-Syntax zum Schreiben von Data-Dictionaries (DD)– Kontext: Datenflussdiagramm (DFD), ERM, Systemmodellierung Ein DD kann in seiner groben Strukturierung in der BNF-Notation geschrieben werden und besteht dann aus mehreren Definitionen, die jeweils in einer Zeile stehen. In einer Definition wird in Form einer Zuweisung geschrieben:
Links von der Zuweisung steht ein nicht-atomarer Begriff. Rechts von der Zuweisung steht eine Regel. Eine Regel besteht aus einer Kombination von atomaren und nicht-atomaren Begriffen. Wiederholungen sind möglich. Zirkuläre Definitionen sind verboten, Rekursionen hingegen erlaubt.
Beispiel:
Siehe auch: Backus-Naur-Form (BNF bzw. EBNF), Syntaxdiagramme Eine Darstellung in dieser Form erlaubt allerdings nur das Aufzeigen der Metabegriffe und ihrer Beziehungen untereinander. In der Anwendungsentwicklung ist der einzelne Metabegriff in der Regel Träger von vielfältigen Zusatzinformationen wie
Deshalb kann die BNF-Notation zwar dazu dienen, die Entitäten aufzulisten und deren Beziehungen untereinander darzustellen. Für eine feingliederige Attributierung und tiefergehende Dokumentation wird die BNF-Notation sinnvollerweise durch ein eigentliches DD-Instrument unterstützt. Siehe auchLiteratur
Weblinks
Einzelnachweise
|