Relationale Datenbank - Unterschied zwischen Domäne und Tupel?
Ich bin verwirrt:
- Eine Domäne ist ein Wertebereich.
- Jede Zeile (Tupel) in einer Tabelle ist ein Datensatz.
- t= (v1, v2, ..., vn), vi Element Di
- Jedes Element v stammt aus der zugehörigen Domäne D.
Ist ein Tupel gleichzeitig eine Domäne?
Danke!
1 Antwort
![](https://images.gutefrage.net/media/default/user/7_nmmslarge.png?v=1438863662000)
Ein Tupel ist selbst keine Domäne, sondern ein Element einer Domäne. Diese Domäne besteht statt aus Einzelwerten aus Tupeln.
Beispiel:
D1 = {A, B}
D2 = {1, 2, 3}
D_Paar = {(A,1), (A,2), (A,3), (B,1), (B,2), (B,3)}
(2-Tupel heißen auch Paare)
Jedes Element von D_Paar ist ein Tupel, aber D_Paar selbst ist eine (ungeordnete) Menge und kein Tupel. Und auch die einzelnen Tupel sind geordnete Listen und als solche keine Mengen.
(Anmerkung: Es gibt mehrere Möglichkeiten, Tupel als Mengen darzustellen, aber das ist deutlich komplizierter als einfach die Elemente aufzulisten.)
Siehe auch "Kartesisches Produkt von Mengen"
![](https://images.gutefrage.net/media/default/user/7_nmmslarge.png?v=1438863662000)
Freut mich! Deine Übertragung auf Datenbanken ist richtig. (Hätte ich wohl noch mitliefern sollen, aber meine Datenbanktheorie liegt schon lang zurück)
Okay, danke!
Bezogen auf Datenbanken bedeutet das:
In einer Relation/Tabelle ist eine Zeile (mit Attritbutwerten) ein Tupel.
Ein Tupel ist z.B: t = (2, 'Huber', 'Gerd', M)
Jeder Attributwert (z.B. 'Huber') hat eine Domäne (z.B. String).
In diesem Beispiel entsprechen die Domänen einem endlichen Datentyp (z.B. integer, char, String).
Jetzt habe ich es verstanden!