Wikipedia · einfach zusammengefasst · Stand
Schema (Informatik)
Ein Schema, Datenschema oder Relationsschema (Plural Schemata oder Schemas, auch Schemen) ist in der Informatik eine formale Beschreibung der Struktur von …
Inhalt6 Abschnitte
Grundidee und Zweck
Ein Schema, Datenschema oder Relationsschema ist in der Informatik eine formale Beschreibung der Struktur von Daten. Es legt fest, aus welchen Bestandteilen Daten bestehen, welche Form diese Bestandteile haben und welche Beziehungen oder Regeln für sie gelten. Wichtig ist ein Schema besonders deshalb, weil Daten dadurch automatisch überprüft werden können: Ein System kann feststellen, ob konkrete Daten dem Schema entsprechen.
Ein Schema ist üblicherweise selbst in einer formalen Sprache beschrieben. Für XML ist XML-Schema ein bekanntes Beispiel einer solchen Beschreibungssprache. In Datenbanken hat der Begriff eine besondere Bedeutung: Ein Datenbankschema umfasst alle Objekte, die ein privilegierter Datenbanknutzer, der Schema-Eigentümer, angelegt hat. Dazu gehören Tabellen, Ansichten oder Views, Synonyme, Sequenzen und weitere Objekte. Andere Datenbanknutzer können diese Objekte verwenden, wenn der Schema-Eigentümer ihnen die entsprechenden Privilegien gegeben hat.
Aufbau von Schemata
Schemata können sehr unterschiedlich komplex sein. Sie reichen von einfachen Attributlisten bis zu komplexen Ontologien. Eine Ontologie ist hier eine sehr umfassende formale Beschreibung von Begriffen und Beziehungen in einem Wissensbereich.
Grundsätzlich enthalten Schemata Definitionen von Relationen. Eine Relation kann man als geordnete Zusammenstellung von Daten verstehen; sie wird als Tupel von Attributen beschrieben. Ein Attribut ist ein einzelnes Datenmerkmal, zum Beispiel Name, Ort oder Datum. In vielen Fällen sind diesen Attributen Datentypen zugeordnet. Datentypen legen fest, welche Art von Werten erlaubt ist, etwa Zahlen, Zeichenketten oder Datumsformate.
Je nach Art des Schemas können zusätzlich Beziehungen und Bedingungen zwischen verschiedenen Relationen sowie weitere Regeln festgelegt werden. Datentypen sind selbst durch Regeln beschrieben, werden aber meistens als gegeben vorausgesetzt. In der objektorientierten Modellierung werden komplexe Datentypen aus einfachen Datentypen zusammengesetzt; statt von Datentypen spricht man dabei auch von Objekten.
Schemata in Datenbanken
In Datenbanken legt ein Schema fest, welche Daten in welcher Form gespeichert werden können und welche Beziehungen zwischen den Daten bestehen. Besonders bei relationalen Datenbanken ist ein Schema ein SQL-Objekt. Darin werden Tabellen, ihre Attribute und Integritätsbedingungen festgelegt. Integritätsbedingungen sind Regeln, die die Konsistenz der Daten sichern sollen.
Zu solchen Bedingungen gehören die Festlegung von Wertebereichen einzelner Attribute, Fremdschlüsselbeziehungen sowie Existenz- und Eindeutigkeitsbedingungen. Eine Fremdschlüsselbeziehung verbindet Daten in verschiedenen Tabellen miteinander. Eine Eindeutigkeitsbedingung stellt sicher, dass bestimmte Werte nicht mehrfach vorkommen, wenn sie eindeutig sein müssen. Datenbanksysteme speichern die Schemata der verwalteten Datenbanken in einem besonderen Bereich, dem Data-Dictionary.
Die ANSI-SPARC-Architektur, auch Drei-Ebenen-Architektur genannt, beschreibt den Grundaufbau eines relationalen Datenbanksystems mit drei Schemata. Externe Schemata beschreiben formal, wie sich die Datenbank Benutzergruppen und Anwendungen zeigt; sie bilden also eine individuelle, anwendungsorientierte Sicht. Das konzeptionelle oder konzeptuelle Schema beschreibt auf Basis des semantischen Datenmodells die Sachlogik, also die fachliche Sicht. Das interne Schema beschreibt formal, wie und wo die Daten in der Datenbank gespeichert werden; es bildet die technische Sicht.
Beispiele für Schemata
Ein sehr einfaches Schema kann die Struktur einer CSV-Datei beschreiben. Das Beispiel aus dem Artikel besteht aus den Attributen VORNAME, NACHNAME, STRASSE und ORT, getrennt durch Semikolons: VORNAME; NACHNAME; STRASSE; ORT. Damit ist festgelegt, welche Felder in jeder Datenzeile erwartet werden.
Ein weiteres Beispiel ist eine Dokumenttypdefinition, kurz DTD, für XML-Daten. Sie ist nicht mit XML Schema zu verwechseln. Die angegebene DTD beschreibt PERSON-Elemente. Ein PERSON-Element besteht aus genau einem Vornamen, genau einem Nachnamen und mindestens einer Adresse. Eine Adresse besteht aus Straße und Ort. Vorname, Nachname, Straße und Ort bestehen aus #PCDATA. #PCDATA bedeutet parsed character data, also einfacher Text, der nicht weiter gegliedert ist.
Für Daten im Semantischen Web können Schemata auch als Ontologien auftreten. Als Beispiel nennt der Artikel die Web Ontology Language.
Entwurf und Modellierung
Der Entwurf von Schemata wird Datenmodellierung genannt. Wie ein Schema entworfen wird, hängt stark von der gewählten Herangehensweise ab. Der Artikel nennt besonders zwei Ansätze: das Entity-Relationship-Modell und die objektorientierte Modellierung.
Beim Entwurf geht es darum, die Struktur eines Datenbereichs so formal zu beschreiben, dass Daten später gespeichert, geprüft, verarbeitet oder zusammengeführt werden können. Je nach Modellierungsansatz werden dabei Entitäten, Beziehungen, Attribute, Objekte oder zusammengesetzte Datentypen unterschiedlich dargestellt.
Unterschiedliche Schemata zusammenführen
Schematische Heterogenität liegt vor, wenn Daten auf unterschiedlichen Schemata beruhen. Sollen solche Daten konvertiert oder zusammengeführt werden, müssen auch ihre Schemata transformiert und integriert werden. Das ist in der Praxis vor allem bei Datenmigration und Informationsintegration notwendig.
Heterogenität kann die Struktur oder die Semantik betreffen. Strukturelle Unterschiede lassen sich wesentlich leichter überbrücken als semantische Unterschiede. Der Übergang zwischen strukturellen und semantischen Unterschieden ist jedoch nicht immer eindeutig.
Typische strukturelle Unterschiede sind eine unterschiedliche Reihenfolge von Attributen, Namenskonflikte, flache Strukturen wie in SQL im Gegensatz zu hierarchischen Strukturen wie in XML, ein unterschiedlicher Grad der Normalisierung und unterschiedliche Datenformate mit gleicher Ausdruckskraft. Namenskonflikte können Synonyme sein, also unterschiedliche Namen für gleiche Attribute, oder Homonyme, also gleiche Namen für unterschiedliche Attribute.
Semantische Heterogenität besteht, wenn die Konzepte der unterschiedlichen Schemata nicht übereinstimmen. Stattdessen kann eine Inklusion oder Überlappung vorliegen, die bis zu einem gewissen Grad hingenommen werden muss. Zwischen struktureller und schematischer Heterogenität liegen im Detail voneinander abweichende Datentypen, zum Beispiel bei Maßeinheiten oder Genauigkeiten.