JUSTUS-LIEBIG-UNIVERSITÄT GIESSEN
Institut für Informatik
Dr. Stefan Brass
Vorlesung "Datenbanksysteme"
(Wintersemester 2000/2001)
Hausaufgabe 7: Relationale Normalformen
Aufgabe 7 (12 Punkte)
Die folgende Tabelle enthält Informationen über Bücher
und ihre Autoren:
BOOKS
|
---|
AUTHOR | NO | TITLE | PUBLISHER | ISBN
|
---|
Elmasri | 1 | Fundamentals of DB Systems | Addison-Wesley
| 0-8053-1755-4
|
Navathe | 2 | Fundamentals of DB Systems | Addison-Wesley
| 0-8053-1755-4
|
Kemper | 1 | Datenbanksysteme | Oldenbourg | 3-486-24136-2
|
Eickler | 2 | Datenbanksysteme | Oldenbourg | 3-486-24136-2
|
- Ein Buch kann mehrere Autoren haben.
Es wird eine Zeile in der Tabelle für jeden Autor abgespeichert.
Da Autoren nicht immer in alphabetischer Ordnung auftreten,
wird in ``NO'' ihre Reihenfolge abgespeichert.
- Ein Autor kann viele Bücher schreiben.
- Es ist möglich,
daß es mehrere Bücher den gleichen Titel,
aber verschiedene Autoren haben.
Z.B. gibt es mehrere Bücher ``Database Management''
und mehrere Bücher ``Database Management Systems''.
- Es ist möglich,
daß Bücher den gleichen Titel,
aber verschiedene ISBNs haben
(z.B. gebundene und Taschenbuch-Ausgabe).
- Die ISBN identifiziert ein eindeutig bestimmtes Buch.
Es ist nicht möglich,
das Bücher die gleiche ISBN haben,
aber der Titel oder Verlag nicht übereinstimmt.
- Es ist nicht möglich,
daß der gleiche Autor an zwei verschiedenen Positionen
der Autorenliste des gleichen Buches auftritt
(notfalls müssen die beiden Namen durch Zusatz von ``Jr'' etc.{}
unterschieden werden).
- Verlage achten darauf,
daß sie nicht zwei verschiedene Bücher mit dem gleichen Titel
im Programm haben.
Aufgrund verschiedener Ausgaben des gleichen Buches
ist die ISBN aber nicht notwendigerweise eindeutig.
Dagegen ist die Liste der Autoren durch Verlag und Titel eindeutig bestimmt.
- a)
- Bestimmen Sie alle funktionalen Abhängigkeiten,
die für diese Tabelle gelten.
Geben Sie bitte keine trivialen oder implizierten funktionalen
Abhängigkeiten an.
- b)
- Bestimmen Sie alle Schlüssel für diese Tabelle.
- c)
- Ist diese Tabelle in BCNF?
Begründen Sie Ihre Antwort:
Falls die Tabelle nicht in BCNF ist,
geben Sie bitte eine funktionale Abhängigkeit an,
die die BCNF-Bedingung verletzt.
Falls die Tabelle in BCNF ist,
erklären Sie bitte für jede funktionale Abhängigkeit,
warum die BCNF-Bedingung nicht verletzt wird.
- d)
- Bitte transformieren Sie die Tabelle in BCNF
(falls sie nicht bereits in BCNF ist).
Abgabetermin:
Bitte geben Sie Ihre Lösung bis Mittwoch,
den 17. Januar ab.
Aufgrund der Feiertage akzeptiere ich Abgaben bis zum 23. Januar
(vor Beginn der Vorlesung)
ohne Punktabzug.
Stefan Brass
(Stefan.Brass@informatik.uni-giessen.de),
20. Dezember 2000
Original URL:
http://www.informatik.uni-giessen.de/staff/brass/db00/h7_bcnf.html
[HTML 3.2 Checked]