Name:.../ Semester:... Lineares Benotungsschema: 60 Punkte = Note 1, 30 Punkte = Note 4 Aufgabe 1a: (15 Punkte) Entwerfen Sie ein semantisches Datenmodell (ERM) für eine Reiseagentur, die an ihre Kunden Reisen vermittelt und verkauft. Stichwortartige Informationen: Die Reiseagentur hat über Deutschland verteilt mehrere Filialen. Ein Kunde kann von jeder Filiale aus Reisen buchen. Die Filiale, in der der Kunde gebucht hat, stellt die Rechnung an den Kunden aus. Ein Kunde kann für sich alleine eine Reise buchen oder auch für sich und ein oder mehrere Familienmitglieder. Eine Reise beinhaltet eine Unterkunft und einen Flug. Die Unterkunft ist entweder in einem Hotel oder in einer Ferienwohnung. Für den Flug werden für alle Familienmitglieder Tickets ausgestellt. Skizzieren Sie das ERM (Entity- und Beziehungstypen; n:m-beziehungen deutlich machen). Grafik: Prof. Dr. M. Frey-Luxemburger Seite 1
Aufgabe 1b: (5 Punkte) Das nachstehende ERM beschreibt einen Ausschnitt aus einer Materialwirtschaft (vereinfacht): Mitglieder Bücherei Mitarbeiter Ausleihe Bücher Entity-Typ Mitglieder Bücherei Mitarbeiter Ausleihe Bücher Attribut Name Vorname Name Ort Name Gehalt Ausleihdatum Leihfrist Titel Verlag Wie sieht das relationale Tabellenschema für das oben dargestellte ERM aus? Verwenden Sie bitte für die Definition der Tabellenstrukturen die Notation: tabname (PRSattr1, PRSattr2,..., attr(i), attr(j),...). Definieren Sie dabei geeignete Primärschlüssel (PRSattr1 etc.) und die notwendigen, korrekten Fremdschlüssel (attr(j)). Tabellen: Prof. Dr. M. Frey-Luxemburger Seite 2
Aufgabe 2: (20 Punkte) Formulieren Sie die folgenden Datenbank-Abfragen in SQL Basis sind die nachstehenden Tabellen. (Pro Abfrage: 4 Punkte) Tabelle "Kopie" kopid filmid filialid system 0001 dterm ff1 vhs 0002 dterm ff2 vhs 0004 ainam ha1 vhs 0005 ainam ma1 vhs 0007 dterm ff1 beta 0008 tosfe ma2 beta 0010 ainam ff1 vhs 0011 paapo ha1 vhs 0020 dteuf ma1 vhs 0022 ainam ff2 vhs 0041 dtkil ff1 vhs 0045 dterm ma2 beta 0055 gomon ha1 vhs 0058 ainam ma2 vhs 0059 dterm ma2 vhs 0063 paapo ha1 vhs 0066 dteuf ha1 beta 0067 dtkil ff2 vhs 0072 dterm ma2 vhs 0073 dterm ha1 vhs 0075 dinok ha1 vhs 0078 dtkil ha1 Vhs 0082 tosfe ha1 vhs Tabelle "Film" filmid titel preis verlag ainam Asterix in Amerika 10,00 UFA dteuf Die Teuflischen 07,00 Metro Goldwyn tosfe Tote schlafen fest 07,00 Warner Bros paapo Papa ante Portas 12,50 UFA dinok Die Dinos kommen 05,00 Metro Goldwyn dtkil Dressed to Kill 10,00 Warner Bros dterm Der Terminator 12,50 Metro Goldwyn gomon Goofy auf dem Mond 05,00 Disney outaf Out of Africa 20,00 Universal Tabelle "Filiale" filialid ort ff1 Frankfurt 1 ff2 Frankfurt 2 ha1 Hanau ma1 Mainz 1 ma2 Mainz 2 a) Welches ist der billigste Film in Hanau? (Anzeige: titel, preis) b) Welches ist der Summe aller Preise der Filme von "Metro Goldwyn"? (Anzeige: verlag, Summe ) Prof. Dr. M. Frey-Luxemburger Seite 3
c) Erstellen Sie eine Liste der Filme, die in den Filialen in Frankfurt ausgeliehen werden können, der eine Liste angefügt ist mit den Filmen, die in der Filiale in Hanau ausgeliehen werden können. Achtung: Benutzen Sie den UNION- Operator (Anzeige: : ort, titel, preis, system) d) Von welchen Filmen gibt es mehrere Kopien in einer Filiale? (Anzeige: ort, titel, Anzahl Kopien ) e) Erzeugen Sie eine Liste sämtlicher Filme und ihrer Kopien? (Anzeige: titel, ort, system, preis) Prof. Dr. M. Frey-Luxemburger Seite 4
Aufgabe 3: (20 Punkte) Beantworten Sie die fünf nachstehenden Fragen. (Pro Frage: 4 Punkte) 1) Erklären Sie die Aufgabe des semantischen Datenmodells anhand eines Beispiels? Überlegen und erläutern Sie, welche Probleme Ihrer Meinung nach bei einem fehlerhaften konzeptionellen Datenmodell auftreten können. 2) Sie sollen eine Datenbank entwerfen und implementieren. Welches sind die Schritte, die in einer relationalen Umgebung hierfür notwendig sind? Prof. Dr. M. Frey-Luxemburger Seite 5
3) Was versteht man unter der Normalformlehre und welches Ziel verfolgt sie? Geben Sie jeweils ein Beispiel (in Tabellenform) für die Verletzung der funktionalen (2. NF) und transitiven (3. NF) an. 4) Welche relationale und mengenorientierte Operatoren haben Sie kennen gelernt? Geben sie für drei verschiedene Operatoren jeweils ein Beispiel. 5) Mit Hilfe welchen Bedingungen (Massnahmen) kann die strukturelle Integrität in einem relationalen Datenbanksystem sichergestellt werden? Beschreiben Sie diese kurz. Prof. Dr. M. Frey-Luxemburger Seite 6