pdf (870 Kb) - Fachgebiet Datenbanken und Informationssysteme
pdf (870 Kb) - Fachgebiet Datenbanken und Informationssysteme
pdf (870 Kb) - Fachgebiet Datenbanken und Informationssysteme
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
3.3. JOIN-METHODEN (✶P , ⊲⊳P ) 31<br />
Joins. Der Iterator zu den verschiedenen Semijoin-Operatoren ist jeweils fast der<br />
gleiche wie bei dem Join-Operator, mit dem kleinen Unterschied, daß stets statt<br />
des Verb<strong>und</strong>es zweier passender Tupel nur das linke Tupel ausgegeben wird <strong>und</strong><br />
die Suche nach Join-Partnern in der rechten Eingabe (Relation bzw. Index) abgebrochen<br />
wird, falls ein Partner für das linke Tupel gef<strong>und</strong>en wurde.<br />
Für Join <strong>und</strong> Semijoin gilt:<br />
R1 ✶p R2 = (R1 ⋉p πattr(p)(R2)) ✶p R2.<br />
Aus dieser Gleichung folgt die Möglichkeit, bei verteilten <strong>Datenbanken</strong> den Transfer<br />
zu verringern. Soll ein Join zweier Relationen vorgenommen werden, die auf<br />
zwei verschiedenen Sites gespeichert sind, kann zunächst die Projektionπattr(p)(R2)<br />
gebildet <strong>und</strong> versendet werden, daraufhin mittels eines Semijoins R1⋉pπattr(p)(R2)<br />
die ” überflüssigen“ Tupel (sogenannte dangling-tupel) der Relation R1 eliminiert<br />
<strong>und</strong> die benötigten Tupel, also das erhaltene Zwischenergebnis, zurückgesandt<br />
werden. Zum Abschluß wird ein Join dieses Zwischenergebnisses <strong>und</strong> der Relation<br />
R2 gebildet. Insbesondere wenn es viele dangling-Tupel gibt, spart diese<br />
Ausführung viel Datentransfer ein.<br />
Der Antisemijoin ( ¯⋉p) liefert im Gegensatz zum Semijoin alle die Tupel aus R1,<br />
die keinen Joinpartner in der zweiten Relation R2 haben:<br />
R1 ¯⋉p R2 = R1 − (R1 ⋉p R2)<br />
3.3.6 Outer-Joins (❂⋊p, ⋉❁p, ❂×❁p)<br />
Die bislang eingeführten Join-Operator nennt man normalerweise Inner-Joins, da<br />
bei dieser Variante die Tupel der Argumentrelation verloren gehen, die keinen<br />
Joinpartner gef<strong>und</strong>en haben. Bei der Outer-Join Operation werden je nach Typ<br />
auch partnerlose Tupel der linken, der rechten bzw. beider Argumentrelationen<br />
ins Ergebnis übernommen, dabei werden die fehlenden Attribute bei den partnerlosen<br />
Tupeln mit Nullwerten aufgefüllt.<br />
• Left-Outer-Join (❂⋊p)<br />
Die partnerlosen Tupel der linken Relation, rechts aufgefüllt mit Nullwerten,<br />
werden dem Ergebnis hinzugefügt.<br />
• Right-Outer-Join (⋉❁p)<br />
Die partnerlosen Tupel der rechten Relation, links aufgefüllt mit Nullwerten,<br />
werden dem Ergebnis hinzugefügt.