[Relationale Algebra] (1) Definition der Relation; (2) Verbund von Tupeln

Neue Frage »

Ungelehrter Auf diesen Beitrag antworten »
[Relationale Algebra] (1) Definition der Relation; (2) Verbund von Tupeln
Guten Tag,

(1)

Vorweg meine umgangssprachliche Definition einer Relation:

Eine Relation ist etwa eine Tabelle, die aus Spalten und Zeilen besteht. Eine Spalte wird als Projektion und eine Zeile als Tupel bezeichnet.
Damit kann eine Relation als Menge von Tupeln und/oder Projektionen verstanden werden. Soweit richtig? Konkrete und sind keine Mengen, sondern geordnete Paare.

Beispiel-Tabelle (Person)
code:
1:
2:
3:
4:
5:
Name   | Alter
-------+------
Asrael |  30
Barak  |  40
Chajin |  10

Auf das Beispiel angewandt:




Die Anzahl aller Elemente (Tupel) von müsste sein:


Die Anzahl aller Elemente (Projektionen) von müsste sein:


Wie kann ich mathematisch genauer definieren, ob ich Tupel oder Projektionen meine?
bzw.
oder
bzw.
oder
bzw.

Welches ist syntaktisch richtig?

(2)

Auf Wikipedia ist ein JOIN mathematisch wie folgt definiert:

und sind Relationen (Tabellen).
Mit und sind womöglich Tupel gemeint?
Der verlangt jeweils eine Spalte aus der einen und eine Spalte aus der anderen Tabelle, dessen Attribute miteinander verglichen werden.



Den Ausdruck lese ich wie folgt:

Ein Join wurde angewandt, wenn zwei Tupel vereint (?) wurden, der Tupel sich in befindet, der Tupel von sich in befindet und der ausdruck wahr ist.

Wie ist der Verbund von Tupeln zu verstehen, also das in der Formel.
Elvis Auf diesen Beitrag antworten »

zu (1)
und sind Mengen. Im Beispiel ist (Asrael,30),(Barak,40),(Chajin,10)(Asrael,Barak,Chajin),(30,40,10). Also ist . Die Menge der Projektionen ist eine durch die Attribute geordnete Menge, meines Wissens sind die Tupel eine (ungeordnete) Menge. Bei Bedarf können sie durch ein Schlüsselattribut oder durch einen Index geordnet werden.

zu (2)
Hier hast Du leider einen sehr unvollständigen Teil der Definition aus Wikipedia aufgeschrieben. Das kann man nur verstehen, wenn man weiß, dass JOIN eine Selektion aus und nicht eine Selektion aus ist. Wikipedia ist da sehr schlampig, aber zeigt wenigstens am Beispiel, was gemeint ist.
echnaton Auf diesen Beitrag antworten »
RE: [Relationale Algebra] (1) Definition der Relation; (2) Verbund von Tupeln
Ich kann dem Ganzen nicht zustimmen und sehe das anders.

Zitat:
Original von Ungelehrter
Eine Spalte wird als Projektion und eine Zeile als Tupel bezeichnet.

Die Spalten werden als Attribute bezeichnet und die Projektion ist eine Operation, welche Attribute auf Tupelebene extrahiert. Die Relation sollte daher als Menge von Tupeln aufgefasst werden. Mehrfache Elemente werden in der Relationalen Algebra entfernt (was den Mengencharakter widerspiegelt). In der Praxis (SQL) ist es jedoch möglich, doppelte Einträge zuzulassen.
Elvis Auf diesen Beitrag antworten »

Ich kann mir auch nicht ganz zustimmen. Augenzwinkern

Die Projektion ist eine Operation, die aus einer Relation wieder eine Relation macht, indem sie Attribute auswählt. (siehe Wiki)

Die Zeilen einer Relation nennt man Tupel, somit bleibe ich bei meiner Interpretation der Tupelmenge.

Ob die Tupelmenge geordnet ist oder nicht und ob sie Tupel mehrfach enthalten kann oder nicht, hängt von der Implementierung in der Datenbank ab. Ordnung und/oder mehrfaches Auftreten kann wie gesagt z. B. durch Indizierung erfolgen (zusätzliches Attribut : Index).
Ungelehrter Auf diesen Beitrag antworten »

Zitat:
Original von Elvis
meines Wissens sind die Tupel eine (ungeordnete) Menge. Bei Bedarf können sie durch ein Schlüsselattribut oder durch einen Index geordnet werden.

Richtig. Tupel (pl.) sind Mengen und damit unsortiert. Ich schrieb im Anfangsbeitrag, dass ein konkretes Tupel keine Menge sei, sondern ein nach der Reihenfolge der Attribute geordnetes Paar.

@echnaton
Vielen Dank! Sehr aufschlussreich, dein Beitrag.


Eine Relation kann also nur existieren, wenn sie mindestens über ein Attribut verfügt, alles andere wäre ja sinnlos.
Eine Attributmenge oder auch Menge von Attributen drückt man also so aus:

Und eine beliebige Relation R über eine belibige Attributmenge ist dann wohl so (teil-) definiert:

Die Anzahl der Tupel einer beliebigen Relation R über eine beliebige Attributmenge ist dann wohl das hier:
Elvis Auf diesen Beitrag antworten »

Nein. Eine Relation ist nicht eine Menge von Attributen. Eine Relation ist eine Menge von Tupeln mit Attributen.
 
 
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »