Relationale Algebra ist die mathematische Theorie hinter SQL: eine Sammlung von Operationen, mit denen sich Relationen (Tabellen) gezielt zu neuen Relationen kombinieren lassen. Entwickelt wurde sie von Edgar F. Codd, der 1970 auch das relationale Modell vorstellte – die Algebra bildet die formale Grundlage, auf der jede relationale Datenbank ihre Abfragen ausführt.
Die Grundoperationen
Die relationale Algebra kennt fünf Grundoperationen, aus denen sich alle anderen ableiten lassen. Jede Operation bekommt eine oder zwei Relationen als Eingabe und liefert wieder eine Relation – die Algebra ist also abgeschlossen, und Operationen lassen sich beliebig verschachteln.
- Selektion (σ, sigma): filtert Zeilen nach einer Bedingung – in SQL das
WHERE. - Projektion (π, pi): wählt Spalten aus – in SQL die Spaltenliste nach
SELECT. - Vereinigung (∪): fügt Zeilen zweier gleichartiger Relationen zusammen – in SQL
UNION. - Differenz (−): entfernt Zeilen der zweiten Relation – in SQL
EXCEPT. - Kreuzprodukt (×): kombiniert jede Zeile der einen mit jeder Zeile der anderen Relation – die Basis für Verbindungen – in SQL der CROSS JOIN.
Hinzu kommt die Umbenennung (ρ, rho), mit der sich Attribute für weitere Berechnungen umtaufen lassen.
Abgeleitete Operatoren: Join und Schnitt
Der wichtigste abgeleitete Operator ist der Join: Er verbindet zwei Tabellen über eine Bedingung und entspricht in SQL dem JOIN – Details dazu finden Sie unter SQL: JOINs richtig verstehen. Weitere abgeleitete Operatoren sind der Schnitt (∩) und die Division, die zum Beispiel „alle Lieferanten, die sämtliche Teile liefern“ beantwortet.
Eine Abfragesprache gilt als relational vollständig, wenn sie dieselbe Ausdrucksstärke wie die relationale Algebra besitzt. SQL erfüllt diese Bedingung – die relationale Algebra erklärt damit, warum SQL-Abfragen funktionieren und wie Datenbanken sie intern ausführen. Wer die SQL-Grundlagen verstehen will, profitiert daher direkt von diesem theoretischen Fundament.
Bezug zur Datenbankpraxis
Die Algebra ist nicht nur Theorie: Query-Optimierer zerlegen SQL-Abfragen in algebraische Ausdrücke und verschieben Operationen, um sie zu beschleunigen – etwa Selektionen möglichst früh auszuführen, bevor teure Verbindungen berechnet werden. Auch die Query-Optimierung arbeitet auf dieser Grundlage.
Verwandte Grundlagen: Relationales Modell · Denormalisierung · Datenmodellierung · Datenbank-Normalisierung.