Was ist eine relationale Datenbank?
Relationale Datenbanken speichern Daten und lassen diese aufeinander zugreifen. Die Daten werden miteinander verbunden und in Relation gesetzt: Man spricht daher vom relationalen Datenbankmodell.

Definition einer relationalen Datenbank
Das Verwaltungsmodell für relationale Datenbanken (RDBMS) findet auf dem Markt die weiteste Verbreitung. Zahlreiche Internet- und Business-Anwendungen stützen sich auf diese Art von Datenbanken: Sie strukturieren damit die gesammelten Daten und leiten daraus die wichtigsten Informationen ab. Einige große Unternehmen der Cloud-Branche haben ihre eigenen Modelle entwickelt: Db2 zum Beispiel gehört zu IBM, Oracle Database und Microsoft SQL Server. Viele RDBMS-Projekte sind jedoch Open Source:
- MySQL findet weltweit die meiste Anwendung. Oracle hat es 2009 übernommen; zu Anfang war es ein kostenloses und frei zu nutzendes System. Einige Entwickler haben daraufhin einen Nachfolger gegründet, erneut Open Source: MariaDB.
- Die Lösung PostgreSQL ist ebenfalls frei zugänglich. Ein Team unabhängiger Entwickler arbeitet beständig weiter daran. Die Funktionsweise unterscheidet sich geringfügig von MySQL, da es sich um eine objektrelationale Datenbank (ORDB) handelt.
- SQLite ist eine öffentliche Bibliothek. Ihre Besonderheit besteht darin, dass sie direkt in einem Programm gehostet wird, im Gegensatz zum Client-Server-Modus.
SQL steht für die Programmiersprache: Structured Query Language. In dieser Sprache ist das Standardinterface einer relationalen Datenbank verfasst. Nach dessen Regeln werden die Daten strukturiert und die gewünschten Informationen daraus ausgegeben.
Die Architektur der relationalen Datenbank
Der Aufbau dieser Datenbanken basiert auf dem Entity-Relationship-Modell von Edgar F. Codd aus dem Jahr 1971. Demnach lässt sich jede „natürliche“ Anfrage in relationale Algebra übersetzen, also mittels SQL in eine für Computer verständliche Abfragesprache. In diesem Modell besteht eine Beziehung (oder Tabelle) aus mehreren Attributen, die wiederum in Zeilen und Spalten organisiert sind, Tupels genannt. Die komplette Tabelle wird als Sammlung von Tupels betrachtet. Ein Beispiel:

Jedes Element der Relation wird mit einem bestimmten Muster einem Datentyp (Wert) zugeordnet:
Beziehung = (Attribut1: Typ1, Attribut2: Typ2 , ... , Attributn: Typn)
So lässt sich ein bestimmtes Element definieren und ihm die Daten des Wertes eines Tupels zuweisen, um die Tabelle zu erstellen. Eine relationale Datenbank ist also eine Sammlung an Tabellen, die miteinander verbunden sind.
Wie funktioniert eine relationale Datenbank?
Mittels der Sprache SQL kommunizieren die Nutzer mit dem Administrationsinterface und verwalten so Ihre Datenbank. Diese Sprache basiert auf der relationalen Algebra. Alle Befehle werden in SQL verfasst und beschreiben jeden Entwicklungsschritt der Datenbank im Detail. Mit dieser Sprache lassen sich die gewünschten Informationen auswählen, ihr Platz in der Datenbank angeben, ihre Interaktion bestimmen uvm.
Einige Aspekte sind dabei zu berücksichtigen:
Schlüssel
Eine Reihe von Attributen dienen zur Identifizierung eines bestimmten Datensatzes. Mit Bezug auf das vorhergehende Bild: A1 und A2 kann für die Kunden stehen, die im zweiten Halbjahr ein neues Auto gekauft haben. A1 legt den Kauf des Fahrzeugs fest, A2 den Zeitraum des Kaufs. Von den ausgewählten Attributen kann keines den Wert 0 haben. In diesem Fall würde der Datensatz ja kein reales Ereignis beschreiben. Jede Tabelle hat einen Primärschlüssel, der als Fremdschlüssel in eine andere Tabelle exportiert werden kann. Auf diese Weise ist es möglich, Datensätze zu verbinden.
Zwei mit Fremdschlüsseln verbundene Tabellen können nur auf eine Anfrage reagieren. Um Informationen aus mehreren Tabellen zu ermitteln, wird eine JOIN-Funktion benötigt.
JOIN
Durch diesen Vorgang ist es möglich, Informationen aus mehreren Tabellen gleichzeitig abzurufen. Der Nutzer legt fest, nach welchen Kriterien die ausgewählten Daten zusammengestellt und gefiltert werden.
Die SQL JOIN-Funktion ist ein wichtiges Element für Datenbanken mit einer Vielzahl von Tabellen, um verwendbare Informationen von hoher Qualität zu generieren.
Drei wichtige Arten von JOIN gibt es:
- INNER JOIN
- OUTER JOIN
- SELF JOIN.
Nur selten werden Datentabellen getrennt von einander durchsucht. Im Allgemeinen sind Nutzer an einer Gruppe von Daten interessiert, die eine bestimmte Bedeutung haben und in verschiedenen Tabellen aufgeführt sind. Dazu müssen die Daten im Vorfeld standardisiert werden.
Standardisierung
Eigentlich wären ebenso viele Anfragen wie Tabellen notwendig, um Informationen aus ihnen abzufragen. Das ist jedoch zeitaufwendig, unpraktisch und kann zu Doppelarbeit führen. Außerdem beeinträchtigt ein solches Vorgehen möglicherweise die Datenverarbeitung.
Abhilfe schafft die Standardisierung. Die Daten werden auf Basis ihrer Beziehungen zueinander verarbeitet. Im Zuge einer einzigen Anfrage werden ganze durch Fremdschlüssel verbundene Datensätze untersucht.
Vergleich mit anderen Datenbankmodellen
Nicht alle Datenbanken basieren auf diesem Tabellenmodell. Es mag zu ihrer Entwicklung angeregt haben, jedoch weisen sie ihre besonderen Eigenschaften auf. In den 1980er Jahren wird mit dem objektorientierten Modell die Art der Informationsspeicherung neu erfunden. Das Modell „NoSQL“ der 2000er Jahre stellt das Modell der relationalen Datenbanken in Frage. Man wollte nun praktischere Datenbanken entwickeln, die sich besser für umfassende Analysen eignen, wie beispielsweise von der Art „Big Data“. All diese Modelle haben ihre Besonderheiten und Vorzüge.
Objektdatenbank
Hier ist es möglich, Daten in Form von Objekten zu speichern. Ein „Objekt“ ist dabei ein Satz oder eine Gruppe von Daten, die das Interface für den Zugriff auf diese Informationen definieren.
Das Objektdatenbankmanagementsystem (ODBMS) weist jedem Objekt automatisch eine Kennung (ID) zu. Das ermöglicht den Zugriff auf verschiedene Weisen. Der größte Unterschied zu relationalen Datenbanken: Unterschiedliche ID lassen sich zwei verschiedenen Objekten mit denselben Werten zuweisen. Ein Tupel dagegen kann nur durch einen Wert identifiziert werden.
Sie haben auch ihre eigene Sprache, die OQL (Object Query Language).
Dokumentendatenbank
Das Speichern in diesen Datenbanken unterscheidet sich grundlegend vom relationalen Modell. Sie basieren auf den unterschiedlichen Daten der einzeln, nicht in Tabellen, verarbeiteten Dokumente. Dies kann ein Textdokument im Format JSON, YAML oder XML sein, oder auch unstrukturierte Daten wie Bild-, Video- oder Audiodateien.
Diese Dokumente werden als Kombinationen von Schlüssel und Wert gespeichert. Der Begriff „Schlüssel“ wird hier gleichbedeutend zum Begriff „Attribut“ verwendet. Mit den Schlüsseln der relationalen Datenbank hat dieser Begriff also in diesem Kontext nichts zu tun.
Mehrere Dokumente können zu Sammlungen zusammengefasst werden, um sie dann zu klassifizieren. Die Anfragen an Objektdatenbanken werden als Funktionen ausgeführt, zum Beispiel in JavaScript. Diese Datenbank eignet sich daher besonders gut dafür, große Mengen an Daten zu verwalten.
Vor- und Nachteile relationaler Datenbanken
Die relationalen Datenbanken haben sich größtenteils durchgesetzt. Dennoch stoßen sie an ihre Grenzen. Ihre Stärke ist gleichzeitig ihre Schwäche, wenn es um bestimmte Arten von Daten geht, wie große Massen an Daten, Multimediadaten oder Objekte.
Vorteile
- Das Tabellenmodell: Leicht einzurichten. Schnell und einfach lassen sich mit diesem System Kunden- oder Bestandsdaten anzeigen.
- Kaum redundante Daten: Die Standardisierung wirkt der Verfälschung der Informationen in der Datenbank entgegen. Sie gewinnen so an Kohärenz.
- Verarbeitung quantitativer Daten: Attributen lassen sich Werte zuordnen.
- Anfragen in standardisierter Sprache (SQL): Anwendungen können im Rahmen verschiedener Web-Projekte mit höherer Kompatibilität entwickelt und ausgeführt werden.
Nachteile
- Nicht alle Daten können in Tabellen angezeigt werden: Für abstrakte und unstrukturierte Daten sind relationale Datenbanken ungeeignet.
- Die Hierarchisierung der Daten ist nicht möglich, anders als bei objektorientierten Datenbanken. Analysen können also nicht mit weiteren Kriterien ausgeführt werden, wie Sub-Tupels oder Klassen von Tupels.
- Datensegmentierung: Die Daten werden durch die Standardisierung auf verschiedene Speicherplätze verteilt. Anfragen werden dadurch komplex, da sie auf Anwendungsebene über mehrere Tabellen hinweg gestellt werden. Es werden also zeitgleich zahlreiche Tabellen abgefragt, was auf Kosten der Analyseleistung geht und die Rechenzeit erhöht.
Weltweit sind sie die beliebtesten Datenbanken. Für unterschiedliche Arten von Daten oder Anwendungen vom Typ Big Data eignen sie sich jedoch nicht.
Relationale Datenbanken bei OVHcloud
Unser Angebot an Datenbanken ist äußerst vielseitig. Hier finden sie beispielsweise zwei Modelle vom Typ relationaler Datenbanken:
- MySQL: der Marktführer bei relationalen Datenbanken. Wir bieten sie auch als gemanagte Lösungen an. Wenn Sie sich für diese Variante entscheiden, übernehmen wir die Verwaltung und das Monitoring der Datenbank für Sie.
- PostgreSQL: ein Modell für relationale Datenbanken, geeignet für große Workloads. Auch „gemanagt“ verfügbar.
- Für Ihr Webhosting bieten wir auch private SQL-Datenbanken wie MariaDB an.
Hier finden Sie alle unsere gemanagten Datenbanken, ausgelegt auf einfache Verwaltung und die Sicherheit Ihrer Daten. Alle diese Datenbanken werden in unseren Rechenzentren nach strikten Sicherheitsstandards gehostet. So garantieren wir die Souveränität und Vertraulichkeit Ihrer Daten.