DatenbankenRelationales Datenmodell | |
Definition: Eine Domain ist eine Menge von Werten (Wertebereich).
Beispiel: Folgende Mengen sind Domains:
Definition: Seien D1, ..., Dn Domains. Das kartesische Produkt
D1
...
Dn
ist die Menge aller n-Tupel
(d1, ..., dn) mit di
Di, i = 1, ..., n
Eine Relation über D1, ..., Dn ist eine Teilmenge des kartesischen Produkts D1
...
Dn.
Diese Definitionen stimmen mit den mengentheoretischen Definitionen des kartesischen Produkts und der Relation überein.
Beispiel: Seien D1 = integer, D2 = string, D3 = string, D4 = date. Dann ist folgende Menge R eine Relation über D1, ..., D4 :
R = { (101, Meyer, Heinz, 12.03.1962), (102, Schmidt, Heinz, 21.05.1948), (103, Meyer, Anna, 12.03.1962), (104, Meyer, Heinz, 21.05.1948) }
Wesentlich übersichtlicher ist es, wenn die Relation in Form einer Tabelle geschrieben wird:
| 101 | Meyer | Heinz | 12.03.1962 |
| 102 | Schmidt | Heinz | 21.05.1948 |
| 103 | Meyer | Heinz | 21.05.1948 |
| 104 | Meyer | Anna | 12.03.1962 |
Auf die einzelnen Felder der obigen Tabelle könnte man im Prinzip durch Angabe des Zeilen- und Spaltenindex zugreifen. Z.B. enthält das Feld R(4, 3) den String 'Anna'.
Allerdings ist die Reihenfolge der Zeilen in der Tabelle beliebig, denn eine Tabelle ist eine Relation, und eine Relation ist eine Menge, in der es auf die Reihenfolge der Elemente, hier also der Zeilen, nicht ankommt.
Die Lösung ist, dass über die Tabelleneinträge selber eindeutig eine Zeile identifiziert wird. In obiger Tabelle sind dies die Einträge in der ersten Spalte, die gewissermaßen als Zeilennummern aufgefasst werden können. Diese Spalte stellt hier den Schlüssel der Tabelle dar.
Die Reihenfolge der Spalten in einer Tabelle ist zwar fest, aber es besteht kein Zusammenhang zwischen der Reihenfolge und dem Inhalt. Dass etwa der Vorname in Spalte 3 erscheint, ist nicht zwingend, genausogut könnte der Vorname in Spalte 2 stehen und der Nachname in Spalte 3.
Um gezielt auf die Spalten zugreifen zu können, werden daher die Spalten benannt, die entsprechenden Bezeichnungen heißen Attribute.
Definition: Ein Relationenschema ist ein 4-Tupel (T, A, D, S), bestehend aus
A, dem Primärschlüssel Für die obige Beispielrelation R ist folgendes Relationenschema sinnvoll:
Die Tabelle sieht mit dem Relationennamen und den Attributen als Spaltenüberschriften wie folgt aus:
| PERSON | Id | Nachname | Vorname | GebDat |
| 101 | Meyer | Heinz | 12.03.1962 | |
| 102 | Schmidt | Heinz | 21.05.1948 | |
| 103 | Meyer | Heinz | 21.05.1948 | |
| 104 | Meyer | Anna | 12.03.1962 |
Auf den Eintrag 'Anna' kann nun durch PERSON[Id=104, Vorname] zugegriffen werden. In der Datenbank-Anfragesprache SQL wird dieser Zugriff so formuliert:
| SELECT | Vorname |
| FROM | PERSON |
| WHERE | Id=104 |
Das Ergebnis ist in diesem Fall eine Tabelle, deren einziger Eintrag 'Anna' ist:
| Vorname | |
| Anna |
Weiter mit: [Datenbankoperationen] oder 