Was ist ein Relationenmodell?
Die Definition einer Relation lautet: „Eine n-stellige Relation R ist definiert als Untermenge des kartesischen Produkts der Wertebereiche W der zugehörigen Attribute A1, A2, …, An“:
Oder auch: Jede Teilmenge R eines Produkts D1 x … x Dn von n (n > 1) nicht notwendig verschiedenen Mengen D1, . . . , Dn heißt (n-stellige) Relation über D1, . . . , Dn. Das (kartesische) Produkt (oder Kreuzprodukt) von D1, . . . , Dn ist die Menge aller (n-)Tupel, die aus Elementen von D1, . . . , Dn gebildet werden können.
Seien A und B zwei Mengen und werden diese vereinigt, so ergeben sich folgende Kombinations-Möglichkeiten:
Man kommt so zu einer Relation wie folgt:
In Tabellenformat sieht der Ausschnitt wie folgt aus:
Die Relationen lassen sich dabei als n-spaltige Tabellen abbilden, d.h. jede Relation kann als Tabelle dargestellt werden. Gelegentlich werden die Begriffe Relation und Tabelle synonym verwendet, was jedoch nicht korrekt ist: eine Tabelle dient lediglich zur Darstellung einer Relation. Prinzipielle Unterschiede sind
Tabelle | Relation |
2-dim. Array aus Zellen/Spalten geordnet doppelte Zeilen möglich | Menge von Tulpen ungeordnet duplikatfrei |
Nach (Weber, 2019): Möchte man zum Beispiel Bücher mit den Attributen ISBN, Titel und Autor abbilden, so würde dies folgende Relation ergeben:
Buch (ISBN, Titel, Autor) ⊆ integer x string x string
Die ISBN wird als Nummer (Typ integer = Ganzzahl), der Titel als Zeichenkette (Typ string) und der Autor ebenfalls als Zeichenkette dargestellt. Ein Element t der Menge R wird dabei als Tupel bezeichnet, d.h. t ∈ R. Für ein beispielhaftes Buch würde dies wie folgt aussehen:
t = (3926914335, "Vegane Ernährung", "Gill Langley")
Eine n-stellige Relation R kann nun als eine n-spaltige Tabelle dargestellt werden:
Buch
ISBN | Titel | Autor |
3926914335 | Vegane Ernährung | Gill Langley |
3499605341 | Iss Dich Fit | Neal Barnard |
0977080412 | Vegan Freak | Torres & Torres |
Grundregeln für ein relationales Datenbankmodell sind:
- Jede Zeile (Tupel) ist eindeutig und beschreibt ein Objekt der Miniwelt.
- Die Reihenfolge der Zeilen ist ohne Bedeutung, d.h. durch ihre Reihenfolge wird keine für den Benutzer relevante Bedeutung ausgedrückt.
- Die Reihenfolge der Spalten ist ohne Bedeutung, da sie einen eindeutigen Namen tragen.
- Jeder Datenwert innerhalb einer Relation ist ein atomares Datenelement.
- Alle für den Benutzer bedeutungsvollen Informationen sind ausschließlich durch Datenwerte ausgedrückt.
- Es existieren ein Primärschlüssel und ggf. weitere Schlüsselkandidaten (siehe dazu weiter unten)