Infosys 1 Klausur vom 20.6.2000 Aufgabe 1 (20 Punkte) Stellen Sie fest, in welcher Normalform (1NF, 2NF, 3NF oder BCNF) sich folgende Relationenschemata befinden. Zerlegen Sie jene, die sich nicht in 3NF befinden, in 3NF-Relationen mit Abhängigkeitsbewahrung und Verlustlosigkeit. Begründen Sie auch, daß das Ergebnis abhängigkeitsbewahrend und verlustlos ist. a) RS1({A,B,C,D,E,F},{ADFB,ADFC}) b) RS2({A,B,C,D,E,F},{DC,AD,BEAF }) c) RS3({A,B,C,D,E,F},{BDCE,AB,BDAF }) d) RS4({A,B,C,D,E,F},{ACE,CB,ABCBE,ADE }) Aufgabe 2 (12 Punkte) SQL Für ein Informationssystem, das Auskunft über LVAs und deren Abhaltung im SS2000 geben soll, stehen folgende Relationen zur Verfügung: Rel.Name Attribut Typ Kommentar LVA LVANr varchar2(6) 312704 Name varchar2(50 Std number(2) Typ char(2) Person PersNr Name varchar2(4) varchar2(50) Abhaltung LVANr PersNr Tag von_Stunde von_Minute bis_Stunde bis_Minute Raum_Id varchar2(6) varchar2(4) date number(2) number(2) number(2) number(2) varchar2(8) Raum_id Name AnzPers Gebaeude varchar2(8) varchar2(30) number(4) varchar2(20) Raum Personal-Nummer Name Kalendar-Tag Raum-Nummer Raumbezeichnung Die LVANr ist folgendermaßen aufgebaut: Due ersten 3 Stellen entsprechen der Instituts-Nummer, die ersten 4 Stellen der Abteilungs-Nummer. Die Institute 311, 312 und 321 umfassen den Fachbereich Informatik. Die Tabelle „Abhaltung“ ist auf den Kalendartag bezogen! Für eine LVA gibt es also für jeden Termin, an dem sie stattfindet (bspw. jede Woche), einen Eintrag. Führen Sie folgende Abfragen durch: a) Erstellen Sie einen Terminkalender (Terminliste) für die LVA 351004 sortiert nach Tag und Zeit-von. Die Liste soll Datum, Uhrzeit und Raum-Name der LVA beinhalten. b) Welche Informatik-Abteilungen bieten mehr als 6, aber weniger als 12 LVAs an? Geben Sie Abt.-Nr. und Anzahl der LVAs absteigend sortiert nach Anzahl der LVAs an. Aufgabe 3 (8 Punkte) Beantworten Sie folgende Aussagen mit JA oder NEIN (Richtig oder Falsch): a) Ein Surrogat ist eine beschreibende Eigenschaft eines Objekts. b) Zwei verzahnte Transaktionen sind immer serialisierbar. c) In einer kanonischen Überdeckung können ausschließlich volle funktionale Abhängigkeiten enthalten sein. d) Eine Generalisierung ist eine Zusammenfassung eines Objektes aus bestehenden Objekten. e) Jeder Superschlüssel ist ein Kandidatenschlüssel. f) Jede funktionale Abhängigkeit ist eine mehrwertige Abhängigkeit. g) Eine funktionale Abhängigkeit schränkt die Anzahl aller theoretisch möglicher Tupel in einer Relation ein. h) Ein hierarchisches Datenmodell ist besonders für die Modellierung von n:m Beziehungen geeignet. Aufgabe 4 (6 Punkte) Boyce-Codd-Normalform a) Welchen Qualitätsunterschied weist ein Relationenschema in BCNF gegenüber einem Relationenschema in 3NF auf. b) Zerlegen Sie folgendes Relationenschema in BCNF mit Verbundtreue (verlustlose Zerlegung): RS({A,B,C,D,E},{ABC,DEB,ABDE}) Aufgabe 5 (17 Punkte) Beschreiben Sie folgenden Sachverhalt der realen Welt in einem ER-Diagramm. Modellieren Sie dabei die Objekte, Beziehungen, Kardinalitäten der Beziehungen und die wichtigsten Attribute. Fußball Europameisterschaft (a) Die Europameisterschaft wird in verschiedenen Städten (Stadien) ausgetragen. Die Mannschaften (Nationen) sind in 4 Gruppen eingeteilt. Jede Gruppe ist einer ausgewählten Menge von Stadien zugeordnet. (b) Die Mannschaften bestehen aus einem Kader von Spielern, Trainern und sonstigen Betreuern. (c) Für jedes Spiel müssen folgende Informationen dokumentiert bzw. abgefragt werden können: Ort: Wo wird gespielt (Stadt, Stadion)? Nationen: Wer spielt gegen wen? Spielergebnis Aufstellung: Welcher Spieler welcher Mannschaft ist in welcher Position (z.B. Tormann, Verteidiger, Mittelfeld, Sturm, ...) aufgestellt? Wer ist als Ersatzspieler nominiert? Welcher Spieler hat welche Nummer? Spielerwechsel: Wer wurde wann durch wen ersetzt? Verwarnungen: Welcher Spieler bekam in welcher Spielminute welche Karte (rot, gelb)? Tore: In welcher Spielminute ist ein Tor für welche Mannschaft gefallen und wer ist der Torschütze? Schiedsrichter: Welche Schiedsrichter werden in welcher Rolle (Schiedsrichter, Linienrichter, Beobachter) eingesetzt? Aufgabe 6 (4 Punkte) Erklären Sie den Begriff „ACID-Paradigma“ des Transaktionskonzeptes von Datenbanken. Aufgabe 7 (8 Punkte) Erklären Sie die Begriffe a) Relationenschema und Relation b) Funktionale Abhängigkeiten c) Kandidatenschlüssel d) Logische Datenunabhängigkeit in der Theorie der relationalen Datenbanken. Aufgabe 8 (15 Punkte) Für die Verwaltung einer einzelnen Übungsgruppe, die analog der Übungen Informationssysteme 1 benotet wird, ist eine relationale Datenbank zu erstellen. Entwerfen Sie dafür das relationale Schema in 3NF (Name der Relationen, Attribute mit Datentyp, Primärschlüssel durch Unterstreichen gekennzeichnet). Für jedes ausgegebene Übungsbeispiel muss gespeichert bzw. abgefragt werden können: Die Nummer des Beispiels (z.B. „3.2“) Eine Überschrift Die gesamte Angabe Die Anzahl der max. erreichbaren Punkte Wann das Beispiel ausgegeben wurde Wann und wo es abzugeben ist Bei welchem Übungstermin ein Beispiel besprochen wurde (falls die Übung an mehreren Terminen besprochen wurde, muss nur der erste Termin gespeichert werden). Studenten (MatNr, KNR, Name) lösen Beispiele und bekommen dafür die erreichten Punkte, bzw. einen Vermerk „Beispiel abgegeben“, falls das Beispiel nicht korrigiert wurde. Weiters ist zu protokollieren, welcher Student wann (Datum) welches Beispiel an der Tafel vorgeführt hat. Ein Student kann auch zu einem Übungstermin mehrere Beispiele vorführen. Es kann aber auch eine Beispiel von mehreren Studenten vorgeführt werden. Die Überprüfung der Anwesenheit der Studenten muss ebenfalls mit Hilfe dieser Datenbank durchgeführt werden können (Welcher Student war zu welchem Termin anwesend?). Es muss ein Prozentsatz der Anwesenheit berechnet werden können.