Datenbankanwendung WS 2014/15 Prof. Dr.-Ing. Sebastian Michel MSc. Johannes Schildgen TU Kaiserslautern, FB Informatik – Lehrgebiet Informationssysteme http://wwwlgis.informatik.uni-kl.de Übungsblatt 5: Ausgabe 25.11.2014, Präsentation 04.12.2014 Aufgabe 1: Selektivitätsschätzung (1 P.) Gegeben folgender Anfrageplan: o n σT itel=Inf oSys o n hören σSemester>10 Vorlesungen Studenten Bestimmen Sie die Kardinalitäten sämtlicher Zwischenergebnisse. Berechnen Sie die Kosten des Plans für die Kostenmodelle Cout , Cnlj , Chj , Csmj . Schätzen Sie die Selektivitäten. Benutzen Sie dazu folgende Angaben. Falls keine Angabe verfügbar, gehen Sie von den default Schätzungen aus. hören • |hören| = 4314 Statistiken Studenten Vorlesungen • |Studenten| = 20000 • |Vorlesungen| = 25 • V (Studenten, Semester)= 20 • V (Vorlesungen, Titel)= 20 • Verteilung der Semester folgt relativ gesehen dem Plot in Aufgabe 2 auf Übungsblatt 4. Berücksichtigen Sie, dass es dort nur 150 Werte gab, hier aber 20000. Aufgabe 2: Flajolet-Martin Sketch (1 P.) 1. Die Flajolet-Martin-Methode soll verwendet werden, um die Anzahl der distinkten Werte einer Tabellenspalte preis zu schätzen. Die Hash-Funktion sei wie folgt definiert: h(x) = 100 · x mod 2097152 Der Bit-Vektor sei zu Beginn 000000000000000000000 und es werden Datensätze mit den folgenden Werten in der Spalte preis eingetragen: 2.15, 2.40, 0.60, 2.15, 3.95, 2.40, 2.15, 2.15, 2.40, 0.60 1 Datenbankanwendung WS 2014/15 Prof. Dr.-Ing. Sebastian Michel MSc. Johannes Schildgen TU Kaiserslautern, FB Informatik – Lehrgebiet Informationssysteme http://wwwlgis.informatik.uni-kl.de Übungsblatt 5: Ausgabe 25.11.2014, Präsentation 04.12.2014 Wie sieht der Bit-Vektor nach diesen Einfügungen aus und welchen Schätzwert liefert er? 2. Interpretieren Sie die folgenden Bit-Vektoren als Teil der Flajolet-Martin Methode. Geben Sie jeweils (für jeden Bit-Vektor einzeln) den aus dem Bit-Vektor folgenden Schätzwert an und ebenso den gemeinsamen Schätzwert anhand aller Bit-Vektoren. (i) (ii) (iii) (iv) 111111111011010101000 111111110001010101010 111111011011010101000 111111011111110111001 Aufgabe 3: Anfrageoptimierung: Join-Ordering 3.1 (1 P.) Links-tiefe Bäume vs. Buschige Bäume Gegeben seien die Relationen R1 , R2 , R3 und R4 , mit |R1 | = 10, |R2 | = 100, |R3 | = 20, |R4 | = 40 sowie die Join-Selektivitäten j1,2 = 0.10, j2,3 = 0.20, j2,4 = 0.10. (i) Zeichnen Sie den Anfragegraphen (ii) Bestimmen Sie alle links-tiefen Join-Bäume ohne Kreuzprodukte (iii) Bestimmen Sie die Kosten Cout für die in (ii) bestimmten Join-Bäume, in denen R4 als letztes (d.h. oben) “gejoint” wird. (iv) Gibt es einen buschigen Join-Baum, auch ohne Kreuzprodukte, der kein linearer Baum ist und geringere Kosten hat? 3.2 Greedy Heuristiken • Geben Sie ein Beispiel mit 3 Relationen an, für das der Greedy-Algorithmus-1 weit neben der optimalen Lösung liegt, Greedy-Algorithmus-3 die optimale Lösung hingegen findet. 2