Aufgabenblatt 04 - Hochschule Osnabrück

Werbung
Prof. Dr. Stephan Kleuker
Hochschule Osnabrück
Fakultät Ing.-Wissenschaften und Informatik
- Software-Entwicklung -
Datenbanksysteme
Wintersemester 2012/13
4. Aufgabenblatt
Aufgabe 12 ( 2+2 = 4 Punkte)
a) In einer Tabelle Sendung werden aktuelle Fernsehsendungen festgehalten, die
folgende Tabelle zeigt eine beispielhafte Befüllung.
Tabelle Sendung
Sender Ort
Titel
RTL
Köln Boot-Camp
RTL
Köln Wald-Camp
RTL
Köln Eis-Camp
ZDF
Mainz Hörsturz
ZDF
Mainz Wald-Camp
ZDF
Mainz Rheuma
ZDF
Mainz Krampfader
Laenge
45
90
90
60
30
120
60
ModID
42
43
42
44
45
43
46
Moderator
Meier
Mueller
Meier
Schmidt
Schulz
Mueller
Meier
Jahr
1967
1960
1967
1948
1932
1960
1944
Es gelten genau folgende Abhängigkeiten.
1) Jeder Sender ist an genau einem Ort beheimatet.
2) Der Titel einer Sendung ist pro Sender eindeutig, jede Sendung hat eine
Länge und einen Moderator, der durch seine ModID eindeutig ist.
3) Zu jeder ModID gibt es genau einen Moderator, weiterhin ist das Geburtsjahr
des Moderators angegeben.
I. Formulieren Sie 1)-3) als volle funktionale Abhängigkeiten.
II. Nennen Sie alle Schlüsselkandidaten.
III. Bringen Sie die Tabelle mit dem Standardverfahren in Tabellen in zweiter Normalform. Vermeiden Sie für die zweite Normalform überflüssige Umformungen.
IV. Bringen Sie die Tabellen aus III. mit dem Standardverfahren in Tabellen in dritter
Normalform. Vermeiden Sie für die dritte Normalform überflüssige Umformungen.
b) Gegeben sei eine Tabelle mit vier Spalten A, B, C, D und genau den jeweils
angegebenen vollen funktionalen Abhängigkeiten. Nennen Sie alle
Schlüsselkandidaten und begründen Sie formal, warum die Tabelle (nicht?) in zweiter
und (nicht?) in dritter Normalform ist.
I.
{A} → {B} und {B} → {C} und {C} → {D}
II.
{A} → {B} und {B} → {C} und {C} → {D} und {D} → {A}
III.
{A} → {B} und {B} → {A} und {C} → {D} und {D} → {C}
Aufgabe 13 (2 Punkte)
Der Inhaber eines Möbelgeschäfts vermerkt alle Aufträge seines kleinen Unternehmens mit
Hilfe eines Tabellenkalkulationsprogramms. Dabei wird lediglich eine einzige Tabelle Auftrag
(siehe unten mit Beispielfüllung) benutzt. Kauft ein Kunde gleichzeitig mehrere
unterschiedliche Artikel, werden in die Tabelle entsprechend viele Zeilen aufgenommen. (Der
folgenden Tabelle lässt sich daher beispielsweise entnehmen, dass ein Herr Meier aus Köln
am 24.04.06 zwei Lampen und einen Sessel gekauft hat.) Die Tabelle enthält nur
Beispieldaten.
AuftragsNr Datum
KundenNr Name
Ort
ArtikelNr Bezeichnung Menge
135
24.04.06 68
Meier
Köln
23
Lampe
2
135
24.04.06 68
Meier
Köln
26
Sessel
1
136
25.04.06 174
Müller
Bonn 23
Lampe
3
137
25.04.06 210
Kunz
Berlin 12
Lampe
4
138
26.04.06 68
Meier
Köln
23
Lampe
2
Seite 1 von 2
Prof. Dr. Stephan Kleuker
Hochschule Osnabrück
Fakultät Ing.-Wissenschaften und Informatik
- Software-Entwicklung -
Datenbanksysteme
Wintersemester 2012/13
4. Aufgabenblatt
Zwischen den Attributen der Tabelle gibt es folgende vollständig funktionalen
Abhängigkeiten, alle weiteren funktionalen Abhängigkeiten können davon abgeleitet werden:
o
{AuftragsNr} → {Datum, KundenNr}
o
{KundenNr} → {Name, Ort}
o
{ArtikelNr} → {Bezeichnung}
o
{AuftragsNr, ArtikelNr} → {Menge}
a) Identifizieren Sie alle Schlüsselkandidaten der Tabelle und begründen Sie, warum es
sich um Schlüsselkandidaten handelt.
b) Begründen Sie formal, warum {AuftragsNr} → {Ort} gilt.
c) Befindet sich die Tabelle in der ersten Normalform? Begründen Sie Ihre Antwort.
d) Erläutern Sie, ob sich die Tabelle in der zweiten Normalform (2NF) befindet. Falls
nicht, überführen Sie die Tabelle in die 2NF. Nehmen Sie dabei nur die unbedingt
notwendigen Veränderungen vor. Markieren Sie die Schlüsselkandidaten der
Tabellen.
e) Erläutern Sie, ob sich alle Tabellen aus d) in der dritten Normalform (3NF) befinden.
Falls nicht, überführen Sie die Tabellen in die 3NF. Nehmen Sie dabei nur die
unbedingt notwendigen Veränderungen vor. Markieren Sie die Schlüsselkandidaten
der Tabellen.
Aufgabe 14 (2 Punkte)
Phasenübersicht (Beispieldaten)
Projekt ProNr Phase
Leiter
Stein
1
Analyse 11
Stein
1
Test
12
Stein
1
Design
13
Brett
2
Analyse 11
Brett
2
Design
15
Stein
3
Design
13
Leitername
Meier
Meier
Schmidt
Meier
Schmidt
Schmidt
Budget
5
7
7
4
5
5
Gegeben sei obige Tabelle. Zwischen den Attributen der Tabelle gibt es folgende vollständig
funktionalen Abhängigkeiten, alle weiteren funktionalen Abhängigkeiten können davon
abgeleitet werden:
{ProNr} → {Projekt}
{Leiter} → {Leitername}
{Leiter} → {Phase}
{ProNr,Phase} → {Leiter, Budjet}
a) Schreiben Sie die genannten Abhängigkeiten in deutsche Sätze um, die den
Sachverhalt erklären.
b) Bringen Sie die Tabellen schrittweise in die 2NF, 3NF und die BCNF. Bestimmen Sie
die für alle Tabellen die Schlüsselkandidaten.
Hinweis: Im Praktikum erhalten Sie Ihr DB-Login für die Oracle-Instanz der Hochschule.
Ändern Sie mit dem SQL Developer Ihr Passwort sofort ab. Zur Nutzung des SQL
Developers ist http://home.edvsz.fh-osnabrueck.de/skleuker/querschnittlich/Datenbankwerkzeuge.pdf
hilfreich (Kapitel 4). Öffnen Sie dann ein SQL-Arbeitsblatt (Kapitel 6) und geben Sie
folgenden Befehl ein. Achtung, die Änderung muss nicht bestätigt werden, ein Tippfehler und
sie haben ein Problem: ALTER USER <benutzername> IDENTIFIED BY <neues passwort>
Seite 2 von 2
Herunterladen