Übungsblatt 07 - Institut für Informatik

Werbung
Universität Augsburg, Institut für Informatik
Prof. Dr. W. Kießling
Dr. M. Endres, F. Wenzel
SS 2014
23. Mai. 2014
Übungsblatt 7
Suchmaschinen
Aufgabe 1: Preference SQL Queries
In dieser Aufgabe sollen Sie sich mit PreferenceSQL vertraut machen. Über globale Synonyme
stehen Ihnen drei Relationen in der Oracle-Datenbank zur Verfügung: beef, beverages und soups.
Machen Sie sich mit dem Inhalt der Relationen vertraut.
Stellen Sie folgende Anfragen mit Hilfe von Preference SQL an die Oracle-Datenbank:
a) Bearbeiten und vergleichen Sie folgende zwei Teilanfragen:
• Finden Sie alle Getränke (beverages), deren Kaloriengehalt exakt zwischen 10 und 18 g
liegt.
• Finden Sie anschließend alle Getränke, deren Kaloriengehalt möglichst zwischen 10 und
18 g sein sollte.
b) Ermitteln Sie alle Kombinationen aus beef and beverages, bei denen die Summe der Kalorien
kleiner 350 ist. Dabei soll möglichst der Wert ’BEEF TOP’ als Beschreibung für beef (im
Attribut Shrt Desc) genauso wichtig sein wie der Wert ’ALCOHOLIC BEV’ für das Attribut
Shrt Desc von beverages.
c) Finden Sie alle Tupel der Relation beef, deren Beschreibung ’BEEF SHOULDER’ entsprechen
soll. Diese Präferenz soll wichtiger sein als ein Fettgehalt um 8 g. Dabei ist eine Abweichung
von 2 g akzeptabel. Genauso wichtig wie der Fettgehalt soll möglichst viel Vitamin C sein.
Werten Sie die Anfrage einmal mit trivialer und einmal mit regulärer SV-Semantik aus. Was
können Sie feststellen?
d) Formulieren Sie eine EXPLICIT-Präferenz auf der Relation beverages und stellen Sie die Anfrage an die Datenbank.
e) Kann man eine gültige Preference SQL-Anfrage (mit beliebigen Präferenzen) finden, die kein
Ergebnis zurückliefert?
Aufgabe 2: Inverse AROUND-Präferenz
Aus der Vorlesung und dem Skript ist die AROUND-Präferenz mit dazugehöriger Distanz-Funktion
bekannt. Diese liefert für perfekte Treffer den Wert Null zurück und ansonsten den absoluten Abstand vom gegebenen Wert zum Zielwert.
Betrachten Sie nun eine inverse AROUND-Präferenz, die für perfekte Treffer die größte und für
am weitesten entfernte Werte die kleinste Distanz zurückliefert.
a) Definieren Sie eine Distanz-Funktion für die vorgestellte inverse AROUND-Präferenz. Dabei
brauchen Sie sich vorerst nicht um die Skalierung auf ein Zielintervall kümmern.
b) Berücksichtigen Sie nun einen eventuell auftretenden d-Parameter.
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.
a) Betrachten Sie folgende Anfrage: Finden Sie alle Produkte, deren Kurzbeschreibung (short desc)
möglichst Junior soccer“ entspricht und die möglichst in Bestellungen (Relation s ord) mit
”
Gesamtbetrag (total) um 2500 Euro vorkommen. Dabei ist die Beschreibung wichtiger als der
Gesamtbetrag.
i) Formulieren Sie die Anfrage in Preference SQL. Wie viele Ergebnisse erhalten Sie?
ii) Erweitern Sie in Ihrer Anfrage die Präferenz des Gesamtbetrages um einen d-Parameter.
Verwenden Sie d = 100. Was fällt Ihnen auf?
iii) Finden Sie die 10 besten Ergebnisse zu Ihrer letzten Präferenzanfrage. Bewerten Sie aus
Ihrer Sicht die letzten drei Ergebnisse dieser Anfrage.
b) Betrachten Sie folgende Anfrage: Finden Sie alle Kunden in der Relation s customer, deren
Credit Rating ’EXCELLENT’ oder ”GOOD”, aber nicht ”POOR” sein sollte. Genauso wichtig
ist ein Gesamtbetrag (total in s ord) um die 550 Euro. Berücksichtigt werden sollen alle Kunden
gruppiert nach Stadt (s customer.city).
i) Formulieren Sie die Anfrage in Preference SQL. Wie viele Ergebnisse erhalten Sie?
ii) Verwenden Sie statt regulärer SV-Semantik (default) die triviale SV-Semantik in Ihrer Anfrage. Warum erhalten Sie die gleichen Ergebnisse?
iii) Erweiteren Sie Ihre Anfrage, so dass nur noch die Ergebnisse der Stadt Seattle ausgegeben
werden.
c) 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.
”
d) 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.
Herunterladen