Datenbanken & Informationssysteme Wintersemester 2016/2017 Prof. Dr.-Ing. Klaus Berberich Datenbanken & Informationssysteme Telefon: 06 81 58 67-243 [email protected] Übungsblatt 2 Das Übungsblatt wird in der Veranstaltung am 21. November besprochen. Aufgabe 2.1 SQL und Relationenalgebra Wir betrachten wieder einmal unseren Musik-Streaming-Dienst Spockify! Als Teil unserer bisherigen Bemühungen haben wir u.a. folgende Relationen identifiziert und entsprechende Tabellen angelegt: Künstler : {[KünstlerId:integer, Name:string, Herkunftsland:string, Website:string, Wikipedia:string]} Songs : {[SongId:integer, Titel:string, Zähler:integer, Genre:string]} Alben : {[AlbumId:integer, Titel:string, Jahr:integer, KünstlerId:integer]} beinhalten : {[AlbumId:integer, SongId:integer, Nummer:integer]} Formulieren Sie folgende Anfragen mit SQL und, sofern umsetzbar, mit der Relationenalgebra. Q1 Paare von Künstlern, die Songs mit identischen Titeln veröffentlicht haben. Q2 Songs aus dem Genre “Blues”, die auf einem Album von 1977 enthalten sind. Q3 Künstler, die mehr als ein Album mit “Best of” im Titel veröffentlicht haben. Q4 Songs von U2, die weder auf “The Best of 1980-1990” noch “The Best of 1990-2000” sind. Q5 Was sind die 10 beliebtesten Songs von Pink Floyd. Q6 Künstler, die keine Alben zwischen 1994 und 2014 veröffentlicht haben. Q7 Debütalben von Künstlern (d.h. frühestes Jahr) unter der Annahme, dass kein Künstler mehr als ein Album pro Jahr veröffentlicht htw saar · Hochschule für Technik und Wirtschaft des Saarlandes · Fakultät für Ingenieurwissenschaften Goebenstraße 40 · 66117 Saarbrücken · http://www.htwsaar.de Prof. Dr.-Ing. Klaus Berberich Aufgabe 2.2 Normalformen Ein anderer Mitarbeiter hat den Musik-Streaming-Dienst während ihres Urlaubs um folgende Aspekte erweitert. Es werden Auszeichnungen von Künstlern erfasst; diese haben eine Bezeichnung (z.B. Grammy Award), eine ausgebende Organisation (z.B. National Academy of Recording Arts and Sciences) und ein Jahr der Auszeichnung. Auszeichnungen : {[KünstlerId:integer, Bezeichnung:string, Jahr:integer, Organisation:string]} Zudem werden jetzt auch Chartplatzierungen von Alben erfasst. Es gibt verschieden benannte Charts (z.B. Billboard Top Blues Albums), die per Kalenderwoche (KW) eines Jahres erscheinen. Chartplatzierungen : {[AlbumId:integer, Name:string, KW:integer, Jahr:integer, Platz:integer]} Abschließend werden jetzt auch Kritiken erfasst. Diese wurde von einem bestimmten Autor geschrieben, dessen E-Mail bekannt ist. Autoren arbeiten für ein bestimmtes Medium (z.B. eine bestimmte Musikzeitschrift) und es wird der Text der Kritik sowie die Anzahl vergebener Sterne erfasst. Kritiken : {[AlbumId:integer, Autor:string, E-Mail:string, Medium:string, Text:string, Sterne:integer]} Überlegen Sie für jede der drei Relationen in welcher Normalform sie sich befindet. Identifizieren Sie als Zwischenschritt alle Schlüsselkandidaten. Sofern eine der Relationen noch nicht in dritter Normalform (3NF) ist, zerlegen Sie die Relation weiter. 2/4 Prof. Dr.-Ing. Klaus Berberich Aufgabe 2.3 Äquivalenzen der Relationenalgebra Betrachten Sie folgende Paare von Ausdrücken der Relationenalgebra. Sind die beiden Ausdrücke jeweils äquivalent, d.h. liefern sie das gleiche Ergebnis? Begründen Sie Ihre Antwort bitte. P1: σ A1.Jahr > A2.Jahr ρ A1 Alben × ρ A2 Alben und ρ A1 Alben ./ A1.Jahr > A2.Jahr ρ A2 Alben P2: σ Jahr > 1968 Alben ./ σ Herkunftsland=“U.S.A.” Künstler und σ Jahr > 1968 ∧ Herkunftsland=“U.S.A.” Alben ./ Künstler P3: π KünstlerId, Herkunftsland σ Name=“Steven Wilson” Künstler und σ Name=“Steven Wilson” π KünstlerId, Name, Herkunftsland Künstler P4: Künstler ./ Künstler.KünstlerId=Alben.KünstlerId Alben und Künstler × Alben − Künstler ./ Alben P5: Künstler ./ Künstler.KünstlerId=Alben.KünstlerId Alben ∩ Künstler ./ Künstler.KünstlerId=Alben.KünstlerId Alben und Künstler ./ Künstler.KünstlerId=Alben.KünstlerId Alben 3/4 Prof. Dr.-Ing. Klaus Berberich Aufgabe 2.4 Größe von Zwischenergebnissen Folgendes soll für unsere Daten gelten. Wir kennen insgesamt 1 Million Künstler: 50.000 davon kommen aus U.S.A und 50 aus Island. Ebenso sind uns 1 Million Alben bekannt: diese wurden zwischen 1990 und 2014 veröffentlicht, in jedem Jahr etwa gleich viele. Zwischen Herkunft eines Künstlers und dem Jahr eines Albums soll kein Zusammenhang bestehen. Überführen Sie folgende Ausdrücke der Relationenalgebra in ihre Darstellung als Operatorbaum. Schätzen Sie für jeden Knoten dieses Operatorbaums ab, wie viele Tupel den Knoten passieren. Können Sie einen anderen Ausdruck angeben, der das gleiche Ergebnis liefert, aber zu kleineren Zwischenergebnisse und damit effizienterer Auswertung führt? π Name, Titel σ Herkunftsland=“Island” ∧ Jahr 1992 Alben ./ Künstler σ A.Jahr < 1997 ρ A Alben × ρ K σ Herkunftsland=“U.S.A” Künstler 4/4