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
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"
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!