Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 Differenzierte Verbindungsoperationen (1) Beobachtung: Einfach zu formulierende Verbindungen wie ein Natural Join sind nicht als solche dokumentiert.

Ähnliche Präsentationen


Präsentation zum Thema: "1 Differenzierte Verbindungsoperationen (1) Beobachtung: Einfach zu formulierende Verbindungen wie ein Natural Join sind nicht als solche dokumentiert."—  Präsentation transkript:

1 1 Differenzierte Verbindungsoperationen (1) Beobachtung: Einfach zu formulierende Verbindungen wie ein Natural Join sind nicht als solche dokumentiert. Outer Joins sind nur sehr kompliziert formulierbar. Beispiel: Lagereinheit 6 LagereinheitArt selectLeNr, ANr, Stückzahl, Gewicht, LhNr, Lea.LeaNr, LeaName, Länge, Breite, Höhe, MaxGewicht fromLagereinheit Le, LagereinheitArt Lea whereLe.LeaNr = Lea.LeaNr union selectNULL as LeNr, NULL as ANr, NULL as Stückzahl, NULL as Gewicht, NULL as LhNr, Lea.LeaNr, LeaName, Länge, Breite, Höhe, MaxGewicht fromLagereinheitArt Lea wherenot exists ( select  fromLagereinheit whereLea.LeaNr = LeaNr );

2 2 Differenzierte Verbindungsoperationen (2) Lösung: Statt wie bisher nur das implizite Kartesische Produkt lassen sich in der from-Klausel eine Reihe von Verknüpfungen zwischen den Relationen angeben: from R 1 op R 2 op … op R n op spezifiziert dabei einen relationenalgebraischen Verbindungsoperator aus folgenden Möglichkeiten: cross join | [ natural ] { left | right | full } [ outer ] join | [ natural ] { inner | union } join

3 3 Differenzierte Verbindungsoperationen (3) cross join [ natural ] { left | right | full } [ outer ] join [ natural ] { inner | union } join Berechnung des kartesischen Produkts. Entsprechen den drei Varianten für Outer Joins. Optionales outer dient der besseren Lesbarkeit. Optionales natural spezifiziert eine natürliche Verbindung mit den in beiden Relationen gleich benannten Attributen. Ohne natural müssen die Verbindungsattribute wie gewohnt in der where-Klausel spezifiziert werden. Spezifikation einer inneren Verbindung (normaler Theta-Join). Optionales natural fordert wieder eine natürliche Verbindung. Lagereinheit 6 LagereinheitArt: select  from Lagereinheit natural right outer join LagereinheitArt;

4 4 Differenzierte Verbindungsoperationen (4) union join: Full Outer Join, bei dem von vornherein feststeht, dass es zu keinen „echten“ Verbindungen kommt. Die Ergebnisrelation enthält also zum einen die Tupel der “linken” Eingaberelation nach rechts aufgefüllt mit NULL-Werten, zum anderen die Tupel der “rechten” Eingaberelation nach links aufgefüllt mit NULL- Werten. Die Zahl der Ergebnistupel entspricht somit der Summe der Tupel in den beiden Eingaberelationen.

5 5 Differenzierte Verbindungsoperationen (5) Abarbeitungsreihenfolge: Assoziativität gilt bei den neuen Operatoren nicht mehr ohne weiteres. Beim Hintereinanderschreiben mehrerer dieser Konstrukte wird generell von links nach rechts ausgewertet. Klammerungen sind möglich. Natürliche Verbindung: natural zieht normalerweise alle gleich benannten Attribute heran. Falls unerwünscht, Beschränkung mittels using-Klausel. Beispiel: “Alle Artikel zusammen mit den Lagereinheiten, in die sie verpackt sind”. selectANr, AName, LeNr fromArtikelArt natural inner join Lagereinheit using (ANr);

6 6 Differenzierte Verbindungsoperationen (5) Abarbeitungsreihenfolge: Assoziativität gilt bei den neuen Operatoren nicht mehr ohne weiteres. Beim Hintereinanderschreiben mehrerer dieser Konstrukte wird generell von links nach rechts ausgewertet. Klammerungen sind möglich. Theta-Join: natural zieht normalerweise alle gleich benannten Attribute heran. Falls unerwünscht, expliziter Theta-Join mittels on-Klausel. Beispiel: “Alle Artikel zusammen mit den Lagereinheiten, in die sie verpackt sind”. selectA.ANr, A.AName, L.LeNr fromArtikelArt A inner join Lagereinheit L on (A.ANr = L.ANr);


Herunterladen ppt "1 Differenzierte Verbindungsoperationen (1) Beobachtung: Einfach zu formulierende Verbindungen wie ein Natural Join sind nicht als solche dokumentiert."

Ähnliche Präsentationen


Google-Anzeigen