Relationale Datenbanken

Das bekannteste und am häufigsten eingesetzte Modell zur Datenspeicherung ist die relationale Datenbank. Das Modell der relationalen Datenbanken stützt sich auf die mathematischen Konzepte der relationalen Algebra, um Daten in Mengen und miteinander in Beziehung stehende Untermengen aufzuteilen.

Da sich Informationen immer in unterscheidbaren Mengen gruppieren lassen, ist das Datenbanksystem auf diesem Konzept aufgebaut.

  • Das relationale Modell gliedert die Daten in Sätze und stellt sie in Form einer Tabellenstruktur dar.
  • Diese Tabellenstruktur besteht aus einzelnen Datenelementen – den sogenannten Spalten oder Feldern.
  • Als Datensatz oder Zeile bezeichnet man einen einzelnen Satz, der eine Gruppe von Feldern zusammenfasst.
  • Ein relationales Datenbangmanagementsystem (DBMS) muss in der Lage sein, Datenbanken vollständig über seine relationalen Fähigkeiten zu verwalten.

Um zum Beispiel eine relationale Datenbank mit Daten von Mitarbeitern zu erzeugen, legt man zunächst eine Tabelle MITARBEITER mit den Elementen Name, Alter und Beruf an. Diese drei Datenelemente bilden die Felder in der Tabelle MITARBEITER.

Name Alter Beruf
Willi Birne 25 Elektroingenieur
David Davidson 34 Museumskurator
Janine Gruber 42 Chefin
Billy Jackson 19 Student
Donna Levitan 32 Spielprogrammiererin
Becky Rose 25 Model

Die sechs Zeilen stellen die Datensätze in der Tabelle MITARBEITER dar. Um einen bestimmten  Datensatz – zum Beispiel für David Davidson – aus dieser Tabelle abzurufen, weist der Benutzer das Datenbank-Managementsystem an, die Datensätze zurückzugeben, in denen das Feld NAME gleich David Davidson ist. Soll das DBMS alle Felder des Datensatzes abrufen, erhält der Benutzer den Namen, das Alter und den Beruf des Mitarbeiters zurück.

Als Befehlssprache für das Abrufen der Daten aus der Datenbank kommt SQL (Structured Query Language) zum Einsatz. Die folgende SQL-Anweisung führt zum Beispiel eine derartige Abfrage aus:

SELECT * FROM MITARBEITER

Für relationale Datenbanken gelten folgende Regeln:

  1. Darstellung von Informationen: Alle Informationen in einer relationalen Datenbank (einschließlich Namen von Tabellen und Spalten) sind explizit als Werte in Tabellen darzustellen.
  2. Zugriff auf Daten: Jeder Wert einer relationalen Datenbank muss durch eine Kombination von Tabellenname, Primärschlüssel und Spaltenname auffindbar sein.
  3. Systematische Behandlung von Nullwerten: Das DBMS behandelt Nullwerte durchgängig gleich als unbekannte oder fehlende Daten und unterscheidet diese von Standardwerten.
  4. Struktur einer Datenbank: Die Datenbank und ihre Inhalte werden in einem sogenannten Systemkatalog auf derselben logischen Ebene wie die Daten selbst – also in Tabellen – beschrieben. Demzufolge lässt sich der Katalog mit Hilfe der Datenbanksprache abfragen.
  5. Abfragesprache: Zu einem relationalen System gehört mindestens eine Abfragesprache mit einem vollständigen Befehlssatz für Datendefinition, Manipulation, Integritätsregeln, Autorisierung und Transaktionen.
  6. Aktualisieren von Sichten: Alle Sichten, die theoretisch aktualisiert werden können, lassen sich auch vom System aktualisieren.
  7. Abfragen und Bearbeiten ganzer Tabellen: Das DBMS unterstützt nicht nur Abfragen, sondern auch die Operationen für Einfügen, Aktualisieren und Löschen in Form ganzer Tabellen.
  8. Physikalische Datenunabhängigkeit: Der logische Zugriff auf die Daten durch Anwendungen muss unabhängig von den physikalischen Zugriffsmethoden oder den Speicherstrukturen der Daten sein.
  9. Logische Datenunabhängigkeit: Änderungen der Tabellenstrukturen dürfen keinen Einfluss auf die Logik der Anwendungen haben.
  10. Unabhängigkeit der Integrität: Integritätsregeln müssen sich in der Datenbanksprache definieren lassen. Die Regeln müssen im Systemkatalog gespeichert werden. Es darf nicht möglich sein, die Regeln zu umgehen.
  11. Verteilungsunabhängigkeit: Der logische Zugriff auf die Daten durch Anwendungen darf sich beim Übergang von einer nicht-verteilten zu einer verteilten Datenbank nicht ändern.
  12. Kein Unterlaufen der Abfragesprache: Integritätsregeln, die über die Datenbanksprache definiert sind, dürfen sich nicht mit Hilfe von Low-Level-Sprachen umgehen lassen.