Definition „Database Schema“ Was ist ein Datenbankschema?

Von Gedeon Rauch

Beim Aufbau einer neuen oder der Umstrukturierung einer bestehenden Datenbank erfolgt der Beginn der Umstrukturierung mit einer Blaupause. Durch die Erstellung eines Datenbankschemas können in der Planungsphase wichtige Kriterien definiert werden.

Vor allem in relationalen Datenbanken ist das Schema von übergeordneter Bedeutung.
Vor allem in relationalen Datenbanken ist das Schema von übergeordneter Bedeutung.
(Bild: sdecoret - stock.adobe.com)

Mit der Strukturierung einer Datenbank verhält es sich nicht anders als mit der Strukturierung eines Gebäudes: Detaillierte Pläne über Zugriffe und Funktionalitäten erlauben es, das Potential einer Datenbank voll auszuschöpfen und ihre Organisation vorab zu definieren.

Durch Beschreibung in formaler Sprache wird eine maximale Funktionalität gewährleistet und das daraus entstehende Datenbankschema kann als Blaupause für die Datenbank genutzt werden. Unterschiedliche Fakten spielen hierfür eine Rolle, darunter die potentiellen Anwendungen, einzugebende Datensätze und Anforderungen der Endnutzerinnen und -nutzer.

Der Begriff Datenbankschema kann sich allerdings auch auf die schematische Darstellung einer Datenbank beziehen, in der zunächst einmal visuell der Datenbankaufbau dargestellt wird. Der Schema-Begriff ist im Kontext der Datenbank zweigleisig zu verstehen.

Die unterschiedlichen Datenbankschemata erklärt

Ein Datenbankschema kann den Aufbau einer Datenbank, die logische Konfiguration einer relationalen Datenbank und die logischen Einschränkungen visuell darstellen. Allerdings ist es auch möglich, dieses Schema direkt durch Gruppen von Formeln aufzubauen. Diese Formeln werden dann in der Datenbankdefinitionssprache (bspw. SQL) ausgedrückt.

Wiedergegeben werden Beziehungen von Tabellen, Ansichten und anderen Entitäten zueinander, sowie deren Abläufen. Das Datenbankschema wird dabei von einem Datenbankmanagement oder im Zuge des Datenbankdesigns erstellt und optimiert den Prozess auf Seite der Developer, da die grundlegende Struktur bereits vordefiniert wird.

Zu beachten ist hierbei jeweils, dass Datenbankschemata nicht nur für die Programmiererinnen und Programmierer lesbar sein müssen, sondern konzeptionelle Entwürfe auch auf Kundenseite verstanden werden müssen. Damit dient das Schema also nicht nur als Bauplan für die Datenbank, sondern auch als lesbarer Grundriss für die User.

Die zwei Hauptarten von Datenbankschema

Grundsätzlich werden Datenbankschemata in zwei verschiedene Kategorien aufgeteilt, in logische Schemata und physische Schemata.

  • Ein logisches Datenbankschema erstellt einen Überblick über logische Einschränkungen gespeicherter Daten, Integrationsbeschränkungen, Ansichten und Tabellen.
  • Ein physisches Datenbankschema hingegen legt fest, wie Daten als Dateien und Indizes physisch auf einem gegebenen Speichersystem abgelegt werden.

Datenbankschema und Datenbankinstanz – von der Skizze zur Anwendung

Ein Datenbankschema ist ein Entwurf, der für sich keine Daten enthält. Das Schema legt lediglich fest, wie genau eine Datenbank funktioniert. Als solches gilt das Datenbankschema also als statisch: Es wird erstellt, implementiert und die Datenbank kann nach Inbetriebnahme nur schwer angepasst werden.

Entsprechend ist es empfehlenswert, das Datenbankschema zunächst zu raffinieren, um es anschließend zu implementieren. Um beim Gleichnis des Hausbaus zu bleiben – eine vorherige Anpassung des Grundrisses ist einfacher als das spätere erneute Setzen einer tragenden Wand.

Im Gegensatz dazu legt der Begriff der Datenbankinstanz fest, in welchem Zustand eine Datenbank zu einem gegebenen Zeitpunkt ist. Dieser „Schnappschuss“ einer Datenbank zeigt also den Ist-Zustand zum aufgenommenen Zeitpunkt, enthält aber selbst bereits die für den Betrieb gegebenen Daten. Ein Datenbankschema hingegen enthält selbst keinerlei Datensätze.

Wie wird ein Datenbankschema in der Praxis integriert?

Vier Anforderungen sollten (im Idealfall) erfüllt sein, um eine detaillierte und anwendbare Struktur zu gewährleisen.

  • Überlappungserhaltung: In zu integrierenden Schemata sollten sich überlappende Elemente in Datenbankschematabellen wiederfinden.
  • Erweiterte Überlappungserhaltung: Im neuen Datenbankschema sollten sich all jene Elemente wiederfinden, die in nur einer einzigen Quelle auftauchen, aber mit überlappenden Elementen verbunden sind.
  • Normalisierung: Unabhängige Elemente und Beziehungen sollten sich nicht in einer Tabelle im Datenbankschema befinden, in der sich überlappende Elemente vorkommen. Stattdessen erhalten unabhängige Beziehungen und Elemente eine Sondergruppierung an einem gemeinsamen Standort.
  • Minimalität: Die Optimierung eines Datenbankschemas ist erst dann komplett, wenn keine Elemente des Schemas gelöscht werden können, ohne die Integrität zu gefährden - es also keine überflüssigen Elemente oder Gruppen gibt.

Das Datenbankschema in der Praxis

Durch die spezifischen Anforderungen an ein Datenbankschema haben sich verschiedene Arten der Darstellung als besser geeignet erwiesen. Hierzu zählt beispielsweise das Stern-Schema als Verbindung zwischen einer oder mehrerer Faktentabellen für einfache Abfragen.

Das Schneeflocken-Schema ist mit diesem eng verwandt, jedoch komplexer gedacht. Durch die Normalisierung zu Gruppen separater Tabellen fächert das Schema strukturell aus, was den Stern zu einer Schneeflocke verzweigt.

Als übersichtliches Regelwerk für die Erstellung einer Datenbank ist ein zu Grunde liegendes Schema essenziell und sichert – unterstützt vom Datenbankmanagementsystem – die Lauffähigkeit einer Datenbank.

(ID:47721135)

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung