Zum Hauptinhalt springen

Das Datenbankmanagementsystem (DBMS)

Ein Datenbanksystem (DBS) besteht aus der Datenbank (DB) – der eigentlichen Sammlung von Nutzdaten – und dem Datenbankmanagementsystem (DBMS). Das DBMS ist die Software-Schicht, die den Zugriff regelt und die Daten verwaltet. Ohne DBMS würden Anwendungen direkt auf Dateien zugreifen, was bei komplexen Systemen schnell zu Fehlern führt.

Zentrale Merkmale

Ein DBMS sorgt für die integrierte Datenhaltung. Das Ziel ist, dass jedes Datum (Singular von Daten) nur einmal gespeichert wird. Dadurch wird Redundanz vermieden, was wiederum die Gefahr von Inkonsistenzen (Widersprüchen) senkt.

Es gibt auch Datenbanken, die nicht aus SQL basieren (NoSQL). Die Kommunikation mit dem System erfolgt über eine Datenbanksprache (meist SQL), die in vier Bereiche unterteilt wird:

  • DQL (Data Query Language): Gezieltes Auslesen von Daten (z. B. SELECT).
  • DDL (Data Definition Language): Legt die Struktur fest (z. B. Tabellen mit CREATE erstellen).
  • DML (Data Manipulation Language): Daten einfügen, ändern oder löschen (z. B. INSERT, UPDATE).
  • DCL (Data Control Language): Berechtigungen und Sicherheit regeln (z. B. GRANT).

Sämtliche Strukturinformationen und Regeln (z. B. Tabellennamen, Datentypen oder Zugriffsrechte) liegen im Katalog (Data Dictionary) als Metadaten vor. Metadaten beschreiben den Aufbau und die Verwaltung der eigentlichen Nutzdaten.

Konsistenz und Transaktionen

Damit die Daten sauber bleiben, nutzt das DBMS eine Konsistenzkontrolle. Diese prüft definierte Regeln, sogenannte Constraints (z.B. "Preis darf nicht negativ sein" oder "Ein Geburtsdatum darf nicht in der Zukunft liegen".)

Mehr zum Thema Transaktion mit guten Beispielen

Ein Kernkonzept sind Transaktionen. Mehrere Arbeitsschritte werden hierbei zu einer unteilbaren Einheit zusammengefasst. Nach dem Prinzip der Atomarität (alles oder nichts) erfolgt die Ausführung entweder vollständig oder gar nicht. Dies lässt sich anschaulich mit einer Banküberweisung erklären. Der Vorgang besteht aus zwei Schritten, der Abbuchung von Konto A und der Gutschrift auf Konto B. Tritt nach der Abbuchung, aber vor der Gutschrift ein Systemfehler auf, darf das Geld nicht verschwinden. Das DBMS stellt sicher, dass in einem solchen Fall beide Schritte rückgängig gemacht werden (Rollback), um einen konsistenten Zustand zu wahren.

Das DBMS garantiert zudem die Dauerhaftigkeit erfolgreicher Änderungen, die selbst Systemfehler oder Stromausfälle überdauern. Bei Abstürzen stellt die Wiederherstellung (Recovery) mithilfe von Protokolldateien (Logs) automatisch den letzten konsistenten Zustand wieder her, indem unvollständige Transaktionen entfernt und abgeschlossene Transaktionen sicher in den Datenbestand übernommen werden.

Im Mehrbenutzerbetrieb ermöglicht das DBMS zahlreichen Anwendern den zeitgleichen Zugriff auf die Daten. Die Synchronisation (Concurrency Control) sorgt dabei dafür, dass konkurrierende Zugriffe strikt isoliert ablaufen, damit sich parallele Transaktionen nicht gegenseitig stören. Ein Nutzer arbeitet dabei so, als hätte er exklusiven Zugriff auf das System (Isolation).

Training

Szenario: Datenbank für eine Schulbibliothek

Analysiere die folgenden Szenarien fachsprachlich präzise.

  1. Welche Constraints sollte das System beim einem Datenfeld Rückgabedatum erzwingen?
  2. Ein Buch wird zurückgegeben und sofort einem neuen Schüler zugeordnet. Warum müssen diese zwei Änderungen (Status: verfügbar -> Status: verliehen) eine einzige Transaktion sein?
  3. Formuliere ein eigenes Beispiel für Änderungen in einer Datenbank, die eine einzige Transaktion sein sollten.

Die 3-Schichten-Architektur (ANSI-SPARC)

ANSI-SPARC: 1975 vom Standards Planning and Requirements Committee (SPARC) des American National Standards Institute (ANSI) entwickelt. Die Trennung von Anwendung und Speicherung erfolgt im Drei-Ebenen-Modell:

  1. Externe Ebene: Individuelle Nutzersichten (Views). Ein View ist eine virtuelle Tabelle, die nur bestimmte Ausschnitte der Daten zeigt. So kann der Zugriff auf sensible Informationen eingeschränkt werden: Während ein Administrator vollen Zugriff hat, sieht ein Endnutzer nur die für ihn relevanten Felder.
  2. Konzeptionelle Ebene: Das logische Gesamtschema (der "Bauplan"). Hier wird die Informationsstruktur modelliert, unabhängig von der späteren technischen Umsetzung auf der Festplatte. Datenbankentwickler legen fest, welche Datenobjekte (Entitäten wie "Schüler" oder "Buch") existieren und wie sie in Beziehung stehen (z. B. "Schüler leiht aus Buch").
  3. Interne Ebene: Die physische Ablage auf dem Speichermedium. Sie definiert, wie Daten technisch in Dateien und Speicherblöcken organisiert sind. Dazu zählen hardwarenahe Optimierungen wie Suchstrukturen (z. B. B-Bäume), Kompression sowie die effiziente Verteilung auf Datenträgern, um Zugriffszeiten zu minimieren.

Dieser Schichtenaufbau ermöglicht das zentrale Konzept der Datenunabhängigkeit in zwei Ausprägungen:

  • Physische Datenunabhängigkeit: Die interne Speicherung (z. B. neue Datenträger) lässt sich optimieren, ohne das logische Gesamtschema oder externe Anwendungsprogramme zu ändern.
  • Logische Datenunabhängigkeit: Das konzeptionelle Schema kann erweitert werden (z. B. um neue Entitäten), ohne bestehende Nutzersichten (Views) oder darauf basierende Programme anpassen zu müssen.
Abbildung: Darstellung eines DBMS für eine Schulbibliothek.
DBMS

4. Vorteile gegenüber Dateisystemen

  • Effizienz: Schneller Zugriff durch Indizes, die wie ein Inhaltsverzeichnis funktionieren.
  • Sicherheit: Zentrale Zugriffskontrolle und fein abgestuftes Rechtemanagement über Views und DCL.
  • Standards: Einheitliche Formate und zentrale Verwaltung über alle Abteilungen hinweg.
  • Verfügbarkeit: Sicherer, paralleler Betrieb auch bei extrem hohen Zugriffszahlen.
Training

Szenario: Datenbank für eine Schulbibliothek

Analysiere die folgenden Szenarien fachsprachlich präzise.

  1. Ein Schüler sucht nach Büchern, ein Bibliothekar mahnt säumige Leser an. Wie unterscheiden sich ihre Views auf die Datenbank?
  2. Der Bibliotheksserver erhält neue SSD-Festplatten und das Datenmodell wird erweitert, um auch Laptops zu verleihen. Begründe mithilfe der physischen und logischen Datenunabhängigkeit, warum die bisherige Schüler-App zur Buchsuche trotz dieser Eingriffe ohne Software-Update problemlos weiterfunktioniert.