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