HTW Berlin – WI Probeklausur Datenmodellierung und Datenbanksysteme Prof. Dr. Ingo Claßen Name: Vorname: MatrNr: Bewertung 1 2 3a 20 5 3 3b 3c 4a 3 4 4 4b 4c 5 6 10 5 Übungen 40 54–50 4,0 49–0 5,0 Σ = 100 Punkte Punkte: Note: Notenspiegel 100–95 94–90 89–85 1,0 1,3 1,7 84–80 79–75 74–70 2,0 2,3 2,7 69–65 64–60 59–55 3,0 3,3 3,7 Seite 1 von 6 HTW Berlin – WI Aufgabe 1: ER-Modell In dieser Aufgabe sollen Sie ein ER-Modell für ein Tierpflegeheim erstellen.1 In der folgenden Beschreibung sind nicht alle Attribute im Text erwähnt, z.B. werden Primärschlüssel nicht genannt. Ergänzen Sie diese – soweit sinnvoll. Es sollen Daten zu Personen gespeichert werden. Dabei ist zwischen Besitzern und Tierpflegern zu unterscheiden. Beide besitzen Attribute für Name und Adresse, Tierpfleger zusätzlich noch eines für Gehalt. Ebenso sollen natürlich Daten zu Tieren gespeichert werden. Jeder Besitzer kann mehrere Tiere besitzen, aber jedes Tier gehört genau einem Besitzer. Ein Tier gehört zu einer bestimmten Gattung („Katze“, „Hund“, etc.). Tierpfleger sind für die Pflege von einer oder mehrerer Gattungen qualifiziert. Jede Gattung wird in einem bestimmten Gebäude untergebracht, aber in einem Gebäude können mehrere Gattungen untergebracht werden. Besitzer geben Tiere für einen bestimmten Zeitraum (definiert durch Anfangsdatum und Dauer) in Pflege. Für jede Gattung können mehrere Behandlungsarten („Wurmkur“, „Baden“, etc.) möglich sein und jede Behandlungsart kann für mehrere Gattungen zutreffen. Tiere können behandelt werden, zu einem bestimmten Termin, von einem Tierpfleger, bzgl. einer Behandlungsart. 1 Quelle: http://www.is.informatik.uni-duisburg.de/courses/db_ws08/uebung/ probeklausur2.pdf Seite 2 von 6 HTW Berlin – WI Aufgabe 2: Übersetzung ER-Modell in relationales Modell In dieser Aufgabe sollen Sie ein ER-Modell in ein relationales Modell übersetzen. Bei der Übersetzung der Generalisierung sind für alle beteiligten Entity-Typen Relationenschemata zu erzeugen. Ausleiheobjekt # ? ? ? AONR Titel Preis Ausleiheposition # CD Video ? IstMusik ? von ? bis Kunde # ? ? KNR Name ? Laenge Kategorie # ? KANR ? Bez Seite 3 von 6 HTW Berlin – WI Aufgabe 3: SQL-Anweisungen auswerten In dieser Aufgabe sollen Sie für gegebene SQL-Anweisungen die Ergebnistabellen berechnen. Die Ausgangstabellen haben folgendes Aussehen: Id 54 35 76 55 Datum 2007-01-23 2007-01-24 2007-01-24 2007-01-24 Thema Id Name 31 Lokal 57 Sport Pressemeldung Titel MediumID Serena Williams mit kämpferischer Vorstellung 22 Von dem Flüchtigen fehlt jede Spur 32 Ex-Weltmeister Museeuw gibt Doping zu 32 Wohnungen statt Kita? 44 Ort2Medium Medium Ort OrtId MediumId Id Name Name 202 32 43 Rheinische Post Darmstadt 553 22 22 Der Tagesspiegel Mainz 202 43 32 Darmstädter Echo Berlin 123 44 44 Allgemeine Zeitung ThemaID 57 31 57 31 Id 202 123 553 Folgende Abfragen sollen Sie auswerten. Schreiben sie jeweils die Ergebnistabelle auf. a. select p.Titel, t.Name from Pressemeldung p, Medium m, Thema t where p.MediumId = m.Id and t.Id = p.ThemaId and m.Name = 'Allgemeine Zeitung' b. select t.Name, COUNT(p.Titel) from Pressemeldung p, Medium m, Thema t where p.MediumId = m.Id and t.Id = p.ThemaId group by t.Id, t.Name c. select m.Name from Medium m where m.Id not in ( select MediumId from Pressemeldung) Seite 4 von 6 HTW Berlin – WI Aufgabe 4: SQL-Anweisungen erstellen In dieser Aufgabe sollen Sie umgangssprachlich formulierte Abfragen in SQL umsetzen. Die Grundlage für die Abfragen bildet das Relationenmodell der vorigen Aufgabe. Pressemeldung Thema Id Name Id=ThemaID Id Titel Datum ThemaID MediumID MediumID=Id Medium Id Name Ort2Medium Id=MediumID MediumId OrtId Ort OrtID=Id Id Name a Titel der Pressemeldungen, die im „Darmstädter Echo“ erschienen sind. b Anzahl der Pressemeldungen, die in Medien erschienen sind, die aus Darmstadt kommen. c Namen der Orte, in denen es die meisten Medien gibt. sind. Seite 5 von 6 HTW Berlin – WI Aufgabe 5: Normalformen Das folgende relationale Schema (in 1. Normalform) beschreibt Rechnungen. Die Attribute haben folgende Bedeutung Rechnung RNR RDatum KNR KName LfdNr ANR Menge Bez Preis RNR RDatum KNR KName LfdNr ANR Menge Bez Preis Rechnungsnummer Rechnungsdatum Kundennummer Kundenname Laufende Nummer der Rechnungsposition Nummer des in Rechnung gestellten Artikels Menge des in Rechnung gestellten Artikels Bezeichnung des in Rechnung gestellten Artikels Preis des in Rechnung gestellten Artikels Schlüsselattribute sind unterstrichen und es bestehen folgende funktionale Abhängigkeiten. { RNR } → { RDatum, KNR } { KNR } → { KName } { RNR, LfdNr } → { alle Attribute } { ANR } → { Bez, Preis } Befindet sich das Schema in zweiter Normalform? Begründen Sie Ihre Antwort. Bringen Sie durch Zerlegung das Schema in die dritte Normalform, so dass das resultierende Diagramm im Wesentlichen dieselben Informationen wie vorher beinhaltet. Kennzeichnen Sie die Primärschlüssel und stellen Sie die Fremdschlüsselbeziehungen dar. Seite 6 von 6