Kreuzprodukt: Unterschied zwischen den Versionen
Aus KGS-Wiki
Sn (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Sn (Diskussion | Beiträge) KKeine Bearbeitungszusammenfassung |
||
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
Das | Das [[Kreuzprodukt]], auch '''kartesisches Produkt''' genannt (<math>\times</math>) ist ein Operator der Relationenalgebra. | ||
Mit einem Kreuzprodukt <math>A \times B</math> wird jedes [[Tupel]] aus [[Relation]] <math>A</math> mit jedem Tupel aus Relation <math>B</math> zu einem neuen Tupel verbunden, das alle [[Attribute]] der beiden Relationen enthält. Das Ergebnis einer Kreuzmultiplikation ist wieder eine Relation. | Mit einem Kreuzprodukt <math>A \times B</math> wird jedes [[Tupel]] aus [[Relation]] <math>A</math> mit jedem Tupel aus Relation <math>B</math> zu einem neuen Tupel verbunden, das alle [[Attribut (Informatik)|Attribute]] der beiden Relationen enthält. Das Ergebnis einer Kreuzmultiplikation ist wieder eine Relation. | ||
Die Schreibweise ist <math>\textrm{Relation 1} \times \textrm{Relation 2}</math>. | Die Schreibweise ist <math>\textrm{Relation 1} \times \textrm{Relation 2}</math>. In [[SQL]] entsteht ein Kreuzprodukt dadurch, dass man eine Abfrage über mehrere Tabellen durchführt, ohne eine Bedingung mit <code>WHERE</code> zu stellen. | ||
== Beispiel == | == Beispiel == | ||
Zeile 217: | Zeile 217: | ||
|Erion Veliaj | |Erion Veliaj | ||
|} | |} | ||
Die entsprechende SQL-Abfrage ist <code>SELECT * FROM Land, Stadt;</code>{{Navigationsleiste Operatoren der Relationenalgebra}} | |||
[[Kategorie:Datenbanken]] | [[Kategorie:Datenbanken]] |
Aktuelle Version vom 15. März 2023, 17:25 Uhr
Das Kreuzprodukt, auch kartesisches Produkt genannt () ist ein Operator der Relationenalgebra.
Mit einem Kreuzprodukt wird jedes Tupel aus Relation mit jedem Tupel aus Relation zu einem neuen Tupel verbunden, das alle Attribute der beiden Relationen enthält. Das Ergebnis einer Kreuzmultiplikation ist wieder eine Relation.
Die Schreibweise ist . In SQL entsteht ein Kreuzprodukt dadurch, dass man eine Abfrage über mehrere Tabellen durchführt, ohne eine Bedingung mit WHERE
zu stellen.
Beispiel
Betrachten wir die Relationen Land und Stadt:
Land_Name | Hauptstadt | Land_EW | Land_Fläche |
---|---|---|---|
Afghanistan | Kabul | 35.500.000 | 652.230 |
Ägypten | Kairo | 93.400.000 | 1.001.450 |
Albanien | Tirana | 2.900.000 | 28.748 |
Algerien | Algier | 42.200.000 | 2.381.741 |
Stadt_Name | Stadt_EW | Stadt_Fläche | Bürgermeister |
---|---|---|---|
Algier | 2.159.051 | 273 | Youcef Cherfa |
Kabul | 4.273.15 | 275 | Abdullah Habibzai |
Kairo | 9.153.135 | 606 | Khaled Abdel Aal |
Tirana | 557.422 | 1.110 | Erion Veliaj |
Das Kreuzprodukt ergibt folgende Relation:
Land_Name | Hauptstadt | Land_EW | Land_Fläche | Stadt_Name | Stadt_EW | Stadt_Fläche | Bürgermeister |
---|---|---|---|---|---|---|---|
Afghanistan | Kabul | 35.500.000 | 652.230 | Algier | 2.159.051 | 273 | Youcef Cherfa |
Afghanistan | Kabul | 35.500.000 | 652.230 | Kabul | 4.273.15 | 275 | Abdullah Habibzai |
Afghanistan | Kabul | 35.500.000 | 652.230 | Kairo | 9.153.135 | 606 | Khaled Abdel Aal |
Afghanistan | Kabul | 35.500.000 | 652.230 | Tirana | 557.422 | 1.110 | Erion Veliaj |
Ägypten | Kairo | 93.400.000 | 1.001.450 | Algier | 2.159.051 | 273 | Youcef Cherfa |
Ägypten | Kairo | 93.400.000 | 1.001.450 | Kabul | 4.273.15 | 275 | Abdullah Habibzai |
Ägypten | Kairo | 93.400.000 | 1.001.450 | Kairo | 9.153.135 | 606 | Khaled Abdel Aal |
Ägypten | Kairo | 93.400.000 | 1.001.450 | Tirana | 557.422 | 1.110 | Erion Veliaj |
Albanien | Tirana | 2.900.000 | 28.748 | Algier | 2.159.051 | 273 | Youcef Cherfa |
Albanien | Tirana | 2.900.000 | 28.748 | Kabul | 4.273.15 | 275 | Abdullah Habibzai |
Albanien | Tirana | 2.900.000 | 28.748 | Kairo | 9.153.135 | 606 | Khaled Abdel Aal |
Albanien | Tirana | 2.900.000 | 28.748 | Tirana | 557.422 | 1.110 | Erion Veliaj |
Algerien | Algier | 42.200.000 | 2.381.741 | Algier | 2.159.051 | 273 | Youcef Cherfa |
Algerien | Algier | 42.200.000 | 2.381.741 | Kabul | 4.273.15 | 275 | Abdullah Habibzai |
Algerien | Algier | 42.200.000 | 2.381.741 | Kairo | 9.153.135 | 606 | Khaled Abdel Aal |
Algerien | Algier | 42.200.000 | 2.381.741 | Tirana | 557.422 | 1.110 | Erion Veliaj |
Die entsprechende SQL-Abfrage ist SELECT * FROM Land, Stadt;