Datenbank-Implementierungstechniken SS 2002
Dr. Kai-Uwe Sattler 10.06.02
Übung 6 – Anfrageoptimierung
1. Kostenabschätzung (I)
Berechnen Sie für das Beispiel aus der Vorlesung (Folie 6-57) die Kosten der Ausführungsvariante, in der erst der natürliche Verbund berechnet wird, und die Selektion danach auf dem Zwischener- gebnis ausgeführt wird.
• Welche Auswirkungen hat die Wahl des Verbundalgorithmus?
• Vergleichen Sie diese Variante und die drei anderen vorgestellten Ausführungsvarianten für den Fall, dass das PrädikatWare > ’Kaffee’stattWare = ’Kaffee’lautet. Neh- men Sie dafür an, dass die Warennamen gleichmässig über das Alphabet verteilt sind.
2. Kostenabschätzung (II)
Das Beispiel aus Aufgabe 1 sei wie folgt erweitet:
• Schema:
KUNDE (KName, KAdr, Kto) AUFTRAG (KName, Ware, Menge)
LIEFERANT (LName, LAdr, Ware, Preis)
• Anfrage:
select KUNDE.KNAME, Kto, LIEFERANT.LName, Menge * Preis from KUNDE, AUFTRAG, LIEFERANT
where KUNDE.KName = AUFTRAG.KName
and AUFTRAG.Ware = LIEFERANT.Ware and Ware = ’Kaffee’
• Quantitative Angaben:
– In der RelationLIEFERANTsind 1.000 Tupel gespeichert. Auf eine Seite passen dabei 5 Tupel.
– 5 Lieferanten liefern Kaffee.
– 20 Ergebnistupel passen auf eine Seite.
– 2 Tupel des KreuzproduktsKUNDE × AUFTRAG × LIEFERANTpassen auf eine Seite.
Bestimmen Sie die Kosten für die analogen Ausführungen zu den in der Vorlesung präsentierten Ausführungsvarianten sowie eine weitere, Ihnen sinnvoll erscheinende Variante.
1
3. Anfrageoptimierung
Überführen Sie die folgende SQL-Anfrage zunächst direkt in einen Ausdruck der Relationenalge- bra und optimieren Sie diesen anschließend unter Verwendung der algebraischen Regeln.
select R1.A, R2.B, R3.D
from R1, R2, ( select * from R3 where R3.D > 100 union
select * from R3 where R3.E = 50 ) where R1.A < 13 and R1.C = R2.C and R2.B not in (
select E from R4, R5 where R4.E = R5.E )
2