1 Informationsmodellierung mit dem Entity-Relationship-Modell

Ähnliche Dokumente
Vorlesung Datenbank-Entwurf Klausur

Das SQL-Schlüsselwort ALL entspricht dem Allquantor der Prädikatenlogik

Der Tabellenname wird in Grossbuchstaben geschrieben.

Datenbanksysteme I, SS 2004

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

Theorie zur Übung 8 Datenbanken

Übungsblatt 4 Lösung

Stufen der Entwicklung einer Datenbank. ER-Modell. Datenbank-Entwurf (1) Datenbank-Entwurf (2) 1. Datenbank - Entwurf ( ER - Diagramm)

Datenbanksysteme I Aufgabenblatt 4: SQL

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Probeklausur Datenbanktechnologie

Grundlagen von Datenbanken. Relationale Algebra und algebraische Optimierung

Datenbanken 1 Sommersemester 2014/

4 Grundlagen der Datenbankentwicklung

1. Übungsblatt 3.0 VU Datenmodellierung

Vorlesung Suchmaschinen Semesterklausur Sommersemester 2014

Datenbanken: Relationales Datenbankmodell RDM

Datenbanksysteme I WS 2015/16. Übungsblatt 12: Lösungsvorschlag

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.


Entwicklung einer DB-Anwendung vergleichbar mit gewöhnlicher Anwendungsprogrammierung:

Inhaltsverzeichnis Vorwort zur vierten Auflage Vorwort zur dritten Auflage Vorwort zur zweiten Auflage Vorwort zur ersten Auflage Hinweise zur CD

Fundamentals of Software Engineering 1

Aufgabe 1) Übung 4: 1.2

9. Einführung in Datenbanken

Konzeptueller Entwurf

Ein Schlüssel ist eine Menge von Attributen (also eines oder mehrere), die eine Datenzeile (Tupel) einer Tabelle eindeutig identifiziert

Klausur zur Veranstaltung "Wirtschaftsinformatik I" Wintersemester 2007/2008

Anfrageoptimierung Logische Optimierung

Kapitel 10: Relationale Anfragebearbeitung

Übungen Teil 1: ER-Modelle. Dozent: Stefan Maihack Dipl. Ing. (FH)

3. Das Relationale Datenmodell

Microsoft Access 2010 SQL nutzen

Abstraktionsschichten. Das Relationale Datenmodell

Grundlagen von Datenbanken SS 2010

Indexstrukturen in SQL

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Datenbanksysteme I

OpenOffice - Base G. Laner 1

Einteilung von Datenbanken

Probeklausur im Modul Informationstechnik 1, WS 2003/04. Studiengang IWD 1. Semester Seite 1 von 5

Einleitung Projektion Selektion Join Mengenop. Vollst.keit. Einleitung Projektion. Selektion Join. Vollst.keit. Einleitung Projektion Selektion Join

Übung zur Vorlesung im Sommersemester 2009

SQL für Trolle. mag.e. Dienstag, Qt-Seminar

Klausur Datenbanken. Fachhochschule Furtwangen, WS 08/09,

10. Datenbank Design 1

Wirtschaftsinformatik 2. Tutorium im WS 11/12

Datenbanksysteme 1 Frühjahrs-/Sommersemester Abril 2012

Kapitel DB:IV (Fortsetzung)

Prof. Dr. Bernd Blümel Prof. Dr. Volker Klingspor. Datenbanken und SQL

1. Übungsblatt 3.0 VU Datenmodellierung

Musterlösung zur Finalklausur Datenbanksysteme am

Datenbanken Unit 4: Das Relationale Modell & Datenintegrität

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

Lösungen der Übungsaufgaben von Kapitel 10

Objektrelationale, erweiterbare Datenbanken

Klausur Datenbanken Wintersemester 2004/2005 Prof. Dr. Wolfgang May 10. Februar 2004, Uhr Bearbeitungszeit: 90 Minuten

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software

Vorlesung Datenbanken I Endklausur

Datenorganisation: (Daten)Datei versus Datenbank

Einführung in Datenbanken und SQL

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski.

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Programmierung 2

Vorlesung Informationssysteme

Institut für Informatik


Vorlesung Datenbankmanagementsysteme

Klausur Datenbanken Wintersemester 2013/2014 Prof. Dr. Wolfgang May 29. Januar 2014, Uhr Bearbeitungszeit: 90 Minuten

Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung

Entwurf und Verarbeitung relationaler Datenbanken

Ein Beispiel: Tabelle DICHTER

SQL-DDL und SQL-Anfragen. CREATE TABLE Kategorie (Bezeichnung VARCHAR(15) NOT NULL PRIMARY KEY, Klassifikationskriterium VARCHAR(100) NOT NULL )

Klausur Datenbanken Wintersemester 2004/2005 Prof. Dr. Wolfgang May 10. Februar 2004, Uhr Bearbeitungszeit: 90 Minuten

Inf 12 Übungsarbeit Lösungen /pl

Tag 2 Inhaltsverzeichnis

Datenbanken. Einführung. Tobias Galliat. Sommersemester 2012

Übung Datenbanken in der Praxis. Relationale Algebra

Software-Engineering Einführung

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #5. SQL (Teil 3)

Das Relationale Modell

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

Kapitel 5 Dr. Jérôme Kunegis. SQL: Grundlagen. WeST Institut für Web Science & Technologien

Datenbanken 6: Normalisierung

Übungen zur Vorlesung Informationssysteme - Blatt 5

Arbeitsplan III. Schlüssel und Transformation. Name: Tenbusch Klasse: Datum: Blatt Nr.: 1 / 7 lfd. Nr.:

Prüfung Datenmanagement

Das Multidimensionale Datenmodell

Kalkülteil. Structured Query Language, SQL. 1. Semantik: erzeuge alle Kombinationen von Tupeln

Datenbanksysteme I. Klausur zum Praktikum. Mehrere Professoren prüfen mit genau einem Beisitzer genau einen Studenten.

Daten Bank. 2. Vorlesung. Dr. Karsten Tolle PRG2 SS 2015

Wiederholungsprüfung Datenmanagement

Kapitel 6: SQL und XML

Datenbanken und Informationssysteme Sommersemester 2012 Probeklausur

Datenbanken. Sommersemester 2010 Probeklausur

Whitepaper. Produkt: combit Relationship Manager Import von relationalen Daten. combit GmbH Untere Laube Konstanz

Speicherung von XML in (objekt-)relationalen Datenbanken. Burkhard Schäfer

1. Übungsblatt 3.0 VU Datenmodellierung

1. Gruppen. 1. Gruppen 7

Entwicklung eines E-Learning Topic-Map Rahmenwerks

Einführung in die Wirtschaftsinformatik Kapitel 4: Relationale Datenbanksprachen: SQL

Transkript:

1 Informationsmodellierung mit dem Entity-Relationship-Modell Erfassen Sie die im Folgenden beschriebenen Informationsstrukturen in einem ER-Diagramm. Beziehen Sie sich dabei genau auf die gegebene Beschreibung, ohne weiteres Wissen zu möglicherweise ähnlichen Anwendungsbereichen einfließen zu lassen. Markieren Sie in Ihrem Entwurf Primärschlüssel durch Unterstreichung und konkretisieren Sie die Abbildungstypen durch Kardinalitätsrestriktionen (Notation: [min;max]). Verwenden Sie unbedingt die aus der Vorlesung bekannte Notation. Benutzen Sie möglichst wenige Entitäten (Ausnahme: Vererbung). Existenzabhängigkeiten sollen NICHT modelliert werden. [16 P.] Für jedes Vereinsmitglied werden neben einer eindeutigen Mitgliedsnummer auch Name und Eintrittsdatum gespeichert. Musiker sind besondere Vereinsmitglieder, die Instrumente spielen können. Ein Instrument besitzt eine eindeutige Bezeichnung und mehrere Zubehörteile. Ein Musiker kann beliebig viele Instrumente spielen und ein Instrument kann von beliebig vielen Musikern gespielt werden. Außerdem kann ein Musiker beliebig viele Musikstücke komponieren; ein Musikstück besitzt einen eindeutigen Titel und wird von genau einem Musiker komponiert. Chorleiter sind besondere Musiker, die eine gewisse Anzahl an Chorjahren aufweisen. Weiterhin gibt es Performances, die jeweils eine Startzeit, eine Endzeit sowie einen eindeutigen Titel besitzen und von genau einem Chorleiter geleitet werden. Jeder Chorleiter kann allerdings beliebig viele Performances leiten. An einer Performance nimmt mindestens ein Musiker teil. Jeder Musiker kann an beliebig vielen Performances teilnehmen. Es gibt außerdem Veranstaltungen, die eindeutig über ihre jeweiligen Bezeichnungen identifizierbar sind und jeweils ein Datum und einen Ort besitzen. Ein Musikstück wird im Rahmen einer Performance auf einer Veranstaltung aufgeführt. Eine Performance wird dabei nur genau einmal aufgeführt. Jede Veranstaltung umfasst mindestens eine und maximal fünf Performances. Ein Musikstück kann beliebig oft aufgeführt werden. Eine Veranstaltung wird von mindestens einem Vereinsmitglied organisiert und von beliebig vielen Vereinsmitgliedern besucht. Jedes Vereinsmitglied kann beliebig viele Veranstaltungen organisieren und auch beliebig viele Veranstaltungen besuchen. 1

Name MNr Bez [0;*] Instrument Zubehör spielt Eintrittsdatum Vereinsmitglied Musiker [0;*] Chorleiter Chorjahre besucht Bez [0;*] [0;*] Datum [0;*] organisiert [1;*] Veranstaltung [1;5] Ort [0;*] komponiert [1;1] Musikstück [0;*] wird_aufgeführt [0;*] Titel nimmt_teil [1;1] [1;*] [0;*] leitet [1;1] Performance Titel Startzeit Endzeit 2

2 Abbildung eines ER-Diagramms auf das relationale Datenmodell Gegegeben sei folgendes ER-Diagramm: [11 P.] Bez Name Datum LPreis Thema [1;*] zugeordnet [1;*] Modell Verkaufsset [0;*] besitzt [1;*] Grad Werbeset [1;1] Set [1;*] enthält Teil Anzahl Firma SNr Alter [0;*] [0;*] Form CMYK RGB Bild Baustein [1;1] besitzt [0,*] Farbe a) Entwickeln Sie aus dem dargestellten ER-Diagramm ein entsprechendes relationales Datenbankschema [10 P.] anhand der in der Vorlesung erläuterten Abbildungsregeln. Stellen Sie sicher, dass Ihr Datenbankschema die minimale Anzahl von Relationen aufweist. Verwenden Sie das Partitionierungsmodell, um die Vererbung abzubilden. Stellen Sie das resultierende DB-Schema dar, indem Sie die notwendigen Relationenschemata in der Form Relation(Attribut 1, Attribut 2,..., Attribut n ) anführen und dabei jeweils den Primärschlüssel unterstreichen. Gegebenenfalls enthaltene Fremdschlüssel sind zu unterstricheln und durch die aus den Übungen bekannte Pfeilnotation zu spezifizieren: Attr i Rel b.attr j Hinweis zur Semantik von 1:n-Beziehungen: Nach dem dargestellten ER-Diagramm besitzt jeder Baustein genau eine Farbe, während jede Farbe für beliebig viele Bausteine benutzt werden kann. Die Semantik aller anderen 1:n-Beziehungen ist entsprechend. 3

Thema(Bez) Modell(Name, Datum, Grad) zugeordnet(thema Thema.Bez, (Modell, MDatum) (Modell.Name, Modell.Datum)) Farbe(RGB, CMYK) Baustein(Form, Farbe Farbe.RGB) Bild(Baustein Baustein.Form, Bild) Set(SNR, Alter, Thema Thema.Bez) Verkaufsset(SNR Set.SNR, LPreis) Werbeset(SNR Set.SNR, Firma) enthält( Set Set.SNr, Baustein Baustein.Form, Farbe Farbe.RGB, (Modell, MDatum) (Modell.Name, Modell.Datum), Teil-Anzahl ) b) Wieso ist die Verwendung des Hausklassenmodells problematisch? [1 P.] Wird die Vererbung mit dem Hausklassenmodell umgesetzt, so referenziert die enthält-relation lediglich den Entitätentyp Set, aber nicht die erbenden Entitätentypen Verkaufsset und Werbeset. 4

3 Relationale Algebra und SQL Im Folgenden sind vier Relationen mit den unten dargestellten Schemata und Ausprägungen gegeben: [9 P.] Buch Titel Erscheinungsjahr Seitenzahl Verlag Schall und Wahn 1929 304 Diogenes Als ich im Sterben lag 1930 173 Diogenes Hundert Jahre Einsamkeit 1967 480 Fischer Der Fremde 1942 160 rororo Krieg und Frieden 1869 1536 Anaconda Anna Karenina 1878 991 Anaconda Schuld und Sühne 1866 752 Deutscher Taschenbuch Verlag Requiem für einen Traum 1978 316 Rowohlt Der Talisman 1984 714 Heyne Person PID Vorname Nachname Lieblingsbuch Lieblingsbuch Buch.Titel 1 Leo Tolstoi Schuld und Sühne 2 Fjodor Dostojewski Krieg und Frieden 3 Hubert Selby Der Fremde 4 Albert Camus Schuld und Sühne 5 William Faulkner Schuld und Sühne 6 Stephen King Hundert Jahre Einsamkeit 7 Peter Straub Schall und Wahn 8 Gabriel García Márquez Requiem für einen Traum Schreibt Autor Buch 1 Krieg und Frieden 1 Anna Karenina 2 Schuld und Sühne 3 Requiem für einen Traum 4 Der Fremde 5 Schall und Wahn 5 Als ich im Sterben lag 6 Der Talisman 7 Der Talisman 8 Hundert Jahre Einsamkeit Autor Person.PID, Buch Buch.Titel Begutachtet Lektor Buch 2 Anna Karenina 1 Schuld und Sühne 8 Requiem für einen Traum 6 Requiem für einen Traum 5 Der Fremde 4 Als ich im Sterben lag 2 Krieg und Frieden 7 Hundert Jahre Einsamkeit Lektor Person.PID, Buch Buch.Titel 5

a) Übersetzen Sie die folgenden umgangssprachlich formulierten Anfragen in einen zugehörigen Ausdruck der relationalen Algebra. Werten Sie die Ausdrücke aus und geben Sie jeweils die Ergebnisrelation an. i) Die Titel der Bücher, die mehr als 200 Seiten besitzen und nach 1950 erschienen sind. [3 P.] π Titel (σ Seitenzahl>200 Erscheinungsjahr>1950 Buch) Ergebnis = {(Hundert Jahre Einsamkeit), (Requiem für einen Traum), (Der Talisman)} ii) Die Vor- und Nachnamen der Personen, die das Buch mit dem Titel Der Talisman geschrieben haben. π Vorname,Nachname (Person PID=Autor Ergebnis = {(Stephen, King), (Peter, Straub)} (σ Buch= DerTalisman Schreibt)) iii) Die Vor- und Nachnamen der Personen, die ihr Lieblingsbuch begutachtet haben. π Vorname,Nachname (Person PID=Lektor Lieblingsbuch=Buch Begutachtet) Ergebnis = {(Leo, Tolstoi), (Gabriel, García Márquez), (Fjodor, Dostojewski)} b) Interpretieren Sie die folgenden relationen Ausdrücke, indem Sie eine umgangssprachliche Beschreibung sowie die Ergebnisrelation angeben (Hinweis: die Syntax A B entspricht dem relationalen Umbennenungs-Operator, der ein Attribut mit dem Namen B in A umbenennt). i) (π Titel (Buch) π Titel (ρ Titel Buch (Begutachtet))) Buch [3 P.] Die Titel, die Seitenzahl, das Erscheinungsjahr und der Verlag der Bücher, die nie von einem Lektor begutachtet wurden. Ergebnis = {(Schall und Wahn, 1929, 304, Diogenes), (Der Talisman, 1984, 714, Heyne)} 6

ii) π Vorname,Nachname ((π Autor (Schreibt) π Autor (ρ Autor Lektor Begutachtet)) Autor=PID Person) Die Vor- und Nachnamen der Personen, die sowohl als Autor als auch als Lektor tätig waren. Ergebnis = {(Leo, Tolstoi), (Fjodor, Dostojewski), (Albert, Camus), (William, Faulkner), (Stephen, King), (Peter, Straub), (Gabriel, García Márquez)} iii) π Vorname,Nachname (Schreibt Autor=Lektor (Begutachtet Lektor=PID Person)) Die Vor- und Nachnamen der Personen, die sowohl als Autor als auch als Lektor tätig waren. Ergebnis = {(Leo, Tolstoi), (Fjodor, Dostojewski), (Albert, Camus), (William, Faulkner), (Stephen, King), (Peter, Straub), (Gabriel, García Márquez)} c) Übersetzen Sie die folgenden Ausdrücke in entsprechende SQL-Ausdrücke und geben Sie die jeweiligen [3 P.] Ergebnisrelationen an. i) Vor- und Nachnamen der Autoren ohne Duplikate von Büchern mit mehr als 500 Seiten. SELECT DISTINCT Vorname, Nachname FROM Person, Schreibt, Buch WHERE Person.PID=Schreibt.Autor AND Schreibt.Buch=Buch.Titel AND Buch.Seitenzahl>500 = {(Leo, Tolstoi), (Fjodor, Dostojewski), (Stephen, King), (Peter, Straub)} ii) Die Titel aller Bücher, die einen Autor haben, der schon mal ein Buch begutachtet hat. SELECT DISTINCT s.buch FROM Schreibt s, Begutachtet b WHERE s.autor=b.lektor oder (weniger effizient): SELECT DISTINCT Buch FROM Schreibt WHERE Autor IN (SELECT Lektor FROM Begutachtet) 7

oder (noch weniger effizient): SELECT DISTINCT s.buch FROM Schreibt s WHERE EXISTS (SELECT * FROM Begutachtet b WHERE s.autor=b.lektor) = {(Als ich im Sterben lag), (Anna Karenina), (Der Fremde), (Der Talisman), (Hundert Jahre Einsamkeit), (Krieg und Frieden), (Schall und Wahn), (Schuld und Sühne)} iii) π Vorname,Nachname ( Person ( π PID (Person) π Lektor (Begutachtet) )) Natürlichsprachlich: Die Vor- und Nachnamen aller Personen, die noch kein Buch begutachtet haben, ohne Duplikate. SELECT DISTINCT p.vorname, p.nachname FROM Person p WHERE p.pid NOT IN (SELECT b.lektor FROM Begutachtet b) oder (weniger effizient): SELECT DISTINCT p.vorname, p.nachname FROM Person p WHERE NOT EXISTS (SELECT b.lektor FROM Begutachtet b WHERE p.pid=b.lektor) oder (ziemlich direkt übersetzt): SELECT DISTINCT p.vorname, p.nachname FROM Person p, (SELECT PID FROM Person WHERE PID NOT IN (SELECT Lektor FROM Begutachtet)) AS p2 WHERE p.pid=p2.pid = {(Hubert, Selby)} 8

4 Algebraische Optimierung Gegeben seien die aus Aufgabe 3 bekannten Relationenschemata. In jeder der folgenden drei Unteraufgaben sind jeweils drei relationale Ausdrücke angegeben. Alle drei Ausdrücke liefern dasselbe Ergebnis zurück und sind daher semantisch äquivalent. Die jeweiligen Ausdrücke unterscheiden sich jedoch in ihrem Optimierungsgrad. Zeichnen Sie zu jedem relationalen Ausdruck einen Operatorbaum und bestimmen Sie, welcher der drei Operatorbäume den höchsten Optimierungsgrad besitzt. Begründen Sie Ihre Entscheidung mit Hilfe der in der Vorlesung behandelten Optimierungsheuristiken I-VII. ( ( ) A1. π Vorname,Nachname,Titel σ Seitenzahl>200 Verlag=Fischer (Buch) A2. π Vorname,Nachname,Titel (σ Seitenzahl>200 Verlag=Fischer (Buch Person) ) Person ( ( ( A3. π Vorname,Nachname,Titel σ Verlag=Fischer σseitenzahl>200 (Buch) )) Person ) ) [4 P.] π Vorname,Nachname,Titel π Vorname,Nachname,Titel π Vorname,Nachname,Titel σ Seitenzahl>200 Verlag=Fischer σ Seitenzahl>200 Verlag=Fischer σ Verlag=Fischer σ Seitenzahl>200 Buch Person Buch Person Buch Person A1: A2: A3: Gemäß Optimierungsheuristik I sind in den Ausdrücken A1 und A3 alle Selektionen soweit wie möglich zu den einzelnen Relationen verschoben wurden. In Ausdruck A1 sind zudem beide Selektionen zu einer einzelnen zusammengefasst (Optimierungsheuristik IV). Ausdruck A1 besitzt demnach den höchsten Optimierungsgrad. 9