09.02.2013 Aufrufe

pdf (870 Kb) - Fachgebiet Datenbanken und Informationssysteme

pdf (870 Kb) - Fachgebiet Datenbanken und Informationssysteme

pdf (870 Kb) - Fachgebiet Datenbanken und Informationssysteme

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.

Kapitel 2<br />

Das Schönste, was wir erleben können,<br />

ist das Geheimnisvolle.<br />

Albert Einstein<br />

Algebraische Optimierung<br />

Im Rahmen der algebraischen Optimierung wird die interne 1:1-Übersetzung<br />

der Anfrage in eine Standardform transformiert, die zwar noch äquivalent zur<br />

Original-Anfrage ist, aber schon eine gewisse Optimierung beinhaltet. Dabei wird<br />

eine gr<strong>und</strong>sätzliche Form benötigt, bei der die Ausdrücke der relationalen Algebra<br />

sich direkt in Operatorbäume umsetzen lassen. Relationale Algebraausdrücke<br />

<strong>und</strong> somit auch die Operatorbäume spiegeln jeweils eine prozedurale Darstellung<br />

der Anfrage wider. Die Blätter sind die Operanden des algebraischen Ausdrucks,<br />

wobei die inneren Knoten die Basisrelationen bzw. Operationen darstellen <strong>und</strong><br />

an der Wurzel die letzte auszuführende Operation steht.<br />

Blätter: die Operanden innere Knoten: die Operationen<br />

Kanten: der Datenfluß Wurzel: die letzte auszuführende Operation<br />

Diese baumartige Darstellung kann nicht nur als Evaluierungsvorschrift angesehen<br />

werden, sondern dient hauptsächlich als effiziente Datenstruktur. Das Einfügen<br />

neuer Operatoren ist sehr einfach, da eine Erweiterung des Baumes durch<br />

Einschübe von Teilbäumen leicht implementiert werden kann.<br />

Die dafür benötigte Anfrageumformung (1:1-Übersetzung) wird mit wenig komplizierten<br />

Methoden realisiert. Dabei wird die Anfrage normalisiert <strong>und</strong> vereinfacht,<br />

wobei noch keine Optimierung im eigentlichen Sinne vorgenommen wird.<br />

Vielmehr versucht man, die Anfrage möglichst gut für den Optimierer vorzubereiten.<br />

Dabei wird vor allem von aussagelogischen Methoden Gebrauch gemacht<br />

(siehe dazu Mitschang [36]).<br />

Um möglichst früh Inkonsistenzen <strong>und</strong> unerfüllbare Anfragen zu erkennen, kann<br />

bereits in der Übersetzungsphase eine Vereinfachung der Anfrage erfolgen. Meistens<br />

werden diese aber nach der 1:1-Übersetzung der Selektionsbedingungen<br />

durchgeführt, da erst dann eine effiziente Untersuchung der aussagelogischen Ausdrücke<br />

möglich ist.<br />

9

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!