Die Relation ist das fundamentale Konzept der relationalen Algebra und fungiert als Namensgeber für relationale Datenbankmanagementsysteme (RDBMS). Technisch gesehen werden Relationen in Datenbanken als Tabellen realisiert, wobei zwischen dem mathematischen Begriff der Relation und der technischen Tabelle wichtige Unterschiede bestehen.

Aufbau einer Relation

Eine Relation setzt sich aus zwei grundlegenden Komponenten zusammen:

  • Attribute: Ein Attribut beschreibt den Typ eines möglichen Attributwertes und wird durch einen eindeutigen Attributnamen bezeichnet. In der Tabellendarstellung entsprechen Attribute den Spaltenköpfen.
  • Tupel: Ein Tupel stellt eine konkrete Kombination von Attributwerten dar. Tupel entsprechen im Wesentlichen den Datensätzen (Zeilen) einer Tabelle.
 

Mathematische Eigenschaften

Im Gegensatz zu einer einfachen Liste oder Datei basieren Relationen auf der mathematischen Mengenlehre. Daraus ergeben sich spezifische Merkmale:

  1. Keine Ordnung: Da eine Relation eine Menge im mathematischen Sinne ist, ist zwischen den Tupeln keine Reihenfolge definiert. Die Abfrageergebnisse können (ohne explizite Sortierung) in jeder beliebigen Reihenfolge erscheinen.
  2. Keine Duplikate: Ein Tupel kann in einer Menge nicht mehrfach vorkommen. Jedes Element einer Relation muss eindeutig identifizierbar sein (siehe Primärschlüssel).

Vergleich: Relation vs. Tabelle

Obwohl die Begriffe im Alltag oft synonym verwendet werden, gibt es im akademischen und technischen Kontext deutliche Unterschiede:

Merkmal Relation (Mathematisch) Tabelle (Technisch)
Reihenfolge Ungeordnet Besitzt immer eine physische Reihenfolge.
Duplikate Nicht erlaubt Technisch möglich (sofern keine Constraints gesetzt sind).
Basis Relationalen Algebra Implementierung im DBMS.

Dynamische Relationen

Ein wesentlicher Aspekt des relationalen Modells ist, dass durch die Verknüpfung von Tabellen (Joins) und das Ausführen von Abfragen (DQL) ständig **neue Relationen** entstehen. Jedes Ergebnis einer SQL-Abfrage ist formal gesehen wieder eine Relation, die gefiltert, umbenannt oder mit anderen Relationen kombiniert werden kann.