MUSTERL ¨OSUNG B,DF,AD . . ACDF,CDEF Fc ={ AB→CD

Werbung
Gruppe A
Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis
bereit.
PRÜFUNG AUS DATENMODELLIERUNG (181.117) GRUPPE A MUSTERLÖSUNG
Matrikelnr.
Familienname
19. 1. 2011
Vorname
Arbeitszeit: 60 Minuten. Die Aufgaben sind auf den vorgesehenen Blättern zu lösen; Zusatzblätter werden nicht
gewertet.
Aufgabe 1:
(13)
a) Bestimmen Sie für folgendes Relationenschema (R, F ), R = ABCDEF G, alle Schlüssel. Berechnen Sie eine
verlustlose und abhängigkeitstreue Zerlegung in 3NF mit Hilfe des Synthesealgorithmus (F ist schon in kanonischer
Form). Unterstreichen Sie in jeder Relation der Zerlegung einen Schlüssel.
[5]
F = { CF→AE, AG→C, F→ABCE }
RS
R
Schlüssel
DFG . . . . . . .
Zerlegung in 3NF (Einen Schlüssel in jeder Relation unterstreichen)
R1 FABCE . . . . .
R2 AGC . . . . . . .
R5
R6
...........
R3 DFG . . . . . . .
R4
...........
...........
b) Geben Sie für die folgenden Relationenschemata (Ri , Fi ), i ∈ {1, 2}, Ri = ABCDEF G, sämtliche Schlüssel an.
Weiters geben Sie an, welche Normalform sie erfüllen, indem Sie die richtigen Antworten ankreuzen.
[8]
Achtung: pro korrekter Lösung: 1 Punkt, pro falscher Lösung -1 Punkt, insgesamt zumindestens 0 Punkte.
Abhängigkeiten
Schlüssel
F1 ={ A→AEF, DF→BC, B→ADG }
F2 ={ ACDF→BEG, DEF→A }
B,DF,AD . .
ACDF,CDEF
3NF
ja ja ×
BCNF
nein ×
nein ja ja nein ×
nein ×
Aufgabe 2:
(4)
Gegeben ist ein Relationenschema ABCDEFG und die Menge F von funktionalen Abhängigkeiten. Bestimmen
Sie die kanonische Überdeckung.
F = { AF→G, AB→CD, CDF→E, D→EF, ABCD→CD, AB→E, AG→B }
Fc ={ AB→CD, AF→G, D→EF, AG→B }
Aufgabe 3:
(16)
Für eine Fluglinie soll zur Verwaltung der angebotenen Flüge, Mitarbeiter und Buchungen eine Datenbank entwickelt werden. Zeichnen Sie aufgrund der vorliegenden Informationen ein ER-Diagramm. Verwenden Sie dabei die
[min,max] Notation. Es sind keine Nullwerte erlaubt.
Mitarbeiter werden eindeutig identifiziert durch eine ID (MID). Zusätzlich werden Vorname (VORNAME) und
Nachname (NACHNAME) gespeichert. Man unterscheidet zwischen drei Gruppen von Mitarbeitern: Pilot, Flugbegleiter und Techniker.
In der Datenbank werden alle Flugzeuge gespeichert. Ein Flugzeug ist eindeutig gekennzeichnet durch die Kombination aus Ländercode (LC) und Kennung (KENNUNG). Weiters sind von jedem Flugzeug Hersteller (HERSTELLER), Typ (TYP) und das Anschaffungsdatum (ADATUM) bekannt.
Angeflogene Flughäfen werden ebenfalls gespeichert. Von ihnen ist ein eindeutiger Code (CODE), der Flughafenname (NAME), das Land (LAND) sowie der Kontinent (KONTINENT) bekannt. Eine Flugverbindung gibt an,
von welchem zu welchem Flughafen geflogen wird. Sie wird identifiziert durch eine eindeutige Flugnummer (FNR).
Weiters ist die Distanz (DISTANZ) zwischen den beiden Flughäfen sowie die Art (ART) des Fluges (z.B. Linienoder Charterflug) bekannt.
Konkrete Flüge werden identifiziert durch die ihnen zugeordnete Flugverbindung sowie den Abflugzeitpunkt (ABFLUG). Weiters ist für jeden Flug die erwartete Ankunftszeit (ANKUNFT) am Zielflughafen bekannt und welches
Flugzeug für den Flug eingesetzt wird. Pro Flug werden zwei bis drei Piloten eingeteilt, um die Maschine zu fliegen
und ein bis acht Flugbegleiter sind für den Service an Board zuständig. Sowohl bei jedem dem Flug zugeordneten
Piloten als auch jedem Flugbegleiter muss gespeichert werden, in welcher Funktion (FUNKTION) dieser eingeteilt
ist (Ein Pilot kann beispielsweise als ’Captain’, ’Copilot’, ... eingeteilt sein, ein Flugbegleiter als ’Chef-Stewardess’,
’Auszubildender’, ...).
Reisende werden in der Datenbank gespeichert. Ein Reisender wird durch seine Passnummer (PNR) identifiziert.
Weiters sind Vorname (VORNAME) und Nachname (NACHNAME) bekannt. Optional kann sich ein Reisender als Vielflieger registrieren: In diesem Fall werden zum Reisenden die gesammelten Bonuspunkte (PUNKTE)
gespeichert.
Eine Buchung wird durch eine Buchungsnummer (BNR) eindeutig identifiziert. Zu jeder Buchung wird eine Kontaktemailadresse (KONTAKTEMAIL) sowie eine Telefonnummer (KONTAKTTELEFON) gespeichert. Einer Buchung können beliebig viele Flüge (mindestens aber einer) sowie Reisende zugeordnet werden. Es muss speicherbar
sein, welcher Reisender bei welchem Flug einer Buchung mitfliegt. (Beispielsweise kann ein Reisender R1 bei Flug
F1 und Flug F2 der Buchung B mitfliegen, Reisender R2 fliegt nur bei Flug F1 der Buchung B mit.) Pro Reisendem
und Flug einer Buchung wird der Preis (PREIS) des Fluges gespeichert.
Aufgabe 4:
Gegeben sind die Relationen R(BCD) mit 7 Tupeln, S(CDE) mit 10 Tupeln, und T (ADE) mit 8 Tupeln.
(6)
Geben Sie die minimale bzw. maximale Größe (= Anzahl der Tupel) der durch die folgenden Ausdrücke entstehenden Relationen an:
Ausdruck
min. Ergebnisgröße
max. Ergebnisgröße
ΠC (ΠCD R ∪ ΠCD S)
R T
ΠE (σB<3 R × S)
7 ..........
8 ..........
0 ..........
17 . . . . . . . .
56 . . . . . . . .
10 . . . . . . . .
Aufgabe 5:
Kreuzen Sie die zuteffende Antwort zu den folgenden Aussagen an.
(6)
1. Um Speicherplatz zu sparen und Redundanzen zu vermeiden, werden Beziehungen bei der Überführung ins
Relationenmodell immer durch Entitäten dargestellt.
wahr falsch ×
2. Der Unterschied zwischen einem Schlüssel und einem Superschlüssel besteht darin, dass der Schlüssel nicht
minimal sein muss.
wahr falsch ×
3. Der Mengendurschnitt A ∩ B lässt sich im Allgemeinen auch wie folgt ausdruecken:
(A × A) ∪ (B × B) A − (B − A) A − (A − B) ×
(B × A) − (B × A) Keine der genannten 4. In SQL werden bei der Vereinigung mittels UNION mehrfach vorkommende Ergebnistupel entfernt.
wahr ×
falsch wahr falsch ×
5. Ein Relationenschema ist immer in BCNF, wenn es in 3. Normalform ist.
6. Es kann in gewissen Relationen vorkommen, dass die Transitivität von Funktionalen Abhängigkeiten (FDs)
nicht gilt. Also es gilt α → β und β → γ, aber nicht α → γ.
wahr falsch ×
(Pro korrekter Antwort 1 Punkt, pro inkorrekter Antwort -1 Punkt, pro nicht beantworteter Frage 0 Punkte,
für die gesamte Aufgabe mindestens 0 Punkte)
Gesamtpunkte: 45
Herunterladen