ER-Modell Datenbank

Werbung
PostgreSQL
November 2012
E3A
ER-Modell _ Datenbank
Angenommen, du sollst für eine international tätige Event-Management-Firma eine Datenbank erstellen. Die Events werden durchnummeriert (automatisch fortlaufende Nummer),
tragen einen Titel, eine Beginn- und eine Endzeit (Datum inklusive Uhrzeit minutengenau).
Ein Event findet an einem Veranstaltungsort (venue) statt.
Ein Veranstaltungsort weist eine eindeutige Nummer auf (fortlaufend), einen Namen (zum
Beispiel »Wiener Oper«), eine Adresse (zum Beispiel »Opernring 2«). Ein Veranstaltunsort
kann nur privat (private) oder öffentlich (public) sein, standardmäßig ist ein Veranstaltungsort public. Jeder Veranstaltungsort liegt in einem Ort, zu dem der Name und die Postleitzahl
(können wie in Kanada aus einer Kombination von Buchstaben und Ziffern bestehen) gespeichert werden. Da die Postleitzahl nicht eindeutig ist (4600 ist der Ort Olten in der Schweiz
und Wels in Österreich), wird noch der Ländercode (genau zweistellig) gespeichert. Beide
gemeinsam ergeben eine Eindeutigkeit.
Um einen Veranstaltungsort eindeutig einer Stadt zuordnen zu können, wird ein mehrspaltiger
Fremdschlüssel angelegt (Achtung!!!).
cities
countries
country_code*
country_name
postal_code*
country_code*
name
has
contains
venues
events
event_id*
title
starts
ends
venue_id
venue_id*
name
street_address
type
postal_code
country_code
hosts
Abbildung 1: ER-Diagramm
(Attribute mit * sind Primärschlüssel, kursiv geschriebene sind Fremdschlüssel)
1
E3A
Informatik
1. Gib die Städte aus, in denen keine Veranstaltungen eingetragen sind.
2. Gib aus, in welchem Veranstaltungsort wie viele Veranstaltungen eingetragen sind (absteigend nach der Anzahl sortiert).
3. Gib die Länder und die Anzahl der abgehaltenen Veranstaltungen pro Land aus.
4. Erstelle eine Regel, die bei einem Einfügen eines events prüft, ob der Endezeitpunkt
nach dem Startzeitpunkt liegt. Wenn nein, soll eine Meldung ausgegeben und das event
nicht eingefügt werden.
5. Welche Veranstaltungen finden in den nächsten 30 Tagen statt?
2
Herunterladen