Join: Unterschied zwischen den Versionen

Aus KGS-Wiki
(Die Seite wurde neu angelegt: „Der '''Join''' (<math>\Bowtie</math>) ist ein Operator der Relationenalgebra. Mit einem Join können diejenigen Tupel zweier Relationen miteinander verbunden werden, die bestimmten Bedingungen entsprechen. Die Schreibweise ist <math>\textrm{Relation 1} \Bowtie_{\textrm{Bedingungen} \textrm{Relation 2}</math>. == Beispiel == Betrachten wir die Relationen '''Land''' und '''Stadt''': {| class="wikitable" |+Land !Land_Name !Hauptstadt !Land_EW !Land_Fläch…“)
 
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
Der '''Join''' (<math>\Bowtie</math>) ist ein Operator der Relationenalgebra.
Der '''Join''' (<math>\bowtie</math>) ist ein Operator der Relationenalgebra.


Mit einem Join können diejenigen Tupel zweier Relationen miteinander verbunden werden, die bestimmten Bedingungen entsprechen.
Mit einem Join können diejenigen Tupel zweier Relationen miteinander verbunden werden, die bestimmten Bedingungen entsprechen.


Die Schreibweise ist <math>\textrm{Relation 1} \Bowtie_{\textrm{Bedingungen} \textrm{Relation 2}</math>.
Die Schreibweise ist <math>\textrm{Relation 1} \bowtie_{\textrm{Bedingungen} } \textrm{Relation 2}</math>.


== Beispiel ==
== Beispiel ==
Zeile 45: Zeile 45:
|273
|273
|Youcef Cherfa
|Youcef Cherfa
|-
|Helsinki
|656.920
|755
|Juhana Vartiainen
|-
|-
|Kabul
|Kabul
Zeile 55: Zeile 60:
|606
|606
|Khaled Abdel Aal
|Khaled Abdel Aal
|-
|Tirana
|557.422
|1.110
|Erion Veliaj
|}
|}
Der Join <math>\textrm{Land} \Bowtie_{\textrm{Hauptstadt} = \textrm{Stadt_Name}} \textrm{Stadt}</math> ergibt folgende Relation:
Der Join <math>\textrm{Land} \bowtie_{\textrm{Hauptstadt} = \textrm{Stadt}\_\textrm{Name}} \textrm{Stadt}</math> ergibt folgende Relation:
{| class="wikitable"
{| class="wikitable"
|+<math>\textrm{Land} \times \textrm{Stadt}</math>
|+<math>\textrm{Land} \bowtie_{\textrm{Hauptstadt} = \textrm{Stadt}\_\textrm{Name}} \textrm{Stadt}</math>
!Land_Name
!Land_Name
!Hauptstadt
!Hauptstadt
Zeile 72: Zeile 72:
!Stadt_Fläche
!Stadt_Fläche
!Bürgermeister
!Bürgermeister
|-
|Afghanistan
|Kabul
|35.500.000
|652.230
|Algier
|2.159.051
|273
|Youcef Cherfa
|-
|-
|Afghanistan
|Afghanistan
Zeile 86: Zeile 77:
|35.500.000
|35.500.000
|652.230
|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
|Kabul
|4.273.15
|4.273.15
Zeile 136: Zeile 91:
|Khaled Abdel Aal
|Khaled Abdel Aal
|-
|-
|Ägypten
|Algerien
|Kairo
|Algier
|93.400.000
|42.200.000
|1.001.450
|2.381.741
|Tirana
|557.422
|1.110
|Erion Veliaj
|-
|Albanien
|Tirana
|2.900.000
|28.748
|Algier
|Algier
|2.159.051
|2.159.051
|273
|273
|Youcef Cherfa
|Youcef Cherfa
|}
== Semi Join ==
Der '''Semi Join''' (<math>\ltimes</math> und <math>\rtimes</math>) ist eine Spezialform des Joins. Wenn man zwei Relationen mit einem Semi Join verknüpft, werden nur diejenigen Tupel aus einer der beiden Relationen übernommen, ''für die es ein Gegenpart in der anderen Relation gibt.'' Beim '''Left Semi Join''' (<math>\ltimes</math>) werden die Tupel aus der linken Relation übernommen, beim '''Right Semi Join''' (<math>\rtimes</math>) aus der rechten.
=== Beispiele ===
Der Semi Join <math>\textrm{Land} \ltimes_{\textrm{Land}\_\textrm{Name} = \textrm{Stadt}\_\textrm{Name}} \textrm{Stadt}</math> ergibt folgende Relation:
{| class="wikitable"
|+<math>\textrm{Land} \ltimes_{\textrm{Land}\_\textrm{Name} = \textrm{Stadt}\_\textrm{Name}} \textrm{Stadt}</math>
!Land_Name
!Hauptstadt
!Land_EW
!Land_Fläche
|-
|-
|Albanien
|Afghanistan
|Tirana
|2.900.000
|28.748
|Kabul
|Kabul
|4.273.15
|35.500.000
|275
|652.230
|Abdullah Habibzai
|-
|-
|Albanien
|Ägypten
|Tirana
|2.900.000
|28.748
|Kairo
|Kairo
|9.153.135
|93.400.000
|606
|1.001.450
|Khaled Abdel Aal
|-
|Albanien
|Tirana
|2.900.000
|28.748
|Tirana
|557.422
|1.110
|Erion Veliaj
|-
|-
|Algerien
|Algerien
Zeile 185: Zeile 127:
|42.200.000
|42.200.000
|2.381.741
|2.381.741
|}
Der Semi Join <math>\textrm{Land} \rtimes_{\textrm{Land}\_\textrm{Name} = \textrm{Stadt}\_\textrm{Name}} \textrm{Stadt}</math> ergibt folgende Relation:
{| class="wikitable"
|+<math>\textrm{Land} \rtimes_{\textrm{Land}\_\textrm{Name} = \textrm{Stadt}\_\textrm{Name}} \textrm{Stadt}</math>
!Stadt_Name
!Stadt_EW
!Stadt_Fläche
!Bürgermeister
|-
|Algier
|Algier
|2.159.051
|2.159.051
Zeile 190: Zeile 141:
|Youcef Cherfa
|Youcef Cherfa
|-
|-
|Algerien
|Algier
|42.200.000
|2.381.741
|Kabul
|Kabul
|4.273.15
|4.273.15
Zeile 199: Zeile 146:
|Abdullah Habibzai
|Abdullah Habibzai
|-
|-
|Algerien
|Algier
|42.200.000
|2.381.741
|Kairo
|Kairo
|9.153.135
|9.153.135
|606
|606
|Khaled Abdel Aal
|Khaled Abdel Aal
|-
|Algerien
|Algier
|42.200.000
|2.381.741
|Tirana
|557.422
|1.110
|Erion Veliaj
|}
|}


{{Navigationsleiste Operatoren der Relationenalgebra}}
== Outer Join ==
{{Lückenhaft|Outer Join}}{{Navigationsleiste Operatoren der Relationenalgebra}}


[[Kategorie:Datenbanken]]
[[Kategorie:Datenbanken]]

Version vom 11. Januar 2023, 17:21 Uhr

Der Join () ist ein Operator der Relationenalgebra.

Mit einem Join können diejenigen Tupel zweier Relationen miteinander verbunden werden, die bestimmten Bedingungen entsprechen.

Die Schreibweise ist .

Beispiel

Betrachten wir die Relationen Land und Stadt:

Land
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
Stadt_Name Stadt_EW Stadt_Fläche Bürgermeister
Algier 2.159.051 273 Youcef Cherfa
Helsinki 656.920 755 Juhana Vartiainen
Kabul 4.273.15 275 Abdullah Habibzai
Kairo 9.153.135 606 Khaled Abdel Aal

Der Join 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 Kabul 4.273.15 275 Abdullah Habibzai
Ägypten Kairo 93.400.000 1.001.450 Kairo 9.153.135 606 Khaled Abdel Aal
Algerien Algier 42.200.000 2.381.741 Algier 2.159.051 273 Youcef Cherfa

Semi Join

Der Semi Join ( und ) ist eine Spezialform des Joins. Wenn man zwei Relationen mit einem Semi Join verknüpft, werden nur diejenigen Tupel aus einer der beiden Relationen übernommen, für die es ein Gegenpart in der anderen Relation gibt. Beim Left Semi Join () werden die Tupel aus der linken Relation übernommen, beim Right Semi Join () aus der rechten.

Beispiele

Der Semi Join ergibt folgende Relation:

Land_Name Hauptstadt Land_EW Land_Fläche
Afghanistan Kabul 35.500.000 652.230
Ägypten Kairo 93.400.000 1.001.450
Algerien Algier 42.200.000 2.381.741

Der Semi Join ergibt folgende Relation:

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

Outer Join

🕳
Lückenhaft

In diesem Artikel oder Abschnitt fehlen noch folgende wichtige Informationen:

Outer Join

Hilf dem KGS-Wiki, indem du sie recherchierst und einfügst.