Aufgabenblatt Nr. 12 (last but not least)

Werbung
Fachbereich 12 – Institut für Informatik
Dr. Karsten Tolle
Datenbanken und Informationssysteme (DBIS)
Grundlagen der Programmierung 2
Sommersemester 2014
Aufgabenblatt Nr. 12 (last but not least)
Abgabe: Mittwoch 16. Juli vor! der Vorlesung
Aufgabe 1 (20 Punkte)
Gegeben sei das Relationenschema R = (A, B, C, D, E). Geben Sie für die jeweils gegebenen funktionalen Abhängigkeiten an,
welche Schlüssel für die Relation existieren und ob sich R in 2. Normalform befindet (mit kurzer Begründung). Gehen Sie davon
aus, dass die 1. Normalform vorliegt.
a) F = {AD CD, E A, AE D}
b) F = {AE BDE, CB AE}
c) F = {AB BCD, B ACD, AC AEB, D EBA}
d) F = {BE DC, BDE AC, BEA C, D BE}
Aufgabe 2 (80 Punkte)
Sie absolvieren ein Praktikum beim Zoo Frankfurt und sollen eine MySQL-Datenbank über die Eintritts-Tageskarten realisieren.
Hierfür sollen folgende Anforderungen gelten:
Jede Verkaufs-Transaktion wird über eine generische ID identifiziert. Zu einer Verkaufs-Transaktion soll gespeichert werden,
welcher Kassierer (jeder Kassierer hat mindestens eine MitarbeiterID, einen Namen und einen Vornamen) wann welche Tickets
verkauft hat. Ebenfalls soll vermerkt werden, welcher Umsatz durch die Transaktion generiert wurde und wie viele Personen
tatsächlich (Aufgeteilt nach Erwachsene und Kinder über 6 Jahre) zu dieser Transaktion gehören. Kauft also eine Familie mit drei
Erwachsene und zwei Kindern eine Familienkarte und eine Einzelkarte, so werden zu dieser Transaktion drei Erwachsene und
zwei Kinder vermerkt (nicht die maximal möglichen vier Kinder). Pro Transaktion darf ein Kassierer maximal fünf
Eintrittskarten verkaufen. Benötigt ein Kunde mehr, muss dies in mehreren Transaktionen abgearbeitet werden.
Eintrittspreise (Tageskarten): Als Regelungen der Eintrittspreise sind die Informationen von folgender Seite zu verwenden
http://www.zoo-frankfurt.de/ihr-zoo-besuch/eintrittspreise/tageskarten.html. Hierbei können Sie die „Abendregelung“ ab zwei
Stunden vor Schließung ignorieren! Ebenso können kostenlose Eintritte ignoriert werden, genauso wie etwaige andere
Regelungen für Gruppen oder Frankfurt-Pass, welche auf anderen Seiten des Zoos definiert werden.
a)
b)
c)
d)
e)
f)
g)
h)
i)
j)
Erstellen Sie ein ER-Diagramm, welches die Anforderungen oben widerspiegelt.
Geben Sie mindestens zwei sinnvolle Business-Rules zu dem ER-Diagramm an.
Überführen Sie Ihr ER-Diagramm in das relationale Modell.
Geben Sie zu den Tabellen Ihres Modells die geltenden Funktionalen Abhängigkeiten an.
Geben Sie an, ob sich die Tabellen in 2. Normalform befinden (mit Begründung).
Falls die Tabellen nicht in 2. Normalform vorliegen, zerlegen Sie diese, um 2. Normalform zu gewährleisten.
Geben Sie die SQL-Statements an, um die Ihre Tabellen (mindestens 2. NF) zu erzeugen. Legen Sie mögliche
Fremdschlüssel mit an. (Bemerkung: Es wird davon ausgegangen, dass Workbench oder ein vergleichbares Tool
genutzt wird. In der Klausur wird nicht verlangt werden Fremdschlüsseldefinitionen in SQL selbst aufzuschreiben.)
Geben Sie SQL-Statements an, um in jede Ihrer Tabellen mindestens drei Datensätze einzutragen.
Geben Sie ein SQL-Statement an, welches eine View erzeugt. Ein Tupel der View soll eine Verkaufs-Transaktion
darstellen und nur die folgenden Informationen enthalten: ID, Name und Vorname des Kassierers, den Umsatz der zu
dieser Transaktion zugehörigen Tickets und die Anzahl der Personen (Summe aus Erwachsenen und Kinder), welche
zu dieser Transaktion gehörten.
Geben Sie ein SQL-Statement an, welches für jeden Kassierer (ID, Name und Vorname) die Gesamtumsatzsumme aller
seiner Transaktionen angibt.
Wichtige Termine und Informationen:
PRG-2 Klausur am Freitag den 25. Juli
Start: 9:00 Uhr
Wo: Hörsaalgebäude Bockenheim Vorlesungsräume HIV, HVI und HIII
(wer genau in welchem Raum schreibt, wird noch bekannt gegeben)
Studierendenausweis mitbringen!
Herunterladen