Übungsblatt 08 - Institut für Informatik

Werbung
Universität Augsburg, Institut für Informatik
Prof. Dr. W. Kießling
Dr. M. Endres, F. Wenzel
SS 2012
8. Juni 2012
Übungsblatt 8
Suchmaschinen
Aufgabe 1: Optimierung und Auswertung von Präferenz-Anfragen
a) Folgende relationale Schemata sind gegeben. Auf die Angabe der Domänen wurde aus Gründen
der Übersichtlichkeit verzichtet.
Inventar
Produkt
Lager
(ProdNr, LagerNr, Status)
(ID, Preis)
(ID, Anzahl)
Bei Inventar.ProdNr handelt es sich um einen Fremdschlüssel auf Produkt.ID, bei Inventar.LagerNr
um einen Fremdschlüssel auf Lager.ID.
Betrachten Sie die folgende Preference SQL Query:
SELECT DISTINCT P.ID, P.Preis
FROM Inventar I, Produkt P, Lager L
WHERE I.ProdNr = P.ID AND L.ID = I.LagerNr AND L.Anzahl > 50
PREFERRING
(I.Status IN (’VORHANDEN’) TRIVIAL
AND
P.Preis LOWEST TRIVIAL)
PRIOR TO
(L.Anzahl HIGHEST TRIVIAL)
i) Geben Sie die kanonische, nicht optimierte Darstellung dieser Anfrage in PRA an.
ii) Optimieren Sie Ihren relationalen Präferenz-Algebraausdruck mit Hilfe des Algorithmus
aus der Vorlesung und geben Sie den optimierten Operatorbaum sowie den Namen und
Reihenfolge der angewandten Transformationsregeln an.
Das Schieben von Projektionen (push projection) können Sie dabei auslassen.
iii) Der Preference SQL Befehl EXPLAIN <SQL-Query< gibt für eine gegebene Anfrage die
durchgeführten Optimierungsregeln sowie den optimierten Operatorbaum aus. Verwenden
Sie EXPLAIN für obige Query und vergleichen Sie Ihren optimierten Operatorbaum mit
dem von Preference SQL optimierten Baum. Was fällt Ihnen dabei auf?
b) Gegeben ist folgende Instanz einer Relation exercises mit Übungsaufgaben:
ID
1
2
3
4
5
6
Schwierigkeit
leicht
mittel
leicht
schwer
schwer
mittel
Typ
PRA
DB1
SuMA
DB1
SuMa
PRA
Punkte
8
4
2
10
12
11
Bestimmen Sie das Ergebnis (IDs) der Präferenzselektion σ[P ](exercises) für folgendes P:
P := (P OS(Schwierigkeit, {leicht, mittel}, REGULAR) &
(P OS(T yp, {P RA, DB1}, T RIV IAL) ⊗ BETWEEN(P unkte, [6, 9], REGULAR))
1
Aufgabe 2: Better-Than-Graph (BTG)
Gegeben sind folgende Präferenzen mit regulärer SV-Semantik:
• P1 = LAYERED3 (Status, {Vollzeit, Freiberufler}, {Teilzeit}, {Praktikant}, OTHERS, ∼
=P 1 )
∼P )
• P2 = BETWEEN 20 (Arbeitszeit, [20, 40], =
2
a) Bestimmen Sie das maximale Level von P1 ⊗ P2 sowie die Höhe und Knotenanzahl eines
entsprechenden Better-Than-Graphen.
b) Zeichnen Sie den BTG und überprüfen Sie an ihm die berechneten Kennzahlen aus a).
c) Verwenden Sie den in der Vorlesung vorgestellten BTG-Viewer (zum Download auf der Übungsseite) zur Visualisierung des Graphen. Im Feld ”Konfig” müssen die maximalen Level-Werte
der Einzelpräferenzen durch Komma getrennt angegeben werden.
Aufgabe 3: Preference SQL Queries
Als Grundlage für diese Aufgabe dient das Sporting Goods Schema, dessen ER-Diagramm im
Downloadbereich zur Übung vorhanden ist. Die Daten werden wieder als globale Synonyme zur
Verfügung gestellt. Stellen Sie nun folgende Anfragen mit Hilfe von Preference SQL an die OracleDatenbank:
a) Finden Sie alle Mitarbeiter aus der Region ”North America”, die möglichst in der Abteilung
”Administration” und nicht in ”Sales” arbeiten. Des Weiteren sollte der Titel des Angestellten
wenn möglich ”President” sein.
b) Finden Sie alle Produkte, die im Inventar (Relation s inventory) mindestens eine Stückzahl von
200 und maximal 500 aufweisen. Aus dieser Menge sollen nun möglichst diejenigen Produkte
gefunden werden, deren unverbindliche Preisempfehlung (SUGGESTED WHLSL PRICE) bei
etwa 60 Euro liegt, wobei eine Preisabweichung von 2 Euro egal sein soll und die innerhalb des
geforderten Stückzahlintervalls am häufigsten vorhanden sind.
2
Herunterladen