Gruppe A Bitte tragen Sie SOFORT und LESERLICH Namen

Werbung
Gruppe A
Bitte tragen Sie SOFORT und LESERLICH Namen und Matrikelnr. ein, und legen Sie Ihren Studentenausweis
bereit.
PRÜFUNG AUS DATENMODELLIERUNG (181.194) GRUPPE A
Matrikelnr.
Familienname
19. 11. 2009
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 , 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 = {C→BE, E→AF, FA→D}
RS
R
Schlüssel
............
Zerlegung in 3NF (Einen Schlüssel in jeder Relation unterstreichen)
R1 . . . . . . . . . . . .
R2 . . . . . . . . . . . .
R3 . . . . . . . . . . . .
R4 . . . . . . . . . . . .
b) Geben Sie für die folgenden Relationenschemata (Ri , Fi ), i ∈ {1, 2}, Ri = ABCDEF , 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
F1 ={ABC→DEF, C→B}
F2 ={AB→CD, D→EF}
Schlüssel
............
............
3NF
ja ja BCNF
nein nein ja ja nein nein Aufgabe 2:
(4)
Gegeben ist ein Relationenschema ABCDEF und die Menge F von funktionalen Abhängigkeiten. Bestimmen Sie
die kanonische Überdeckung.
F = {FA→C, F→DEA, C→D, D→E}
Aufgabe 3:
(16)
Eine Fastfoodkette plant eine neue Verwaltungsdatenbank. Zeichnen Sie folgenden Sachverhalt in einem ERDiagramm in der (min,max) Notation. Es sind keine Nullwerte erlaubt.
Eine Filiale wird eindeutig identifiziert durch Ort (ORT) und Name (NAME). Es ist auch bekannt wieviel Verkaufsfläche eine Filiale hat (GROESSE). Jede Filiale hat maximal 8 Kassen. Eine Kassa wird eindeutig identifiziert
durch die Filiale in der sie steht und eine laufende Nummer (NUMMER). Weiters wird gespeichert ob die Kassa
einen Autoschalter bedient oder nicht (AUTOSCHALTER).
Mitarbeiter werden eindeutig identifiziert durch eine Sozialversicherungsnummer (SVNR). Außerdem wird der
Name (NAME), die Adresse (ADRESSE) und das Eintrittsdatum (EINTRITT) gespeichert. Optional kann auch
das Kündigungsdatum (AUSTRITT) gespeichert werden. Man unterscheidet zwischen Kassamitarbeitern und
Küchenmitarbeitern. Kassamitarbeiter haben zusätzlich das Datum (SDATUM) gespeichert, an dem sie eigeschult wurden. Jede Kassa ist genau einem Kassamitarbeiter zugeordnet, wobei ein Kassamitarbeiter durchaus
mehrere Kassen zugeordnet haben kann. Maschinen werden eindeutig identifizierd durch Typ (TYP) und Hersteller (HERSTELLER). Das Datum der letzten Wartung (WARTUNG) ist ebenso bekannt. Für Küchenmitarbeiter
wird gespeichert, welche Maschinen sie bedienen können und wann sie für die betreffenden Maschinen (SDATUM)
eingeschult wurden.
Es wird gespeichert, welche Mitarbeiter in welcher Filiale arbeiten. Jeder Mitarbeiter arbeitet in genau einer
Filiale. Jede Filiale wird von einem einzigen Mitarbeiter geleitet. Ein Mitarbeiter kann maximal eine Filiale leiten.
Produkte werden eindeutig identifiziert durch den Namen (NAME). Weiters ist der Preis (PREIS) bekannt und
die Menge die im Lager davon verfügbar ist (LAGERSTAND). Man unterscheidet zwischen Food, NonFoodProdukten und Getränken. Zu Getränken wird noch eine Menge in ml gespeichert (GROESSE), zu NonFoodProdukten wird noch der Hersteller (HERSTELLER) und die Zielgruppe (ZIELGRUPPE) z.B. Kinder, Frauen,
Männer,... gespeichert. Menüs sind ebenso Produkte. Sie setzen sich aus genau einem Getränk und mindestens
zwei Food-Produkten zusammen. Manchmal ist auch ein NonFood-Produkt Teil eines Menüs. Zu jedem Menü wird
außerdem gespeichert, wieviel man sich beim Kauf des Menüs im Gegensatz zum Kauf der einzelnen Produkte
erspart (ERSPARNIS).
Es wird gespeichert wieviele Produkte (ANZAHL) an welcher Kassa verkauft wurden.
Aufgabe 4:
Gegeben sind die Relationen R(CD) mit 17 Tupeln, S(ABDE) mit 15 Tupeln, und T (AB) mit 2 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
RS
R S
S÷T
............
............
............
............
............
............
Aufgabe 5:
(6)
Gegeben sind die beiden folgenden Relationen M und N:
N
M
AttrA
AttrB
AttrC
AttrD
sum
sam
sem
3
2
3
tit
wit
rit
2
2
2
Dazu wird der folgende Trigger angelegt:
CREATE TRIGGER wastutderdenn
AFTER INSERT ON N
FOR EACH ROW
WHEN ((SELECT SUM(AttrB) FROM M)<(SELECT SUM(AttrD)-1 FROM N))
BEGIN
INSERT INTO M VALUES (new.AttrC, (SELECT MIN(AttrD)+3 FROM N));
END;
Im letzten Schritt werden die folgenden Tupel in der angegebenen Reihenfolge eingefügt: (sit,3) in N, (sim,1)
in M und (mit,7) in N. Zeichnen Sie den Zustand der Datenbank nach dem Ausführen der Inserts.
M
AttrA
............
............
............
............
............
............
N
AttrB
............
............
............
............
............
............
AttrC
............
............
............
............
............
............
AttrD
............
............
............
............
............
............
Gesamtpunkte: 45
Herunterladen