We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Relationale Algebra (Teil 5), Verbundoperationen (Outer Join)

00:00

Formal Metadata

Title
Relationale Algebra (Teil 5), Verbundoperationen (Outer Join)
Title of Series
Number of Parts
93
Author
License
CC Attribution 4.0 International:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor.
Identifiers
Publisher
Release Date
Language

Content Metadata

Subject Area
Genre
Abstract
In diesem Video geht es um weitere Verbundoperationen.
Keywords
62
AlgebraTINA <Telekommunikation>DatabaseLagJoin-OperationAttribute grammarAttributwertTupleOperator (mathematics)Table (information)Type theoryDatabaseCondition numberKeyboard shortcutSymbol tableNumberTheory of relativityLattice (order)ResultantCartesian productRight angleComputer animation
DatabaseTheory of relativityUniverselle AlgebraLattice (order)Computer animation
DatabaseTupleAttributwertTupleAlgebraInterior (topology)NumberRight angleCondition numberKey (cryptography)Theory of relativityLattice (order)Combinational logicSelectivity (electronic)ResultantTriangleAdditionOperator (mathematics)Attribute grammarXMLProgram flowchartComputer animation
In diesem Video geht es um weitere Verbundoperationen. Ein InnerJoin liefert uns die Artikel, die auch im Lager enthalten sind. In diesem Beispiel wäre das der Artikel-Datenbank.
Anders sieht es aus, wenn wir fragen, welche Artikel besitzen keinen Lagerplatz. Zur Ermittlung beginnen wir wieder mit dem kathesischen Produkt aus den beiden Relationen Artikel und Lager. Für dieses Beispiel liefert uns das kathesische Produkt zwei Ergebnis-Tupel. Bei dem ersten Tupel stimmt die Artikelnummer in Artikel und die A-Nummer in Lager überein.
Beim zweiten Tupel nicht. Die Verbundbedingung, dass die Artikelnummer in Artikel und die A-Nummer in Lager übereinstimmen sollen, wird also nicht erfüllt. Das nutzen wir jetzt aus, um die Artikel zu identifizieren, die keinen Lagerplatz zugeordnet bekommen haben.
Die Einträge in den Attributen des Lagers vom Attribut 4830 sind nicht sinnvoll. Daher werden diese Attributwerte durch Null gekennzeichnet. Null kennzeichnet nicht zutreffende oder unbekannte Werte.
In diesem Fall haben wir die Attributwerte der Relation, die auf der linken Seite steht, übernommen. Diese Art der Verbundoperation wird als Left-Outer-Join bezeichnet, weil die Attributwerte der linken Relation übernommen werden. Durch die Vertauschung von rechter und linker Seite erhält man dann ein Right-Outer-Join.
Durch ein Right-Outer-Join könnten dann die Lagerplätze ermittelt werden, denen kein Artikel zugeordnet ist. Left- und Right-Outer-Join werden gekennzeichnet durch die entsprechenden Häkchen, die auf der rechten bzw. linken Seite des Verbundsymbols aufgetragen werden.
Den Left-Join in der Relationalen Algebra können wir jetzt so formulieren, dass auf die rechte Seite vom Left-Outer-Join-Operator die Relation Artikel kommt und auf die linke Seite die Relation Lager. Wenn wir jetzt nur die Artikel ermitteln wollen, die keinen Lagerplatz besitzen,
dann können wir das erreichen, indem wir eine Selektionsbedingung anschließen. Als Selektionsbedingung verwenden wir hier, dass die Lagernummer Null sein soll. Die Lagernummer ist der Primärschlüssel der Relation Lager und darf daher nicht Null sein.
Die Lagernummer kann also nur dann Null sein, wenn aufgrund des Left-Joints alle Attributwerte des Tupels auf Null gesetzt werden. Das heißt, die Verbundbedingung wird für solch ein Tupel nicht erfüllt. Das sind ja gerade die Tupel, die wir haben wollen. Diese Kombination aus einem Left-Outer-Join und einer nachfolgenden Selektionsbedingung wird auch zusammengefasst als Anti-Join bezeichnet.
Der Anti-Join wird durch ein Dreieck gekennzeichnet. Neben dem Right-Outer-Join und dem Left-Outer-Join gibt es auch noch den Full-Outer-Join.
Der Full-Outer-Join kann gesehen werden als Vereinigung der Ergebnismengen des Left-Outer-Joints und des Right-Outer-Joints. Verglichen mit den Ergebnissen eines Inner-Joints haben wir dann noch zusätzlich die Tupel aus dem Right-Outer-Joint und die zusätzlichen Tupel aus dem Left-Outer-Joint.
Damit haben wir einmal den Inner-Join. Hier werden nur die Tupel übernommen, die die Verbundbedingung erfüllen. Dann gibt es den Left- und den Right-Outer-Join. Erfüllt ein Tupel die Verbundbedingung nicht, so werden beim Left-Outer-Join die Attributwerte
der linken Relation übernommen, während die Attributwerte der rechten Relation auf Null gesetzt werden. Beim Right-Outer-Join ist das genau umgekehrt. Der Full-Outer-Join liefert als Ergebnismengel die Vereinigung des Left-Outer-Joints und des Right-Outer-Joints.
Am häufigsten treten in der Praxis Inner-Joints auf. Manchmal kommt ein Left-Outer-Joint oder ein Right-Outer-Joint vor. Die Verwendung des Full-Outer-Joints kommt in der Praxis meistens nicht vor.