Ü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:

Zeige die Namen der Orte und die Namen der zugehörigen Flughäfen an.

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.