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.

[Bearbeiten] Definition

Zwei beliebige Relationen R = (a1,a2,...,an) und S = (b1,b2,...,bm) 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\}

[Bearbeiten] Beispiel

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

[Bearbeiten] SQL

SELECT * FROM R, S;

oder

SELECT * FROM R CROSS JOIN S;

  1. Wikipedia-logo.png Kartesisches Produkt


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