Was ist eine relationale Datenbank?


Was ist ein RDBMS?

RDBMS ist die Abkürzung für „relationales Datenbankmanagementsystem“. Definitionsgemäß handelt es sich dabei um die Software, die zum Verwalten relationaler Datenbanken verwendet wird. Insbesondere ermöglicht sie die Verwaltung des Speichers sowie des Zugriffs und der Verarbeitung von Daten.

Relationale Datenbanken dienen der Speicherung von Daten und stellen einen Zugriffspunkt für die Daten untereinander bereit. Die Daten werden anhand von Tabellen in Relation gesetzt: Man spricht daher vom relationalen Datenbankmodell.

relational_databases_hero

Definition einer relationalen Datenbank

Das relationale Datenbankmanagementsystem (RDBMS) ist auf dem Markt vorherrschend. Zahlreiche Web- und Business-Anwendungen stützen sich auf diese Art von Datenbanken: Sie strukturieren damit die gesammelten Daten und leiten daraus wesentliche Informationen ab. Einige große Unternehmen der Cloud-Branche haben ihre eigenen Modelle entwickelt, z. B. Db2 von IBM, Oracle Database und Microsoft SQL Server. Viele RDBMS-Projekte sind jedoch Open-Source-basiert:

  • MySQL ist das am häufigsten verwendete System der Welt. Oracle hat es zwar 2009 übernommen, zu Anfang war es aber ein kostenloses und frei nutzbares System. Einige Entwickler haben daraufhin an einem Nachfolger gearbeitet, bei dem es sich wieder um ein Open-Source-Projekt handelt: MariaDB.
  • PostgreSQL ist ebenfalls eine frei zugängliche Lösung. 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, die direkt in einem Programm gehostet wird, nicht im Client-Server-Modus.

Die Abkürzung SQL steht für die gleichnamige Sprache: Structured Query Language. Darauf fußt das Standardinterface einer relationalen Datenbank und die zugehörigen Anweisungen werden zum Strukturieren der Daten und Organisieren der Informationen, die daraus abgeleitet werden sollen, verwendet.

Die Architektur der relationalen Datenbank

Die Organisation dieser Datenbanken stützt sich auf das relationale 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 Relation (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:

schema_relational_databases

Jedes Element der Relation ist einem Datentyp (Wert) über ein Relationsschema wie folgt zugeordnet:

Relation = (Attribut1: Typ1, Attribut2: Typ2 , ... , Attributn: Typn)

Auf diese Weise können Sie ein bestimmtes Element definieren und diesem die Daten des Werts eines Tupels zuweisen, um die Tabelle zu bilden. Eine relationale Datenbank ist also im Grunde eine Sammlung verschiedener Tabellen, die miteinander verknüpft sind.

Wie funktioniert eine relationale Datenbank?

Zum Verwalten ihrer Datenbank kommunizieren die Nutzer:innen über eine Sprache – SQL – mit dem Verwaltungsinterface. Letztere beruht auf relationaler Algebra. Alle Befehle werden in SQL verfasst und beschreiben die einzelnen Entwicklungsschritte der Datenbank. Mit dieser Sprache lassen sich die gewünschten Informationen auswählen, ihr Platz in der Datenbank angeben, ihre Interaktion bestimmen usw.

Es gibt jedoch einige Besonderheiten, die zu beachten sind.

Schlüssel

Hierbei handelt es sich um eine Reihe von Attributen zum Identifizieren eines bestimmten Datensatzes. Nehmen wir zum Beispiel unsere vorherige Tabelle: A1 + A2 kann für die Kunden stehen, die im zweiten Halbjahr ein neues Auto gekauft haben, wobei A1 den Kauf des Fahrzeugs und A2 den Zeitraum des Kaufs definiert. Keines der ausgewählten Attribute darf jedoch einen Nullwert aufweisen. Ansonsten hätte der Datensatz keinen wirklichen Bestand. Jede Tabelle hat einen Primärschlüssel, der als Fremdschlüssel in eine andere Tabelle exportiert werden kann, um Datensätze zu verbinden.

Zwei mit Fremdschlüsseln verbundene Tabellen können jedoch nur auf eine Anfrage antworten. Um Informationen aus mehreren Tabellen zu ermitteln, wird eine JOIN-Funktion verwendet.

JOIN

Durch diesen Vorgang ist es möglich, mehrere Tabellen gleichzeitig abzufragen. Die Nutzer:innen definieren die Bedingungen, nach denen 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 aussagekräftige Informationen von hoher Qualität zu generieren.

Es gibt drei wichtige Arten von JOIN:

  • INNER JOIN
  • OUTER JOIN
  • SELF JOIN

Datentabellen werden nur selten separat durchsucht. Im Allgemeinen sind Nutzer:innen an einem Datensatz mit einer bestimmten Bedeutung interessiert, der über verschiedene Tabellen verteilt ist. Dazu müssen die Daten im Vorfeld standardisiert werden.

Standardisierung

Zum gleichzeitigen Abfragen mehrerer Tabellen wären eigentlich mehrere Anfragen für die einzelnen Tabellen notwendig, um die Daten darauf zu extrahieren. Das ist jedoch zeitaufwendig, unpraktisch und kann zu Duplikaten führen. Außerdem beeinträchtigt ein solches Vorgehen möglicherweise die Datenverarbeitung.

Abhilfe schafft die Standardisierung. Die relationsbasierte Verarbeitung von Daten durch Abfragen sämtlicher mit Fremdschlüsseln verbundenen Daten ermöglicht die Ausführung einer einzigen Anfrage.

Vergleich mit anderen Datenbankmodellen

Nicht alle Datenbanken basieren auf diesem Tabellenmodell. Sie können sich daran orientieren, haben aber ihre Besonderheiten. In den 1980er-Jahren wurde mit dem objektorientierten Modell die Art und Weise revolutioniert, wie Informationen gespeichert werden. In den 2000er-Jahren erschien das „NoSQL“-Modell, das das relationale Modell der Datenbanken infrage stellte. Ziel war es, praktischere Datenbanken für erweiterte Analysen zu entwickeln, z. B. mit Blick auf Big Data. All diese Modelle haben ihre Besonderheiten und Vorzüge.

Objektdatenbanken

Hier ist es möglich, Daten in Form von Objekten zu speichern. „Objekt“ bezeichnet einen Datensatz, in dem die Schnittstelle für den Zugriff auf diese Informationen definiert ist.

Das Objektdatenbankmanagementsystem (ODBMS) weist jedem Objekt automatisch eine Kennung (ID) zu, sodass auf verschiedene Weisen darauf zugegriffen werden kann. Der Hauptunterschied zur relationalen Datenbank besteht darin, dass zwei verschiedenen Objekten mit denselben Werten unterschiedliche IDs zugewiesen werden können. Und das im Gegensatz zu einem Tupel, der nur durch einen Wert identifiziert werden kann.

Sie haben auch ihre eigene Sprache, die OQL (Object Query Language).

Dokumentorientierte Datenbanken

Das Speichern in diesen Datenbanken unterscheidet sich grundlegend vom relationalen Modell. Die Basis bilden heterogene Daten aus Dokumenten, die individuell (und nicht mehr in Tabellen) verarbeitet werden. Dies kann vom Textdokument in JSON, YAML oder XML bis hin zu unstrukturierten Daten wie Bild-, Video- oder Audiodateien reichen.

Diese Dokumente werden in Schlüssel-Wert-Kombinationen gespeichert. Der Begriff „Schlüssel“ wird hier gleichbedeutend zum Begriff „Attribut“ verwendet. Mit den Schlüsseln der relationalen Datenbank hat der Begriff in diesem Kontext also nichts zu tun.

Mehrere Dokumente können zu Sammlungen zusammengefasst werden, um sie dann zu klassifizieren. Die Anfragen an dokumentorientierte Datenbanken werden als Funktionen ausgeführt, zum Beispiel in JavaScript. Diese Datenbank eignet sich daher besonders für die Verwaltung großer Datenmengen.

Die Vor- und Nachteile relationaler Datenbanken

Obwohl relationale Datenbanken sich größtenteils durchgesetzt haben, sind ihnen auch Grenzen gesetzt. Was ihre Stärke ausmacht, kann auch ihre Schwäche mit bestimmten Datentypen (z. B. große Datenmengen, Multimedia, Objekte) darstellen.

Die Vorteile

  • Das Tabellenmodell: Es ist einfach einzurichten. Es ermöglicht das einfache und schnelle Hervorheben von Kunden- oder Bestandsdaten.
     
  • 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 Webprojekte mit höherer Kompatibilität entwickelt und ausgeführt werden.

Die 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: Bei objektorientierten Datenbanken ist das anders. Analysen können also beispielsweise nicht mit Sub-Tupels oder Klassen von Tupels präziser gestaltet werden.
     
  • Segmentierung von Daten: Durch die Standardisierung werden die Datenspeicherbereiche verteilt. Dies führt zu komplexen Anfragen an mehrere Tabellen auf Anwendungsebene. Diese große Anzahl gleichzeitiger Anfragen über mehrere Tabellen hinweg verringert die Leistung bei Analysen und erhöht die Rechenzeit.

Weltweit sind sie die beliebtesten Datenbanken. Sie sind jedoch nicht für heterogene Daten oder bestimmte Anwendungsfälle wie Big Data geeignet.

Relationale Datenbanken bei OVHcloud

Unser Angebot an Datenbanken ist äußerst vielseitig. Unter anderem stehen Ihnen zwei relationale Datenbankmodelle zur Verfügung:

  • MySQL: der Marktführer im Bereich relationale 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- und NoSQL-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.