Relationenalgebra und SQL: Kartesisches Produkt

Aus Wikibooks
Wechseln zu: Navigation, Suche
Wikibooks buchseite.svg Zurück zu "Durchschnitt" | One wikibook.svg Hoch zu "Inhaltsverzeichnis" | Wikibooks buchseite.svg Vor zu "Projektion"


Das Kartesische Produkt R × S ist eine Operation sehr ähnlich dem Kartesischen Produkt aus der Mengenlehre[1].

Das Resultat des Kartesischen Produkts ist die Menge aller Kombinationen der Tupel aus R und S, d.h. jede Zeile der einen Tabelle wird mit jeder Zeile der anderen Tabelle kombiniert. Wenn alle Merkmale (Spalten) verschieden sind, so umfasst die Resultatstabelle die Summe der Merkmale der Ausgangstabellen. Die Anzahl Tupel (Zeilen) im Resultat ist die Multiplikation der Anzahl Zeilen der Ausgangstabellen.

Definition [Bearbeiten]

Zwei beliebige Relationen R={(a_1,a_2,...,a_n)} und S={(b_1,b_2,...,b_m)} sind gegeben. Das kartesische Produkt ist definiert durch

R\times S:=\{(a_1,a_2,...,a_n,b_1,b_2,...,b_m)|(a_1,a_2,...,a_n)\in R\wedge (b_1,b_2,...,b_m)\in S\}

Beispiel [Bearbeiten]

R:
A B C D
1 2 3 4
4 5 6 7
7 8 9 0
S:
E F G
1 2 3
7 8 9
R × S:
A B C D E F G
1 2 3 4 1 2 3
4 5 6 7 1 2 3
7 8 9 0 1 2 3
1 2 3 4 7 8 9
4 5 6 7 7 8 9
7 8 9 0 7 8 9

SQL [Bearbeiten]

SELECT * FROM R, S;

oder

SELECT * FROM R CROSS JOIN S;

  1. Wikipedia-logo-v2.svg Kartesisches Produkt


Wikibooks buchseite.svg Zurück zu "Durchschnitt" | One wikibook.svg Hoch zu "Inhaltsverzeichnis" | Wikibooks buchseite.svg Vor zu "Projektion"