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