Suchen

Definition Was ist eine relationale Datenbank?

| Autor / Redakteur: Dipl.-Ing. (FH) Stefan Luber / Nico Litzel

Relationale Datenbanken ist das am weitesten verbreitete Datenbankmodell. Es setzt auf das relationale Datenbankmodell, das auf der Speicherung von Informationen in verschiedenen Tabellen basiert, die untereinander über Beziehungen (Relationen) verknüpft sind.

Firma zum Thema

(Bild: © aga7ta - stock.adobe.com)

Eine relationale Datenbank wird für die Speicherung und Bearbeitung von Daten durch Computersysteme verwendet. Sie beruht auf dem relationalen Datenbankmodell und speichert Daten in verschiedenen Tabellen, die untereinander in Beziehung stehen. Das relationale Datenbankmodell wurde erstmals im Jahr 1970 von Edgar F. Codd beim Softwareunternehmen IBM vorgestellt. Bis heute sind relationale Datenbanken ein etablierter Standard und sehr weit verbreitet. Im Umfeld von Big-Data-Anwendungen und der Notwendigkeit der Speicherung und Verarbeitung besonders großer Datenmengen haben relationale Datenbanken aufgrund einiger Einschränkungen stark an Bedeutung verloren.

Das den relationalen Datenbanken zugehörige Datenbankmanagementsystem nennt sich RDBMS (Relational Database Management System). Um Daten in relationalen Datenbanken zu manipulieren oder Abfragen durchzuführen, kommt die Datenbanksprache SQL (Structured Query Language) zum Einsatz. Die theoretische Grundlage von SQL ist die relationale Algebra. Als Basis relationaler Datenbankmodelle dienen neben der relationalen Algebra die Elemente Tabellen, Attribute und Beziehungen. Relationale Datenbanken lassen sich sehr einfach erstellen und sind flexibel einsetzbar.

Grundlagen und Grundbegriffe relationaler Datenbanken

Um das Funktionsprinzip relationaler Datenbanken zu verstehen und mit ihnen zu arbeiten, müssen zunächst die grundlegenden Begriffe dieses Datenbankmodells bekannt sein. Die Daten werden in mehreren Tabellen gespeichert, die wiederum aus Spalten und Zeilen bestehen. Ein anderer Begriff für Zeile ist Tupel. Die Spalten der Tabelle werden als Attribute bezeichnet. Jedes Attribut der Tabelle kann einen definierten Wertebereich annehmen. In jedem Tupel sind je nach Anzahl der Spalten bestimmte Attributwerte gespeichert. Ein so genanntes Relationsschema legt die Anzahl und den Typ der Attribute einer Tabelle fest. Jeder Datensatz in einer relationalen Datenbank muss eindeutig identifizierbar sein. Hierfür sind ein oder mehrere Schlüssel definiert. Schlüssel dürfen sich in einer konsistenten Datenbank nicht ändern und beziehen sich immer auf Datensätze.

Die Normalisierung von relationalen Datenbanken

Ein Grundprinzip relationaler Datenbanken ist, dass diese stets konsistent und redundanzfrei sein müssen. Hierfür ist es notwendig, jeden Datensatz eindeutig zu identifizieren sowie alle Daten jeweils nur einmal in der Datenbank zu erfassen und zu speichern. Realisiert wird dies, indem die Datensätze auf verschiedene Tabellen verteilt und untereinander verknüpft werden. Es entstehen so genannte Normalformen der Daten. Der Vorgang nennt sich Normalisierung. Man versteht darunter die Verteilung der Attribute in mehrere Tabellen (Relationen) unter Beachtung der Normalisierungsregeln. Ist eine relationale Datenbank normalisiert, enthält sie keine vermeidbaren Redundanzen mehr und ist konsistent. Zusammengefasst sind die Ziele der Normalisierung von Datenbanken:

  • Eindeutige Strukturierung der Datenbank,
  • Beseitigung von Redundanzen sowie
  • Vermeidung von Inkonsistenzen.

Eine wichtige Rolle für die Eindeutigkeit innerhalb einer relationalen Datenbank spielen die sogenannten Schlüssel. Es kommen hierfür Primärschlüssel und Fremdschlüssel zum Einsatz.

Die Datenbanksprache SQL für relationale Datenbanken

Als Datenbanksprache für die Definition der Datenstruktur und zum Einfügen, Verändern, Löschen und Abfragen von Daten einer relationalen Datenbank dient SQL (Structured Query Language). Wie eingangs erwähnt, basiert SQL auf der relationalen Algebra. Die Sprache besitzt eine relativ einfache Syntax mit wenigen Grundbefehlen. Fast alle relationalen Datenbanken unterstützen den Einsatz von SQL. Die Syntax und der Umfang der Unterstützung können sich jedoch von Datenbank zu Datenbank unterscheiden. Die Befehle der Sprache SQL sind durch verschiedene Gremien normiert und standardisiert. Grundsätzlich lassen sich alle SQL-Befehle in drei verschiedene Kategorien einteilen. Diese drei Kategorien sind:

  • SQL-Befehle für das Ändern, Einfügen, Löschen und Abfragen von Daten (DML)
  • SQL-Befehle für die Definition von Datenbankschemas (DDL)
  • SQL-Befehle für die Verwaltung von Rechten und die Kontrolle von Transaktionen (DCL)

Probleme relationaler Datenbanken im Big-Data-Umfeld

Relationale Datenbanken lassen sich nicht beliebig skalieren und zeigen Schwächen, wenn es darum geht, besonders große Datenmengen zu speichern und sie schnell zu verarbeiten oder abzufragen. Zudem ist es kaum möglich, unstrukturierte Daten wie Bilder und Dokumente oder nicht relational abbildbare Daten in diesen Datenbanken zu speichern. Aus diesen Gründen sind relationale Datenbanken im Big-Data-Umfeld eher selten zu finden. Haben die Daten keine relationale Struktur und sind riesige Datenmengen vorhanden, kommen so genannte NoSQL-Datenbanken (nicht-relationale Datenbanken) zum Einsatz. Geht es jedoch um die Abbildung fester Strukturen und die eindeutige Verknüpfung von Daten untereinander, sind relationale Datenbanken nach wie vor die passende Wahl. Der Vorteil der NoSQL-Datenbanken liegt in ihrer hohen Verarbeitungsgeschwindigkeit und der Fähigkeit, fast beliebige Arten von Daten speichern zu können.

(ID:44887703)

Über den Autor