Dies ist eine alte Version des Dokuments!
Übung 1
ER-Modellierung eines Krankenhauses
Betrachte die folgenden Anforderungen für eine Datenbank zur Verwaltung von Krankenhäusern und erstelle daraus ein ER-Modell:
- Ein Krankenhaus trägt eine eindeutige Kennzeichnung, hat einen Namen und eine Adresse.
- In den Krankenhäusern arbeiten Ärzte. Wichtige Informationen über die Ärzte sind Nummer der Zulassung, Fachgebiet (z.B. Chirurg) und ihr akademischer Titel.
- Eine Krankenhausstation hat einen Namen (z.B. Station 74) und eine Spezialisierung (z.B. Intensivstation, Kardiologie)
- Jedes Krankenhaus hat eine oder mehrere Stationen. Jede Station gehört zu genau einem Krankenhaus.
- In jedem Krankenhaus arbeiten ein oder mehrere Ärzte. Jeder Arzt kann nur an einem Krankenhaus arbeiten.
Übung 2
ER-Modellierung eines Online-Buchhandles
Betrachte die folgenden Anforderungen für eine Datenbank zur Verwaltung eines Online-Buchhandels und erstelle daraus ein ER-Modell:
- Der Kunde soll aus dem Katalog die verfügbaren Titel mit ihren Preisen heraussuchen können, dabei soll er auch nach dem Genre suchen können.
- Der Kunde kann in einer Bestellung mehrere Bücher bestellen.
- Ein Kunde kann mehrere Male bestellen.
- Man soll alle Bücher eines Kunden auflisten können, sowie einen Lieferschein mit jeder Position einer Bestellung
- Es müssen Informationen über Bücher gespeichert werden.
- Für jedes Buch sind Titel, Autor, Erscheinungsdatum und Genre wichtig.
- Kunden können Bücher bestellen.
Übung 3
ER-Modellierung eines Filmstudios
Betrachte die folgenden Anforderungen für eine Datenbank zum Speichern von Filmstars und Filmen und erstelle daraus ein ER-Modell
- Es müssen Informationen über Filme gespeichert werden.
- Für jeden Film sind Titel, Datum der Uraufführung, Genre und Homepageadresse wichtig.
- Filme können Preise bekommen (z.B. Oscar, Bambi,…)
- Für den Preis sind Name, Kategorie und Jahr des Verleihs wichtig
- Jeder Film wird von einem Studio produziert, das einen Namen und Adresse hat.
Übung 4
Datenbankmodellierung
Ein Reiseveranstalter organisiert die Hotels in seinem Angebot mit einer Datenbank. Es soll möglich sein, eine Übersicht über einige Informationen zu den Hotels zu erhalten:
- Name des Hotels, Bewertung („Sterne“), Distanz zum Strand (in Metern)
- Name des Ortes
- Dauer des Bustransfers vom Flughafen zur Ortsmitte (in Minuten)
- Name des Flughafens, Kürzel des Flughafens, Flugzeit (ab Stuttgart; in Minuten)
In einem Ort liegen mehrere Hotels, von einem Flughafen aus werden mehrere Orte bestellt.
Beispiel
Hotelname | Kategorie | Distanz zum Strand | Ort | Transferzeit | Flughafen | Kürzel | Flugzeit |
---|---|---|---|---|---|---|---|
Arena Dorado | 3 | 150 | Puerto del Carmen | 45 | Arrecife | ACE | 230 |
Los Hibiscos | 4 | 200 | Puerto del Carmen | 45 | Arrecife | ACE | 230 |
Bahia Blanca | 5 | 50 | Playa Blanca | 30 | Arrecife | ACE | 230 |
Oceanis Beach Resort | 4 | 50 | Psalidi | 75 | Kos | KGS | 150 |
Aufgaben:
- Erstelle ein ER-Diagramm, in dem die verschiedenen Entitätstypen mit ihren Attributen dargestellt werden. Gebe den Attributen geeignete Namen.
- Stelle im ER-Diagramm dar, wie die Entitäten miteinander in Beziehung stehen.
- Lege geeignete Primärschlüssel für jeden Entitätstyp fest. Füge die nötigen Fremdschlüssel ein, um die nötigen Beziehungen herzustellen.
- Erstellen nun diese Datenbank in MYSQL. Erzeuge dazu in deiner Datenbank für die Entitätstypen Tabellen, in denen die gewünschten Attribute gespeichert werden können. Denk daran, die Primärschlüssel festzulegen.
- Trage die Beispieldaten von dieser Seite in die Tabelle ein.
- Schreibe eine SQL-Abfrage, um die Namen der Hotels und die Namen der zugehörigen Orte auszugeben.
- Schreibe eine SQL-Abfrage, um die Daten wie in der Beispieltabelle abzufragen.
- Schreibe folgende SQL-Abfrage:
(a) Zeige die Namen der Orte und die Namen der zugehörigen Flughäfen an. (b) Zeige die Hotels, ihre Kategorie und ihre Orte an, sortiere sie absteigend nach der Kategorie. © Zeige für alle Hotels ihre Namen und die zugehörigen Flughäfen an. Berechne in einer weiteren Spalte die Gesamtreisezeit.