Jewiki unterstützen. Jewiki, die größte Online-Enzy­klo­pädie zum Judentum.

Helfen Sie Jewiki mit einer kleinen oder auch größeren Spende. Einmalig oder regelmäßig, damit die Zukunft von Jewiki gesichert bleibt ...

Vielen Dank für Ihr Engagement! (→ Spendenkonten)

How to read Jewiki in your desired language · Comment lire Jewiki dans votre langue préférée · Cómo leer Jewiki en su idioma preferido · בשפה הרצויה Jewiki כיצד לקרוא · Как читать Jewiki на предпочитаемом вами языке · كيف تقرأ Jewiki باللغة التي تريدها · Como ler o Jewiki na sua língua preferida

Schema (Informatik)

Aus Jewiki
Zur Navigation springen Zur Suche springen

Ein Schema oder Datenschema (Plural Schemata oder Schemas, auch Schemen[1]) 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 Informationen ü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.

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 Datenbanken

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

Einzelnachweise

Dieser Artikel basiert ursprünglich auf dem Artikel Schema (Informatik) aus der freien Enzyklopädie Wikipedia und steht unter der Doppellizenz GNU-Lizenz für freie Dokumentation und Creative Commons CC-BY-SA 3.0 Unported. In der Wikipedia ist eine Liste der ursprünglichen Wikipedia-Autoren verfügbar.