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

Formale Metadaten

Titel
Relationale Algebra (Teil 5), Verbundoperationen (Outer Join)
Serientitel
Anzahl der Teile
93
Autor
Lizenz
CC-Namensnennung 4.0 International:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen.
Identifikatoren
Herausgeber
Erscheinungsjahr
Sprache

Inhaltliche Metadaten

Fachgebiet
Genre
Abstract
In diesem Video geht es um weitere Verbundoperationen.
Schlagwörter
62
AlgebraTINA <Telekommunikation>DatenbankLagJoin-OperationAttributierte GrammatikAttributwertTupelNichtlinearer OperatorTabelleTypentheorieDatenbankKonditionszahlSchnelltasteSymboltabelleZahlenbereichRelativitätstheorieVollständiger VerbandResultanteKartesisches ProduktRechter WinkelComputeranimation
DatenbankRelativitätstheorieUniverselle AlgebraVollständiger VerbandComputeranimation
DatenbankTupelAttributwertTupelAlgebraInnerer PunktZahlenbereichRechter WinkelKonditionszahlSchlüsselverwaltungRelativitätstheorieVollständiger VerbandSchaltnetzTrennschärfe <Statistik>ResultanteDreieckAdditionNichtlinearer OperatorAttributierte GrammatikXMLFlussdiagrammComputeranimation
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.