Data Dictionary

Data Dictionary

Ein Data Dictionary – in deutscher Übersetzung auch Datenwörterbuch, Datenkatalog oder etwas unscharf Datenverzeichnis genannt – ist ein Katalog von Metadaten, der die Definitionen und Darstellungsregeln von Datenelementen enthält. Es beschreibt alle Anwendungsdaten eines Unternehmens und die Beziehungen zwischen den verschiedenen Datenobjekten mit dem Ziel einer redundanzfreien und zentralen Definition der Datenstrukturen und entspricht somit einer Darstellung des anwendungsspezifischen Datenmodells.

Im Kontext einer relationalen Datenbank ist ein Data Dictionary eine Menge von Tabellen und Sichten, die von der Abfragesprache (etwa SQL) nur gelesen werden (read-only). Das Data Dictionary ist dabei wiederum als eine Datenbank aufgebaut, enthält aber nicht direkt die Anwendungsdaten, sondern Metadaten, das heißt Daten, welche die Struktur (nicht den Inhalt) der Anwendungsdaten beschreiben. Aufbau und Pflege des Data Dictionary erfolgen typischerweise über einen interaktiven Pflegedialog oder mit einer Datendefinitionssprache (DDL).

Inhaltsverzeichnis

Aktive, passive und integrierte Data Dictionaries

Ein 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 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 vom Data Dictionary zu Mensch und Software

Ein Data Dictionary kann über folgende Schnittstellen konsultiert werden:[1]

  • Benutzerschnittstelle
    • Datendesigner, -modellierer
    • Anwendungsprogrammierer
    • Endbenutzer
    • Datenbankadministrator
  • Software- und DBMS-Schnittstelle
    • Compiler/Precompiler
    • Integrierte Entwicklungsumgebung (IDE) bei Integration des Data Dictionary im Sinne von CASE
    • Anwendungsprogramme
    • Berichts-/Formulargeneratoren
    • Query Optimizer
    • Integrity Constraint Enforcer

Unterscheidung von Data Dictionaries nach Modellierungsebene

In der Entwicklung und Pflege von Datenmodellen werden unterschiedliche Modellierungsebenen unterschieden:

  • Konzeptionelle Ebene (in der Regel bezogen auf ein Anwendungsgebiet, in der Wirtschaftsinformatik oft auch unternehmensweit oder sogar unternehmensübergreifend)
  • Logische Ebene
  • Physische Ebene, in der das konzeptionelle/logische Datenmodell bezogen auf ein bestimmtes DBMS abgebildet und umgesetzt wird.

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 Datenmodellierung

Zu 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 jeder Entität und jedem Datenelement Informationen zur anwendungsbezogenen Semantik, zum Datentyp und zur -darstellung zusammengetragen. Die semantischen Komponenten fokussieren auf die Abbildung der genauen Bedeutung eines Datenelements und sind als Fließtext formuliert. Die Darstellungsregeln definieren, 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 abgesetzte Insellösungen verwendet 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 (siehe unten) sind Spezifikationen erarbeitet worden, die einen hersteller- und plattformübergreifenden Austausch von Informationsressourcen zwischen verschiedenen Data Dictionaries erlauben sollen.

Ein Data Dictionary 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 Datenmodellierung

Zu 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 Anwendungsentwicklung

Sinnvoll 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 Datenmodellmodellierung 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:

  • Es beschreibt alle persistenten Daten eines Anwendungsgebiets, z. B. in Form eines unternehmensweiten Datenmodells
  • Aufgrund der Data Dictionary -Daten können Bildschirmmasken automatisch generiert werden (siehe generative Programmierung).
  • Die Struktur einer Datenbanktabelle kann von einem Programm ausgelesen werden.
  • Programme können die Datentypen und –strukturen von Tabellen lesen, die zum Zeitpunkt des Programmentwurfs noch gar nicht existiert haben. Bei geeigneter Sprachunterstützung wird eine statisch fixierte Datendefinition im Programmtext obsolet. Das Data Dictionary ist somit ein zentrales Instrument in der Anwendungsentwickung, wenn es darum geht, Datendefinition und -modellierung von der Programmentwicklung zu entkoppeln.

Anwendungsübergreifende Datenkonsistenz

Einer 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:

<Nicht-Atomarer Begriff> = <Ausdruck>

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.

= Zuweisung
() Optional
[ | ] Auswahl
{} Wiederholung

Beispiel:

Kundenkarte = Anrede + (Titel) + Vorname + Name + {Adresse} + Telefon
Adresse = Strasse + Hausnummer + PLZ + Ort
Telefon = Vorwahl + { [0|1|2|3|4|5|6|7|8|9] }
Vorwahl = 0 + [1|2|3|4|5|6|7|8|9] + { [0|1|2|3|4|5|6|7|8|9] }
Strasse = string
Hausnummer = string
Vorname = string
Name = string

Siehe auch: Backus-Naur-Form (BNF, 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

  • fachliche Beschreibung in Umgangssprache
  • Domänenwerte
  • Feldbeschreibungen (Kurz-, Mittel- und Langtext) für den Formularentwurf
  • Information, ob das Datenelement leer (z. B. NULL) sein darf
  • Verweise auf Prüftabellen
  • etc.

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 auch

Weblinks

Literatur

  • Ramez Elmasri, Shamkant B. Navathe: Grundlagen von Datenbanksystemen; Pearson Studium, München 2004. ISBN 3-8273-7021-3
  • Thomas Connolly, Carolyn Begg, Anne Strachan: Datenbanksysteme. Eine praktische Anleitung zu Design, Implementierung und Management; Addison-Wesley, München 2002. ISBN 3-8273-2013-5

Einzelnachweise

  1. Elmasri, S. 625

Wikimedia Foundation.

См. также в других словарях:

  • data dictionary — ˈdata ˌdictionary noun [countable] COMPUTING the part of a database that controls the way the information is stored and the way different pieces of information relate to each other * * * data dictionary UK US noun [C] ► IT the part of a database… …   Financial and business terms

  • Data Dictionary —   [engl.], Datenbankverzeichnis …   Universal-Lexikon

  • Data dictionary — Not to be confused with Dictionary (data structure). A data dictionary, or metadata repository, as defined in the IBM Dictionary of Computing, is a centralized repository of information about data such as meaning, relationships to other data,… …   Wikipedia

  • Data-Dictionary — Ein Data Dictionary – in deutscher Übersetzung auch Datenwörterbuch, Datenkatalog oder etwas unscharf Datenverzeichnis genannt – ist ein Katalog von Metadaten, der die Definitionen und Darstellungsregeln von Datenelementen enthält. Es beschreibt… …   Deutsch Wikipedia

  • data dictionary — /deɪtə ˈdɪkʃənri/ (say daytuh dikshuhnree) noun Computers a dictionary in which metadata is recorded against each attribute of a database …   Australian-English dictionary

  • Data dictionary — Словарь (базы) данных …   Краткий толковый словарь по полиграфии

  • Data Dictionary (DD) — Sammlung von „Daten über Daten“ (Metadaten). Ein DD dient der computergestützten ⇡ Dokumentation des ⇡ konzeptionellen Schemas, des ⇡ internen Schemas und/oder der externen Schemata (⇡ externes Schema) eines ⇡ Datenbanksystems …   Lexikon der Economics

  • data dictionary — …   Useful english dictionary

  • Data (dictionary) directory — Словарь (базы) данных …   Краткий толковый словарь по полиграфии

  • Data warehouse — Overview In computing, a data warehouse (DW) is a database used for reporting and analysis. The data stored in the warehouse is uploaded from the operational systems. The data may pass through an operational data store for additional operations… …   Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»