Diagram Illustration

Inhaltsverzeichnis

Der Begriff „Datenbankschema“ kann sich auf eine anschauliche Darstellung einer Datenbank, ein Regelwerk für eine Datenbank oder die Gesamtheit aller Objekte eines bestimmten Nutzers beziehen. Lesen Sie weiter, um mehr über Datenbankschemata und deren Einsatzmöglichkeiten zu erfahren.

Was ist ein Datenbank-Schema?

Ein Datenbankschema steht für die logische Konfiguration einer relationalen Datenbank oder eines Teils davon. Es kann sowohl als anschauliche Darstellung als auch als Integritätseinschränkungen, d. h. als Gruppe von Formeln, denen eine Datenbank unterliegt, dargestellt werden. Diese Formeln werden in einer Datendefinitionssprache wie z. B. SQL ausgedrückt. Als Teil eines Datenlexikons gibt ein Datenbankschema an, in welcher Beziehung die Entitäten wie Tabellen, Ansichten, gespeicherte Abläufe usw., aus denen die Datenbank besteht, zueinander stehen.

Logisches und physisches Datenbankschema

Üblicherweise erstellt ein Datenbankdesigner ein Datenbankschema, um Programmierer zu unterstützen, deren Software mit der Datenbank interagieren wird. Der Vorgang der Erstellung eines Datenbankschemas wird Datenmodellierunggenannt. In einer Drei-Schema-Architektur für Datenbankdesignwürde dieser Schritt der Erstellung eines konzeptionellen Schemas entsprechen. Bei konzeptionellen Schemata stehen die Informationsbedürfnisse eines Unternehmens im Vordergrund, nicht die Struktur einer Datenbank.

Es gibt zwei Hauptarten von Datenbank-Schemata:

  1. Ein logisches Datenbankschema vermittelt die logischen Einschränkungen, die für die gespeicherten Daten gelten. Es kann Integritätseinschränkungen, Ansichten und Tabellen festlegen.
  2. Ein physisches Datenbankschema stellt dar, wie die Daten physisch als Dateien und Indizes auf einem Speichersystem gespeichert werden.

Auf der einfachsten Ebene gibt ein Datenbankschema an, aus welchen Tabellen oder Relationen die Datenbank besteht, sowie welche Felder in jeder Tabelle enthalten sind. Folglich sind die Begriffe Schemadiagramm und Entity-Relationship-Diagramm häufig austauschbar.

Schema im Datenbanksystem Oracle

Im Oracle-Datenbanksystem hat der Begriff Datenbankschema oder auch „SQL-Schema“ eine andere Bedeutung. Hier kann eine Datenbank mehrere Schemata haben. In jedem Schema sind alle Objekte enthalten, die von einem bestimmten Nutzer der Datenbank erstellt wurden. Zu diesen Objekten können Tabellen, Ansichten, Synonyme usw. gehören. Manche Objekte wie z. B. Nutzer, Kontexte, Rollen und Verzeichnisobjekte können nicht in ein Schema aufgenommen werden.

Schema einer relationalen Datenbank

Nutzer können die nötigen Zugriffsrechte erhalten, um sich je nach Fall bei einzelnen Schemata einzuloggen, und die Inhaberschaft ist übertragbar. Da jedes Objekt mit einem bestimmten Schema assoziiert ist, das als eine Art Namespace dient, ist die Vergabe einiger Synonyme sinnvoll. Somit können andere Nutzer auf das entsprechende Objekt zugreifen, ohne sich vorher auf das Schema, zu dem es gehört, beziehen zu müssen.

Diese Schemata geben nicht zwingend an, wie die Dateien physisch gespeichert werden. Stattdessen werden Schemaobjekte logisch in einem Tablespace gespeichert. Der Datenbankadministrator kann festlegen, wie viel Platz er einem bestimmten Objekt innerhalb einer Datei zuweisen möchte.

Schemata und Tablespaces stimmen nicht immer vollständig überein: Objekte aus einem Schema können in mehreren Tablespaces zu finden sein und ein Tablespace kann Objekte aus mehreren Schemata enthalten.

Datenbankinstanz oder Datenbankschema?

Diese Begriffe sind zwar verwandt, bedeuten aber nicht dasselbe. Ein Datenbankschema ist eine Skizze einer geplanten Datenbank. Es enthält selbst keine Daten.

Eine Datenbankinstanz wiederum ist eine Momentaufnahme einer Datenbank zu einem bestimmten Zeitpunkt. Datenbankinstanzen können sich also im Laufe der Zeit verändern. Datenbankschemata hingegen sind in der Regel statisch, da sich die Struktur einer Datenbank nur schwer ändern lässt, wenn sie einmal in Betrieb genommen wurde.

Datenbankschemata und Datenbankinstanzen können einander über ein Datenbank-Management-System (DBMS) beeinflussen. Das DBMS sorgt dafür, dass jede Datenbankinstanz die von den Datenbankdesignern im Datenbankschema festgelegten Einschränkungen erfüllt.

Anforderungen für Schema-Integrationen

Es kann sinnvoll sein, mehrere Quellen in einem einzigen Schema zu vereinen. Um einen nahtlosen Übergang zu gewährleisten, sollten Sie darauf achten, dass folgende Anforderungen erfüllt sind:

Bewahrung von Überschneidungen

Jedes sich überschneidende Element in den Schemata, die Sie miteinander integrieren möchten, sollte sich in einer Datenbankschematabelle befinden.

Erweiterte Bewahrung von Überschneidungen

Elemente, die nur in einer Quelle auftauchen, aber mit sich überschneidenden Elementen assoziiert sind, sollten in das neu erzeugte Datenbankschema kopiert werden.

Normalisierung

Unabhängige Beziehungen und Entitäten sollten nicht einfach in die gleiche Tabelle im Datenbankschema geworfen werden.

Minimalität

Idealerweise gehen keine Elemente aus den Quellen verloren.

Arten von Datenbankschemata

Beim Design von Datenbankschemata haben sich einige Muster herauskristallisiert.

Das einfachste Schema ist das weit verbreitete Stern-Schema. Dabei werden eine oder mehrere Faktentabellen mit einer beliebigen Anzahl dimensionaler Tabellen verbunden. Dieses Schema eignet sich am besten für einfache Abfragen.

Das damit verwandte Schneeflockenschema wird ebenfalls zur Darstellung einer mehrdimensionalen Datenbank verwendet. In diesem Muster werden die Dimensionen jedoch zu Gruppen separater Tabellen normalisiert. So entsteht der Ausbreitungseffekt einer schneeflockenartigen Struktur.