11.10.2013 Aufrufe

Algorithmen und Datenstrukturen Vorlesungsskript WS/SS 99-00

Algorithmen und Datenstrukturen Vorlesungsskript WS/SS 99-00

Algorithmen und Datenstrukturen Vorlesungsskript WS/SS 99-00

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

13.3. <strong>Algorithmen</strong> <strong>und</strong> <strong>Datenstrukturen</strong> in einem relationalen Datenbanksystem<br />

¯ Seien Verb<strong>und</strong>-Attribute Ê Ê .<br />

– Ö <strong>und</strong> Ö werden nach sortiert, falls diese nicht schon sortiert sind.<br />

– Dann werden Ö <strong>und</strong> Ö gemischt, d.h., beide Relationen werden parallel<br />

sequentiell durchlaufen <strong>und</strong> passende Paare in das Ergebnis aufgenommen.<br />

Berechnung von Verb<strong>und</strong>en: Verb<strong>und</strong> mittels Schleifen<br />

Idee Nested-Loops-Join:<br />

¯ Nested-Loops-Join realisiert eine doppelte Schleife über beide Relationen.<br />

¯ Liegt bei einer der beiden Relationen ein Zugriffspfad für die -Attribute vor,<br />

kann die innere Schleife durch direkten Zugriff über diesen Zugriffspfad ersetzt<br />

werden.<br />

Berechnung von Verb<strong>und</strong>en<br />

Varianten der Verb<strong>und</strong>berechnung<br />

¯ Nested-Loops-Verb<strong>und</strong><br />

¯ Block-Nested-Loops-Verb<strong>und</strong><br />

¯ Merge-Join<br />

¯ Hash-Verb<strong>und</strong><br />

¯ <br />

Nested-Loops-Verb<strong>und</strong><br />

doppelte Schleife iteriert über alle Ø Ö <strong>und</strong> alle Ø × bei einer Operation Ö ×<br />

Ö ×:<br />

for each ØÖ Ö do<br />

begin<br />

for each Ø× × do<br />

begin<br />

if ØÖØ× then put ØÖ ¡ Ø× endif<br />

end<br />

end<br />

Funktioniert im Gegensatz zu den anderen Verfahren auch für Verb<strong>und</strong>bedingungen, die<br />

kein Gleichheitsprädikat benutzen!<br />

265

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!