Datenbankschema

Datenbankschema

Ein Schema oder Datenschema (im Plural „Schemata“ oder „Schemas“) ist in der Informatik eine formale Beschreibung der Struktur von Daten. Besondere Bedeutungen haben Schemata im Zusammenhang mit Datenbanken. Hier ist ein Schema ein sprachlich artikulierter, universeller Aspekt eines Gegenstandes (Datei/Programm), welcher Information überträgt.

Üblicherweise ist das Schema selbst in einer formalen Sprache definiert, so dass sich Daten automatisch darauf überprüfen lassen, ob sie dem Schema entsprechen. Ein bekanntes Beispiel für eine solche Beschreibungssprache ist XML-Schema für XML.

Inhaltsverzeichnis

Aspekte von Schemata

Schemata können hinsichtlich ihrer Komplexität von einfachen Attributlisten bis zu komplexen Ontologien reichen. Grundsätzlich enthalten Schemata Definitionen von Relationen als Tupel von Attributen, denen in vielen Fällen Datentypen zugewiesen sein können. Je nach Art des Schemas sind zusätzlich Beziehungen und Bedingungen zwischen verschiedenen Relationen und zusätzliche Regeln möglich. Datentypen (beispielsweise Zahlen, Zeichenketten, Datumsformate...) sind als Bestandteil eines Schemas selbst durch Regeln beschrieben, die jedoch meist als gegeben vorausgesetzt werden. Im Rahmen der Objektorientierten Modellierung werden komplexe Datentypen aus einfachen Datentypen zusammengesetzt, wobei man statt von Datentypen auch von Objekten spricht.

Schemata in Datenbanksystemen

Eine wichtige Rolle spielen Schemata im Zusammenhang mit Datenbanken. Hier spricht man oft auch vom Datenbankschema. Das Schema legt dabei fest, welche Daten in einer Datenbank in welcher Form gespeichert werden können und welche Beziehungen zwischen den Daten bestehen. Speziell bei Relationalen Datenbanken legt das Schema die Tabellen und deren Attribute sowie zur Sicherstellung der Konsistenz die Integritätsbedingungen fest. Hierzu gehören insbesondere die Festlegung von Wertebereichen einzelner Attribute und von Fremdschlüsselbeziehungen sowie Existenz- und Eindeutigkeitsbedingungen. Datenbanksysteme speichern die Schemata der verwaltenden Datenbanken in einem besonderen Bereich, dem Data Dictionary, ab.

Die ANSI-SPARC-Architektur, auch Drei-Ebenen-Architektur genannt, beschreibt den grundlegenden Aufbau eines relationalen Datenbanksystems, wobei drei Schemata verwendet werden:

  1. Das konzeptionelle oder konzeptuelle Schema, in dem auf Basis des semantischen Datenmodells die Sachlogik formal beschrieben wird (fachliche Sicht).
  2. Das interne Schema, das formal darstellt, wie und wo die Daten in der Datenbank gespeichert werden (technische Sicht).
  3. Die externen Schemata, die formal beschreiben, wie sich die Datenbank den Benutzer(gruppe)n und Anwendungen darstellt (individuelle anwendungsorientierte Sicht).

Beispiele

Schema einer CSV-Datei

VORNAME; NACHNAME; STRASSE; ORT

Schema für XML-Daten in Form einer Dokumenttypdefinition (DTD)

<!ELEMENT PERSON (VORNAME, NACHNAME, ADRESSE+)>
<!ELEMENT VORNAME  (#PCDATA)>
<!ELEMENT NACHNAME (#PCDATA)>
<!ELEMENT ADRESSE  (STRASSE, ORT)>
<!ELEMENT STRASSE  (#PCDATA)>
<!ELEMENT ORT      (#PCDATA)>

Diese DTD (nicht zu verwechseln mit XML-Schema) beschreibt, dass PERSON-Elemente aus genau einem Vornamen, genau einem Nachnamen und mindestens einer Adresse bestehen. Adresse besteht aus Straße und Ort; Vorname, Nachname, Straße und Ort bestehen aus #PCDATA, d. h. parsed character data, also einfachem Text, der nicht weiter gegliedert ist.

Schemata für Daten im Semantischen Web

Ein Beispiel für eine Ontologie findet sich unter Web Ontology Language.

Entwurf von Schemata

Der Entwurf von Schemata (Datenmodellierung) hängt stark von der Herangehensweise ab. Grundsätzlich lassen sich unter anderem das Entity-Relationship-Modell und die Objektorientierte Modellierung unterscheiden (siehe Datenmodellierung).

Schematische Heterogenität

Um Daten, denen unterschiedlichen Schemata zugrundeliegen, zu konvertieren oder zusammenzuführen, ist auch eine Transformation und Integration ihrer Schemata notwendig. Dies ist in der Praxis vor allem bei der Datenmigration und Informationsintegration notwendig.

Die Heterogenität kann sowohl die Struktur als auch die Semantik betreffen, wobei sich strukturelle Unterschiede wesentlich leichter überbrücken lassen. Der Übergang von strukturellen zu semantischen Unterschieden ist jedoch nicht immer eindeutig.

Typische strukturelle Unterschiede betreffen die Reihenfolge von Attributen, Namenskonflikte, das sind unterschiedliche Namen für gleiche Attribute (Synonyme) oder gleiche Namen für unterschiedliche Attribute (Homonyme), flache Strukturen (SQL) im Gegensatz zu hierarchischen Strukturen (XML), der Grad der Normalisierung und unterschiedliche Datenformate mit gleicher Ausdruckskraft.

Semantische Heterogenität besteht, wenn die einzelnen Konzepte der unterschiedlichen Schemata nicht übereinstimmen. Stattdessen liegt eine Inklusion oder Überlappung vor, die bis zu einem gewissen Grad hingenommen werden muss.

Eine zwischen struktureller und schematischer anzusiedelnde Heterogenität sind im Detail voneinander abweichende Datentypen (Maßeinheiten, Genauigkeiten etc.).

Siehe auch

Ein Schema stellt eine formale Variante eines Begriffssystems dar, mit dem in der Regel ein Ausschnitt der Realität (beziehungsweise eine Vorstellung von ihr) modelliert werden soll.


Wikimedia Foundation.

Игры ⚽ Поможем решить контрольную работу

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Datenmodellierung — bezeichnet Verfahren in der Informatik zur formalen Abbildung der in einem definierten Kontext relevanten Objekte mittels ihrer Attribute und Beziehungen. Hauptziel ist die eindeutige Definition und Spezifikation der in einem Informationssystem… …   Deutsch Wikipedia

  • Datenmodell — Ein Datenmodell ist ein Modell der zu beschreibenden und verarbeitenden Daten eines Anwendungsbereichs (z. B. Daten des Produktionsbereichs, des Rechnungswesens oder die Gesamtheit der Unternehmensdaten) und ihrer Beziehungen zueinander.… …   Deutsch Wikipedia

  • DBMS — Ein Datenbanksystem (DBS) ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe eines DBS ist es, große Datenmengen effizient, widerspruchsfrei und dauerhaft zu speichern und benötigte Teilmengen in unterschiedlichen,… …   Deutsch Wikipedia

  • DBVS — Ein Datenbanksystem (DBS) ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe eines DBS ist es, große Datenmengen effizient, widerspruchsfrei und dauerhaft zu speichern und benötigte Teilmengen in unterschiedlichen,… …   Deutsch 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 base management system — Ein Datenbanksystem (DBS) ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe eines DBS ist es, große Datenmengen effizient, widerspruchsfrei und dauerhaft zu speichern und benötigte Teilmengen in unterschiedlichen,… …   Deutsch Wikipedia

  • Database management system — Ein Datenbanksystem (DBS) ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe eines DBS ist es, große Datenmengen effizient, widerspruchsfrei und dauerhaft zu speichern und benötigte Teilmengen in unterschiedlichen,… …   Deutsch Wikipedia

  • Datadictionary — 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

  • Datenbankanwendung — Ein Datenbanksystem (DBS) ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe eines DBS ist es, große Datenmengen effizient, widerspruchsfrei und dauerhaft zu speichern und benötigte Teilmengen in unterschiedlichen,… …   Deutsch Wikipedia

  • Datenbanken — Ein Datenbanksystem (DBS) ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe eines DBS ist es, große Datenmengen effizient, widerspruchsfrei und dauerhaft zu speichern und benötigte Teilmengen in unterschiedlichen,… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”