Was ist Relationale Datenbank?
Datenbank, die Daten als Tabellen (Relationen) aus Zeilen und Spalten darstellt und Tabellen über gemeinsame Werte miteinander verknüpft; auch RDB genannt. Abfragen und Änderungen erfolgen in SQL, und Integritätsbedingungen wie Primär- und Fremdschlüssel halten die Daten konsistent.
Japanische Bezeichnung: 関係データベース
„Relationale Datenbank“ kommt in 1 Übungsfragen aus 1 Themen vor, z. B. Grundlagen der Datenbanken.
Fachgebiet: Grundlagen der Datenbanken
Tabellen, Zeilen, Spalten und das relationale Modell
Eine relationale Datenbank beruht auf dem 1970 von E. F. Codd vorgeschlagenen relationalen Modell. Daten werden als Tabellen (Relationen) dargestellt; eine Zeile einer Tabelle heißt Tupel, eine Spalte Attribut und die Menge der Werte, die ein Attribut annehmen kann, Domäne. Tabellen werden nicht über Zeiger, sondern über gemeinsame Werte verknüpft: Eine Bestelltabelle hat zum Beispiel eine Spalte KundenID, deren Wert eine Zeile der Kundentabelle bezeichnet. Dadurch lässt sich bei jeder Abfrage frei festlegen, welche Tabellen unter welchen Bedingungen kombiniert werden.
Datenverwaltung mit SQL und Integritätsbedingungen
In einer relationalen Datenbank werden mit der Sprache SQL Tabellen definiert (DDL), Daten gesucht und geändert (DML) und Berechtigungen gesteuert (DCL). In SQL beschreibt man nur, welches Ergebnis man haben möchte; in welcher Reihenfolge Tabellen gelesen und welche Indizes verwendet werden, entscheidet der Optimierer des DBMS. Die Korrektheit der Daten sichern Integritätsbedingungen wie Primärschlüssel, die Zeilen eindeutig identifizieren, Fremdschlüssel, die Zeilen korrekt auf Zeilen anderer Tabellen verweisen lassen, NOT NULL und UNIQUE, die NULL und Duplikate verbieten, und CHECK, das den Wertebereich begrenzt, zusammen mit den ACID-Eigenschaften der Transaktionen.
Häufige Fragen
Worauf bezieht sich „relational“ in relationale Datenbank?
Auf die Tabellen selbst. In der Mathematik heißt eine Menge von Kombinationen aus Elementen mehrerer Mengen Relation, und jede Zeile einer Tabelle entspricht einer solchen Kombination (einem Tupel). Gemeint sind nicht die Verknüpfungen zwischen Tabellen.
Wie wählt man zwischen einer relationalen Datenbank und NoSQL?
Eine relationale Datenbank eignet sich für Aufgaben, bei denen die Konsistenz der Daten wichtig ist und komplexe Suchen wie Joins häufig sind. NoSQL kann sich für Fälle eignen, in denen sehr viele einfache Lese- und Schreibvorgänge über Schlüssel anfallen und man durch Verteilung auf mehrere Server skalieren möchte.