Join

Die Join-Operatoren sind (ableitbare) Operationen der relationalen Algebra.

Die Join-Operation (Verbundoperation) verbindet zwei Relationen erst einmal wie das kartesische Produkt. Allerdings werden nur solche Tupel für die Ergebnismenge ausgewählt, die in einer gewissen Beziehung zueinander stehen, indem sie ein vorgegebenes Selektionsprädikat erfüllen. Alle Join-Operationen sind aus kartesischem Produkt und Selektion ableitbar. Nur der Natural-Join benötigt zusätzlich noch eine abschließende Projektion. In SQL werden die Join-Operatoren mittels der Join-Tabelle implementiert.

Join-Typen in der relationalen Algebra
Join-Typen in der relationalen Algebra


Es gibt vier verschiedene Join-Typen, deren Zusammenhänge durch das nebenstehende Mengendiagramm beschrieben werden:

  1. Theta-Join
  2. Equi-Join
  3. Natural-Join
  4. Outer-Join

Darstellungstechnisch bedingt sind hier im Diagramm Bereiche des Equi-Joins dargestellt, die es gar nicht gibt. Ein Equi-Join ist immer entweder ein Theta- oder ein Outer-Join und sonst nichts.

Eine Join-Operation (Theta-Join, Equi-Join oder Natural-Join) zwischen R und S heißt verlustfrei, wenn alle Tupel von R und S am Verbund teilnehmen. Die inverse Operation Projektion erzeugt dann wieder R und S aus dem Join-Ergebnis.

Tupel, denen bei Join-Operationen die entsprechenden Tupel in der anderen Tabelle fehlen, mit denen sie verknüpft werden können, heißen auch Dangling (baumelnde)-Tupel bzw. Datensätze, um sie in die Ergebnismenge mit aufnehmen zu können, werden die Outer-Join-Operatoren benötigt.

Es ist auch möglich, eine Relation mit sich selber über einen Join zu verknüpfen. Solch ein Join heißt auch Self-Join (siehe Join-Typ-SQL).

Unter SQL werden die gleichen Join-Typen verwendet, zusätzlich gibt es noch weitere Join-Typen.

siehe auch: Relationale-Algebra, Join-Tabelle Join-Typ-SQL, Rechengesetze-der-relationalen-Algebra

Quellen:

  • Elmasri, Ramez/Navathe, Shamkant B.: "Grundlagen von Datenbanksystemen" , Pearson Studium, München, 2002, ISBN 3-8273-7021-3
  • Faeskorn-Woyke, Heide/Bertelsmeier, Birgit/Riemer, Petra/Bauer, Elena: "Datenbanksysteme - Theorie und Praxis mit SQL2003, Oracle und MySQL", Pearson Education, München, 2007, ISBN 978-3-8273-7266-6
  • Kemper, Alfons/Eickler, André: "Datenbanksysteme", Oldenbourg, München, 2009, 978-3-486-59018-0
  • Saake, Gunter/Sattler, Kai-Uwe/Heuer, Andreas: "Datenbanken - Konzepte und Sprachen", mitp-Verlag, Redline GmbH, Heidelberg, 2007, ISBN 3-8266-1664-2
  • Vossen, Gottfried: "Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme", Oldenbourg, München, 2008, ISBN 978-3-486-27574-2

Kategorie: Relationale Algebra, J