Integration/Relationales Modell

Werbung
Technische Universität Braunschweig
Institut für Informationssysteme
http://www.ifis.cs.tu-bs.de
Christoph Lofi, Jan-Christoph Kalo
SQL-Lab – Aufgabenblatt 2 – Relationales Schema
(Abgabe bis zum 08.12.2014, 18:00 Uhr im Briefkasten am Institut)
Aufgabe 1 Integration:
Im Zuge der Razzien bei xkino.to wurden auch einige Copyright-Verletzungen bei NETTUBE gefunden. NETTUBE musste deshalb vor kurzem sein Angebot vom Markt nehmen. Um die Kaution für
seine Gefängnisstrafe zu bezahlen, hat der ehemalige Eigentümer und Geschäftsführer von NETTUBE
das Unternehmen so schnell wie möglich an die Konkurrenz verkauft. Der neue Besitzer möchte
jetzt gerne sein eigenes Filmangebot für die verbliebenen NETTUBE Kunden zur Verfügung stellen.
Um dies zu ermöglichen soll ein Teil seiner Datenbank (siehe unten) in das vorhandene NETTUBE
Modell integriert werden, damit die vorhandenen Filmdaten ohne große Probleme bei NETTUBE eingepflegt werden können.
Aufgaben:
 Um eine sinnvolle Integration durchführen zu können, sollten sie ein korrektes und vollständiges konzeptionelles Schema von Aufgabenblatt 1 erstellen. Dafür korrigieren Sie zuerst das
von Ihnen erstellte Schema mit Hilfe des Feedbacks aus der Übung. In diesem korrigierten
Schema sollen weiterhin alle Anforderungen von Aufgabenblatt 1 erfüllt bleiben. Bitte legen
Sie das korrigierte Schema dieser Abgabe bei.
 Vergleichen Sie das von Ihnen korrigierte Diagramm mit dem Diagramm im Anhang. Listen
Sie alle Konflikte auf, die zwischen ihrem Diagramm und dem Diagramm im Anhang existieren.
Schlagen Sie außerdem zu jedem Konflikt eine Lösung vor, um den Konflikt zu beheben.
 Integrieren Sie das von Ihnen korrigierte Diagramm mit dem Diagramm im Anhang. Das Datenmodell im Anhang darf nicht verändert werden – Attribute dürfen nicht umbenannt oder
entfernt werden. Erweiterungen sind zulässig. Integration wurde ausführlich in der Vorlesung
Relationale Datenbanken 1 behandelt (http://www.ifis.cs.tu-bs.de/webfm_send/1641).
 Dokumentieren Sie auch hier alle nicht-trivialen Designentscheidungen. Das integrierte Diagramm soll wie in der vorherigen Aufgabe in Chen ER Notation erstellt werden.
Bezüglich Lesbarkeit, Übersichtlichkeit, Verständlichkeit, etc. gelten dieselben Vorgaben wie in
der vorherigen Aufgabe.
Aufgabe 2 Relationales Modell:
Das von Ihnen integrierte Diagramm aus Aufgabe 1 soll in ein Relationales Modell übersetzt werden.
Für diese Aufgabe kann unterstützend eine Webapplikation benutzt werden, mit der Relationen
erstellt werden können und anschließend Anfragen in Relationaler Algebra auf diese Relationen ausgeführt werden können. Die Applikation ist unter der Adresse http://is64.idb.cs.tu-bs.de:9002 erreichbar. Die Aufgaben sind allerdings auch ohne diese Applikation lösbar. Für einen Login
wenden Sie sich bitte an Ihren Tutorienleiter. Die Applikation wurde mit Firefox und Chrome getestet. Im Internet Explorer funktioniert sie nicht. Für die Benutzung solltet ihr außerdem JavaScript
SQL Lab – WiSe 14/15
Institut für Informationssysteme – TU Braunschweig – http://www.ifis.cs.tu-bs.de
Technische Universität Braunschweig
Institut für Informationssysteme
http://www.ifis.cs.tu-bs.de
Christoph Lofi, Jan-Christoph Kalo
aktiviert haben. Eine kurze Einweisung in das Programm ist auf der Webseite dieses Praktikums zu
finden.
Aufgaben:
 Übersetzen Sie nun Ihr integriertes Diagramm in ein Relationales Datenbankschema.
Als Notation reicht eine einfache Liste von Relationsschemata gemäß der Vorlesung (siehe
http://www.ifis.cs.tu-bs.de/webfm_send/1631)aus. Primärschlüssel und Fremdschlüsselbeziehungen sollen dabei annotiert werden. Domänen müssen nicht zwingend annotiert werden.
 Definieren Sie eine Extension des in Aufgabe 2a erstellten Relationalen Datenbankschemas.
o
o
o
o
o
10 Filme
10 Serien
10 Schauspieler
2 Regisseure
2 Autoren
Aufgabe 3 Relationale Algebra:
Erstellen Sie außerdem Ausdrücke in Relationaler Algebra für das Schema im Anhang. Hierbei
kann es hilfreich sein den Relationale Algebra Parser zu verwenden. (Relationale Algebra wird am
27.11.2014 in der Relationale Datenbanken 1 Vorlesung behandelt.)
1. Die Namen und Produktionsjahre der Filme, die vor 2004 produziert wurden.
2. Die Namen der SchauspielerInnen, die im 3. Mai 1969 geboren wurden und die Serienepisoden in de3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
nen sie mitgespielt haben.
Die Namen der Filme in denen Matt Damon und Leonardo DiCaprio zusammen gespielt haben.
Die Namen der Personen, die an Departed beteiligt waren.
Eine Liste aller Schauspieler mit der Anzahl der Filme in denen sie als Schauspieler beteiligt waren.
Die Anzahl der Parodien des Films Der Pate.
Die Namen der SchauspielerInnen, die in dem Film Gangs of New York mitgespielt haben.
Die Anzahl der Filme, in denen Martin Scorsese Regie geführt hat.
Die Namen aller Schauspieler, die nie mit Kevin Bacon in einem Film gespielt haben.
Welche Personen spielen in keinem Film mit?
Die Namen der SchauspielerInnen die in weniger als 3 Filmen mitgespielt haben
Welche SchauspielerInnen haben in den meisten Filmen mitgespielt? Wie viele Filme waren das?
Die Titel aller Videos in denen überdurchschnittlich viele Schauspieler beteiligt waren.
Die Namen aller Personen, die in mindestens zwei Filmen sowohl RegisseurIn als auch SchauspielerIn
waren.
Die durchschnittliche Anzahl von SchauspielerInnen, die zusammen mit Robert De Niro in einem
Film gespielt haben?
Die Videos, die selbst Nachfolger mindestens eines Videos sind, jedoch selbst keine Nachfolger haben.
Die Titel von Filmen, die der Nachfolger einer Parodie sind.
Die Namen aller SchauspielerInnen, die in mindestens 10 Filmen (nicht Serien) seit 2004 mitgespielt
haben und die Anzahl der Serien in denen sie mitgespielt haben.
Die Drehbuchautoren, die für einen Film des Genres Action gearbeitet haben, der nach 2004 erschienen ist und an dem überdurchschnittlich viele Schauspieler beteiligt waren.
SQL Lab – WiSe 14/15
Institut für Informationssysteme – TU Braunschweig – http://www.ifis.cs.tu-bs.de
Technische Universität Braunschweig
Institut für Informationssysteme
http://www.ifis.cs.tu-bs.de
Christoph Lofi, Jan-Christoph Kalo
Anhang:
Ein Video kann z.B.
eine Parodie oder ein
Nachhfolger anderer
Videos sein.
Art
Bezieht sich
auf
Genre
Name
(0,*)
Zum Beispiel
Serienepisode, Film,
Musikvideo.
Kein Livestream
(0,*)
hat
id
(0,3)
Video
(0,*)
(1,1)
Produktionsjahr
id
hat
(0,*)
Typ
Name
(0,*)
Name
id
Arbeitet in
id
(0,*)
(0,*)
Person
Name
Zum Beispiel
Schauspieler, Regisseur
oder Autor
Aufgabe
Geburtsdatum
Name
Ein Video wird eindeutig durch seine ID identifiziert. Jedes Video hat außerdem einen Namen und ein
Produktionsjahr. Außerdem kann jedes Video sich auf beliebig viele andere Videos beziehen und beliebig viele andere Videos können sich auf ein Video beziehen. Die Art der Bezieht sich auf Relation ist
zum Beispiel Parodie oder Nachfolger. So kann ein Video zum Beispiel Nachfolger von anderen Videos sein oder selbst Nachfolger haben. Jedes Video kann bis zu drei Genres haben. Außerdem wird
zu jedem Video genau ein Typ gespeichert. Dieser Typ kann zum Beispiel Film oder Serienepisode
sein. Allerdings auch ein beliebiger anderer Typ, wie zum Beispiel Musikvideo. Livestreams werden
hier allerdings nicht gespeichert.
Die Mitwirkenden der Videos werden als Personen mit ihren Namen und Geburtsdaten gespeichert.
Der Entitätstyp Aufgabe speichert die Rolle, die Mitwirkende in Videos haben können. In der Relation
Arbeitet in wird gespeichert welche Personen mit welcher Aufgabe/welchen Aufgaben in einem Film
mitgewirkt haben.
SQL Lab – WiSe 14/15
Institut für Informationssysteme – TU Braunschweig – http://www.ifis.cs.tu-bs.de
Herunterladen