Relationale Datenbank

Kundenstamm, Rechnungen und Lagerbestand hängen zusammen, liegen aber in verschiedenen Listen. Eine relationale Datenbank hält solche Zusammenhänge fest, sodass eine Adresse nur an einer Stelle steht und trotzdem überall stimmt.
Zwei Mitarbeiter einer Webagentur verwenden eine relationale Datenbank zur Entwicklung einer responsive Website und testen diese auf dem Tablet an ihrem Arbeitsplatz.
© Syda Productions

Wie eine relationale Datenbank aufgebaut ist

Eine relationale Datenbank speichert Daten in Tabellen, die über Schlüssel miteinander in Beziehung gesetzt sind, daher der Name. Jede Zeile ist ein Datensatz, jede Spalte eine Eigenschaft wie Name, Anschrift oder Kundennummer. Ein Kunde steht nur einmal in der Kundentabelle, seine Bestellungen verweisen über die Kundennummer auf ihn. So lassen sich Daten aus mehreren Tabellen in einer einzigen Abfrage zusammenführen.

Wie Datensätze aufeinander verweisen

Damit ein Verweis eindeutig bleibt, trägt jeder Datensatz einen Primärschlüssel, meist eine fortlaufende Nummer. Namen eignen sich dafür nicht, weil sie sich im Lauf der Zeit ändern und mehrfach vorkommen. Eine Bestellung speichert die Nummer ihres Kunden als Fremdschlüssel und zeigt damit auf genau eine Zeile der Kundentabelle.

Die Datenbank prüft diese Verweise selbst. Eine Bestellung für einen Kunden, den es nicht gibt, weist sie zurück, und ein Kunde mit offenen Bestellungen lässt sich nicht einfach löschen. Fachlich heißt diese Eigenschaft referentielle Integrität. Bei einer Datenmigration in ein neues System ist sie der Punkt, an dem Verluste am ehesten entstehen, denn jede Beziehung muss dort vollständig nachgebildet werden.

Was das Modell leistet und wo es endet

Weil jede Information nur einmal gespeichert wird, wirkt eine Änderung sofort überall. Beim Entwurf wird ein relationales Datenbankmodell dafür schrittweise verfeinert: Tabellen werden so lange zerlegt, bis keine Angabe mehr doppelt vorliegt. Ohne diesen Schritt steht dieselbe Adresse in mehreren Tabellen, und nach einem Umzug des Kunden ist womöglich nur eine davon aktuell.

Die Software hinter den Tabellen

Ein relationales Datenbankmodell beschreibt nur die Struktur der Tabellen. Gelesen, geschrieben und geprüft werden sie von einem Datenbankmanagementsystem, das Anfragen annimmt und Zugriffe regelt. Abgefragt wird dabei mit der Sprache SQL, und das System legt für jede Anfrage selbst fest, in welcher Reihenfolge es Tabellen liest und verknüpft. Auf relationale Daten zugeschnittene Systeme sind etwa MySQL, MariaDB und PostgreSQL. Software dieser Klasse wird als RDBMS bezeichnet.

Wo das relationale Modell an Grenzen stößt

Feste Spalten setzen voraus, dass die Struktur der Daten vorher bekannt ist. Messreihen, Protokolle oder Dokumente mit wechselnden Feldern passen schlecht in dieses Raster, und sehr große, über viele Server verteilte Datenmengen verlangen Kompromisse bei den Prüfungen. Für solche Fälle entstanden NoSQL-Datenbanken, die auf feste Tabellen verzichten. Für Stammdaten, Buchungen und Vorgänge mit klaren Beziehungen bleibt die relationale Datenbank das übliche Modell.

Aktuelle Themen