Zum Inhalt springen
L

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
  1. 1. Grundidee und Zweck
  2. 2. Aufbau von Schemata
  3. 3. Schemata in Datenbanken
  4. 4. Beispiele für Schemata
  5. 5. Entwurf und Modellierung
  6. 6. Unterschiedliche Schemata zusammenführen

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.

Weiterlesen

Plural Der englische Plural auf -(e)s ist eine Weiterentwicklung dieses skandinavischen Plurals. Vergleiche hierzu das Wort für den „Arm“: Niederländisch: arm … Informatik Als einfache Rechengeräte leisteten Abakus und später der Rechenschieber unschätzbare Dienste. 1641 konstruierte Blaise Pascal eine mechanische … Daten Daten bezeichnet als Plural von Datum Fakten, Zeitpunkte oder kalendarische Zeitangaben. Als Pluralwort steht es für durch Beobachtungen, Messungen u. a. Datenbank Eine Datenbank, auch Datenbanksystem genannt, ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe einer Datenbank ist es, große … Formale Sprache Eine formale Sprache ist eine abstrakte Sprache, bei der im Unterschied zu natürlichen Sprachen oft nicht die Kommunikation im Vordergrund steht, … Extensible Markup Language Erweiterbare Auszeichnungssprache), abgekürzt XML, ist eine Auszeichnungssprache zur Darstellung hierarchisch strukturierter Daten im Format einer Textdatei … Ontologie (Informatik) Ontologien im Datenmanagement sind meist sprachlich gefasste und formal geordnete Darstellungen einer Menge von Begriffen und der zwischen ihnen bestehenden … Relation (Datenbank) Eine Relation besteht aus Tupeln, jedes Tupel wird durch Attribute beschrieben, die den Typ (mögliche Attributwerte) festlegen und mit einem Attributnamen … Tupel (Informatik) In diversen Programmiersprachen bezeichnet „Tupel“ gemeinhin einen Listen-Datentyp, welcher über eine feste Länge verfügt und nach Definition nicht mehr … Datentyp Die Konkretisierung der Operationsmenge führt zu Abstrakten Datentypen beziehungsweise Algebraischen Strukturen. Mit der weiteren Konkretisierung der … Objekt (Programmierung) Ein Objekt in der Programmierung bezeichnet eine inhaltlich zusammengehörige Datenmenge: In der objektorientierten Programmierung wird eine Objektinstanz … Relationale Datenbank Eine relationale Datenbank ist eine digitale Datenbank, die zur elektronischen Datenverwaltung in Computersystemen dient und auf einem tabellenbasierten …