Übungsblatt 8 - Technische Universität Kaiserslautern

Werbung
Informationssysteme
SS 2013 – Übungsblatt 8
Prof. Dr.-Ing. Stefan Deßloch
AG Heterogene Informationssysteme
Fachbereich Informatik
Technische Universität Kaiserslautern
Übungsblatt 8
Für die Übungen in der Woche vom 10. Juni bis 14. Juni 2013
Aufgabe 1: Operatorbaum am Beispiel „Fußball-DB“
a) Entwickeln Sie für folgende Anfrage auf dem Schema der Fußball-DB den Operatorbaum analog
zur Vorlesung:
VEREIN (VNAME, ORT, PRÄSIDENT)
SPIELER (SPNR, NAME, VORNAME, VEREIN, ALTER, GEHALT, GEB-ORT)
TRAINER (TRNR, NAME, VORNAME, VEREIN, ALTER, GEHALT, GEB-ORT)
SPIELER.GEHALT ORT=TRAINER.GEB-ORT ( (VEREIN=’KL’ (SPIELER |X|VEREIN=VNAME VEREIN)) X TRAINER)
b) Wodurch können Sie den Operatorbaum optimieren? Führen Sie diese Maßnahmen durch.
Aufgabe 2: Algebraische Optimierung
Gegeben sei folgendes Datenbankschema mit entsprechenden Kardinalitäten:
Professor:
Student:
Fachbereich:
Prüfung:
P
S
F
PR
(PNAME, FBNR, WOHNORT)
(MATRNR, NAME, VORNAME, SEMANZ, WOHNORT, GEB-DATUM, FBNR)
(FBNR, FNAME, ANZSTUD, DEKAN)
(PNAME, MATRNR, NOTE)
card (P)=100; card (S)=104 card (F)=10 ; card (PR)= 4•104
Annahmen: Alle Attribute haben die Länge 20 Byte, es gibt 1000 mögliche Wohnorte, 2000 Werte
für Geb-Datum, Semester bewegt sich im Bereich 1–20, Note im Bereich 1–5 (ohne Zwischenstufen).
Name und Vorname sind in jeweils 300 Variationen vorhanden. Jedem Fachbereich ist eindeutig ein
Dekan zugeordnet.
Für die nachfolgenden Anfragen soll jeweils eine algebraische Optimierung durchgeführt werden.
Gehen Sie hierfür vom Operatorbaum der vorgegebenen Anfrage aus. Bewerten Sie diesen mit den
Kardinalitäten der Zwischenergebnisse. Optimieren Sie anschließend diesen Operatorbaum, indem
Sie Regeln aus der Vorlesung anwenden und anhand der Bewertung zeigen, dass diese Optimierung
eine Verbesserung bedeutet.
a)  MATRNR, NAME, VORNAME  DEKAN = ’MÜLLER’ (S |X| F)
b)  NAME, GEB-DATUM  VORNAME=’ULRICH’ ((( WOHNORT=’KL’ S   WOHNORT=’PS’ S) 
 SEMANZ  5 S)
|X| ( F_NAME=’ET’ F   F_NAME=’INF’ F))
1
Informationssysteme
SS 2013 – Übungsblatt 8
c) Betrachten und bewerten Sie folgenden Operatorbaum, wenn das Attribut „Wohnort“ 100, 1000
oder 2000 Werte umfasst.
JOIN
P.WOHNORT=
S.WOHNORT
JOIN
P
S.FBNR=F.FBNR
SEL
S
F_NAME=’INF’
F
Aufgabe 3: Adventure Game: SQL Island
Besuchen Sie folgende Webseite und spielen Sie das Browsergame SQL Island:
http://wwwlgis.informatik.uni-kl.de/extra/game
Feedback ist erwünscht: Fragen, Kritik, Lob und Verbesserungsvorschläge an [email protected]
Aufgabe 4: SQL-Anfragen am Beispiel „Fußball-DB“
Gegeben sei die folgende Datenbank, in der die Vereine, Spiele, Trainer und die Spieler mit ihren Einsätzen für die laufende Saison verwaltet werden:
VEREIN
(VNAME, ORT, PRÄSIDENT)
SPIEL
(HEIM, GAST, RESULTAT, ZUSCHAUER, TERMIN, SPIELTAG, HTRAINER, GTRAINER)
SPIELER
(SPNR, NAME, VORNAME, VEREIN, ALTER, GEHALT, GEBORT)
TRAINER
(TRNR, NAME, VORNAME, VEREIN, ALTER, GEHALT, GEBORT)
EINSATZ
(HEIM, GAST, SPNR, VON, BIS, TORE)
HEIM, GAST sind jeweils Fremdschlüssel auf VNAME von VEREIN,
HTRAINER, GTRAINER sind jeweils Fremdschlüssel auf TRNR von TRAINER
a) Geben Sie die SQL-Statements zur Erzeugung der Relationen an.
b) Formulieren Sie folgende Anfragen in SQL, wählen Sie dabei für die Ausgabe sinnvolle Attribute
aus.
(1) Welche Spieler sind bei einem Verein in Kaiserslautern beschäftigt?
(2) Wie heißen die Präsidenten von Vereinen, die zu Hause mindestens ein Spiel mit 2:0
gewonnen haben?
(3) Wieviele Tore wurden in der Saison geschossen?
(4) Wieviele Spieler hat der 1. FCK in der Saison eingesetzt?
(5) Wieviele Tore haben die Spieler des 1. FCK geschossen?
(6) Welche Spieler haben noch nie gespielt?
Welche Spieler sind bei einem Verein beschäftigt, der in ihrem Geburtsort ansässig ist? Geben Sie
den Namen des Spielers und des Vereins und den Ort aus.
2
Herunterladen