Definition „Relational Database“ Was ist eine relationale Datenbank?
Eine relationale Datenbank speichert Informationen mitsamt den Beziehungen, in der sie zueinander stehen. Die Manipulation dieser Informationen erfolgt gemäß den Grundlagen der relationalen Algebra.

Das relationale Datenbankmodell ist praktisch jedem Programmierer ein Begriff, der schon einmal mit Datenbanken gearbeitet hat: Relationale Datenbanken gelten als eine Art Standard und sind weit verbreitet.
Vereinfacht gesagt werden Daten in Attribute und Beziehungen zerlegt und so in Tabellen modelliert, dass alle Informationen korrekt abgebildet sind. Diverse Operationen über die so hinterlegten Daten können mittels einer Abfragesprache getätigt werden, die auf relationaler Algebra basiert.
Tabellen
In den Tabellen der relationalen Datenbank werden Informationen Zeile für Zeile in Datensätzen gespeichert, die thematisch miteinander verwandt sind. Im Warenwirtschaftssystem einer Buchhandlung könnte es z. B. jeweils eine eigene Tabelle für Bücher, Kunden und Bestellungen geben.
Attribute
Attribute enthalten alle Informationen, aus denen ein Datensatz besteht. Wie viele Attribute ein Datensatz enthält, ist durch das zuvor gestaltete Schema vorgegeben. Am Beispiel der Buchhandlung könnte die Tabelle Bücher für jedes Buch u. a. Titel, Seitenzahl, ISBN und Datum der Veröffentlichung erfassen.
Beziehungen
Beziehungen oder Relationen beschreiben in einer relationalen Datenbank, auf welche Weise die gespeicherten Informationen zusammenhängen. In der Buchhandlung könnte mit jeder Bestellung z. B. erfasst werden, wann die Bestellung eingegangen ist, wann sie zuletzt bearbeitet wurde, ob und wann sie verschickt wurde, aber auch, welcher Kunde die Bestellung aufgegeben hat und welche Bücher er bestellt hat.
Relationale Algebra
Relationale Datenbankmodelle basieren auf den Grundprinzipien der relationalen Algebra. Diese stellt eine Reihe an Operationen zur Verfügung, mit der sich Relationen manipulieren lassen, z. B. das Selektieren oder Verbinden von Informationen nach zuvor definierten Kriterien. Als Anwender nutzt man eine Abfragesprache wie SQL, um diese Operationen auf der Datenbank durchzuführen.
Normalisierung des Datenschemas
Anomalien in einer Datenbank können problematisch sein, weil sie unter anderem die Konsistenz bzw. Integrität der Daten gefährdet. Redundanzen stellen in diesem Zusammenhang eine nicht zu unterschätzende Herausforderung dar. Wenn eine Information an mehreren Stellen der Datenbank vorkommt, riskiert man damit z. B., dass beim Ändern oder Löschen nicht alle Vorkommnisse in der beabsichtigten Weise manipuliert werden.
Plötzlich steht man vor dem Problem, dass über einen Sachverhalt an verschiedenen Orten in der Datenbank verschiedene Aussagen gemacht werden. Ein Grund für solche an mehrfachen Stellen vorkommenden Informationen kann sein, dass das Schema der Datenbank noch nicht so weit wie möglich vereinfacht wurde.
Die Beziehungen in einer relationalen Datenbank sollten aus funktionaler Sicht solange vereinfacht werden, bis eine weitere Zerlegung nicht mehr möglich oder sinnvoll ist. Dabei muss darauf geachtet werden, dass durch die Vereinfachung kein Datenverlust stattfindet. Diesen Prozess nennt man Normalisierung. Die Normalisierung dient auch der Qualitätsverbesserung des Datenbankschemas. Man spricht in diesem Zusammenhang von Normalformen.
1. Normalform (1NF): Attribute einer Relation müssen atomar sein, dürfen also nicht aus zusammengesetzten Informationen bestehen.
2. Normalform (2NF): Datenmodell befolgt 1NF und alle Attribute in einer Tabelle, die nicht selbst Teil des Schlüssels sind, sollen funktional vom (gesamten) Schlüssel abhängen. Man spricht auch von vollständig funktionaler Abhängigkeit.
3.1 Normalform (3NF): Das Modell liegt in 2NF vor und kein Nichtschlüsselattribut hängt transitiv von einem Schlüsselattribut in derselben Tabelle ab. Häufig gilt 3NF als Ziel der Normalisierung für relationale Datenbanken. Es gibt aber weitere Schritte, die nach 3NF folgen können.
3.2 Boyce-Codd-Normalform (BCNF): 3NF mit dem Zusatz, dass bei einem zusammengesetzten Schlüssel keine funktionale Abhängigkeit mehr zwischen den Teilen des Schlüssels bestehen darf.
4. Normalform (4NF): 4NF erweitert BCNF um die Regel, dass funktional abhängige Attribute keine redundanten Informationen enthalten dürfen.
5. Normalform (5NF): Befolgen der 4NF und alle Abhängigkeiten sind trivial oder es handelt sich um Schlüsselkandidaten. 5NF ist nur für spezielle Szenarien nützlich, weil sich durch diese kleinteilige Zerlegung auch Relationen finden lassen, die zwar möglich, aber eventuell nicht beabsichtigt sind. 5NF wird z. B. genutzt, um explizit neue mögliche Zusammenhänge in den vorhandenen Daten zu finden.
In der Praxis kann jedoch in manchen Fällen bewusst anders priorisiert werden, sodass die Normalisierung des Datenbankschemas eine untergeordnete Rolle spielt. Die Folge können redundante Einträge sein, die dann anderweitig (z. B. im Programmcode) aufgelöst werden müssen. Vorteil dieser Herangehensweise ist, dass die Arbeit mit der Datenbank effizienter wird.
Eine zu starke Normalisierung verursacht in der Regel mehr Aufwand in Form von immer mehr zu verwaltenden Tabellen. Ferner wird die Performance abnehmen, wenn die Abfragen über eine große Anzahl an Tabellen laufen müssen. Man nimmt also Redundanzen in Kauf, um effizienter und performanter mit einer weniger stark normalisierten Datenbank arbeiten zu können. Das kann z. B. bei analytischen Aufgaben wichtig sein.
(ID:47810967)