Angabe zum zweiten Beispiel des Laborübungsteils aus Datenmodellierung WS08

Günther Charwat, Verena Charwat, Markus Pichlmair, Katrin Seyr

dm@dbai.tuwien.ac.at



Allgemeines

In diesem Übungsteil sollten Sie den Entwurf einer kleinen Datenbank üben. Sie müssen im ersten Schritt aus den unten stehenden Texten, die einen Ausschnitt der realen Welt beschreiben, ein ER Modell erstellen. [In Ihrer beruflichen Praxis werden Sie solche Texte gemeinsam mit dem Kunden in mehreren Gesprächen erstellen müssen.]

Nach der Erstellung des ER Modells führen Sie dieses in ein Relationenmodell über. Das Relationenmodell stellt dann die Grundlage für die Generierung der Datenbank dar.

Bitte versuchen Sie nach Möglichkeit die Beispiele eigenständig zu lösen, denn in der Praxis (und bei der Prüfung) sind Sie auch auf sich alleine gestellt.

Zeichnen Sie für die folgenden Angaben jeweils das ER-Diagramm in der (MIN, MAX) - Notation. Eine Unterstützung bei der Erstellung von ER Diagrammen bietet das Tool dia (http://live.gnome.org/Dia; Achtung: im Diagramm Editor ER auswählen!). Bei der Umwandlung in das Relationenmodell beachten Sie bitte, dass Sie möglichst wenig Relationen verwenden. Unterstreichen Sie sämtliche Primärschlüssel, schreiben Sie die Fremdschlüssel kursiv und stellen Sie sicher, dass ein Fremdschlüssel eindeutig der passenden Relation zugeordnet werden kann.


Ein Beispiel zur Notation

Ein Institut hat einen eindeutige Nummer, einen Namen und eine Adresse. Ein Lektor identifiziert sich anhand seiner Sozialversicherungsnummer, und hat einen Namen. Er ist genau einem Institut zugeordnet, ein Institut kann keine oder mehrere Lektoren haben. Weiters gibt es Lehrveranstaltungen, wobei diese eine eindeutige Nummer haben und einen Titel. Ein Lektor kann mehrere Lehrveranstaltungen leiten, eine Lehrveranstaltung kann von mehreren Lektoren geleitet werden, hat aber mindestens einen Leiter.

Das obige ER-Diagramm wird wie folgt im Relationenmodell dargestellt:

Institut (Nr, Name, Adresse)
Lektor (SVNr, Name, Institut.Nr)
LVA (Nr, Titel)
geleitet (LVA.Nr, Lektor.SVNr)


Das Abgabegespräch

  1. Sie müssen sich über den LVAManager zu einem Abgabegespräch anmelden. Bitte machen Sie das rechtzeitig, je später Sie sich anmelden, umso eingeschränkter ist das Terminangebot.

  2. Sie müssen das erste und eines der zwei anderen untenstehenden Beispiele vollständig ausgearbeitet haben (ER-Modell, Relationenmodell und alle in den Aufgaben beschriebenen Varianten).

  3. Sie müssen rechtzeitig innerhalb der Upload-Frist Ihre Lösung über den LVAManager abgeben (in .pdf Format). Sollten Sie sich zu einem Abgabegespräch angemeldet haben, allerdings bis zum Ende der Upload-Frist keine Datei hochgeladen haben, so wird Ihre Anmeldung für das Abgabegespräch gelöscht und es ist auch keine Abgabe möglich. Beachten Sie beim Upload Ihrer Lösung die im LVAManager angezeigten Hinweise.

  4. Sie kommen im Informatiklabor (http://www.inflab.tuwien.ac.at/) mit Studentenausweis zu der von Ihnen reservierten Zeit vorbei, und absolvieren das Abgabegespräch. Grundlage ist das im LVA Manager vorhandene File.

  5. Sie haben maximal 20 Minuten für Ihre Abgabe.
  6. Sie können maximal 15 Punkte bei der Abgabe erreichen. Diese setzen sich wie folgt zusammen:
    6 Punkte:
    Zwei ER-Modelle vollständig gelöst und eines davon genau erklärt.
    5 Punkte:
    Die zwei dazugehörigen Relationenmodelle vollständig gelöst und eines davon genau erklärt.
    4 Punkte:
    Zwei Theoriefragen richtig beantwortet.
  7. Die Tutoren tragen ein Protokoll des Abgabegesprächs in den LVAManager ein und Sie ersehen ebendort, wieviele Punkte Sie bekommen haben.


Beispiel: Kino

Angabe

In einem Kino soll die Verwaltung in Zukunft mithilfe einer Datenbank erfolgen. Ihre Aufgabe ist es nun, diese Datenbank entsprechend der folgenden Informationen zu modellieren.

Die Säle des Kinos sind durch einen Namen eindeutig identifiziert. Für jeden Saal ist die Größe der vorhandenen Leinwand bekannt sowie ob dieser Saal einen digitalen oder analogen Projektor besitzt. Optional kann zu einem Saal auch ein Plan als Bilddatei gespeichert werden. Jeder Saal hat 20 bis 200 Sitzplätze. Von den Plätzen sind jeweils Reihe und Sitznummer bekannt, wobei die Kombination aus Reihe und Nummer einen Sitzplatz pro Saal eindeutig identifiziert (Ein bestimmter Sitzplatz des Kinos kann also beispielsweise durch 'Großer Kinosaal 1', Reihe '7', Platz '13' angegeben werden.)

Die im Kino gespielten Filme haben eine eindeutige ID, Titel, Erscheinungsjahr, Spieldauer sowie ein Alter, ab dem sie freigegeben sind. Um vermerken zu können, wann welcher Film in welchem Saal gespielt wird, gibt es Filmslots. Jeder Filmslot erhält eine eindeutige ID. Zusätzlich werden Datum und Uhrzeit gespeichert. Weiters wird vermerkt, zu welchem Saal der Filmslot gehört. Für jeden Filmslot wird gespeichert, welcher Film gespielt wird.

Das Kino vermerkt alle registrierten Kunden in seiner Datenbank. Für jeden Kunden gibt es eine eindeutige ID, weiters werden Vorname, Nachname, Adresse, Geburtsdatum, E-Mailadresse, das Datum der Registrierung und bisher gesammelte Treuepunkte gespeichert.

Die verkauften Tickets werden mit einer fortlaufenden eindeutigen Nummer gekennzeichnet. Weiters wird das Verkaufsdatum vermerkt. Jedes Ticket gehört zu einer Ticketgruppe, in welcher der Preis und die eindeutige Bezeichnung (z.B. Studentenkarte, Vollpreiskarte, ...) vermerkt werden. Für jedes Ticket ist natürlich bekannt, welcher Platz damit verkauft wird. Für welchen Film das Ticket gültig ist, wird durch eine Zuordnung zum entsprechenden Filmslot festgelegt.

In der Datenbank soll gespeichert werden, an welcher Kassa ein Ticket verkauft wird. Für jede Kinokassa ist ihre eindeutige Schalternummer bekannt. Für Tickets, welche an registrierte Kunden verkauft werden, soll es möglich sein, zu speichern, welcher Kunde an welcher Kassa welches Ticket gekauft hat.

In dem Kino werden auch Snacks verkauft. Jeder Snack weist eine eindeutige Bezeichnung, sowie eine Portionsgröße und einen Preis auf. Die Snacks werden bei Buffets des Kinos verkauft, wobei jedes Buffet zur Identifizierung eine Nummer erhält. Für jedes Buffet wird vermerkt, welche Snacks dort angeboten werden, wobei ein Buffet mindestens zwei Snacks im Angebot hat. Weiters ist bekannt, welche Menge eines Snacks von welchem Buffet verkauft wurde.

Aufgaben


Beispiel: Radiostation

Angabe

Der Besitzer einer kleinen Radiostation würde gerne wichtige Informationen über seine Station in einer Datenbank verwalten. Sie erhalten dazu eine Mitschrift der Beschreibung seines Betriebs:

"Die Datenbank, welche wir verwenden wollen, soll grundsätzlich dazu dienen, unsere Mitarbeiter zu verwalten und zu wissen, welcher Mitarbeiter woran arbeitet, sowie festzulegen, was zu welcher Uhrzeit gesendet wird.

Meine Radiostation beschäftigt im Moment 21 Mitarbeiter, von denen ich neben den üblichen Personendaten auch den Ausbildungsstand, das Gehalt und die bisherigen Jahre an beruflicher Erfahrung vermerken möchte. Wir haben acht Journalisten, die sich um die Recherche für Nachrichtenbeiträge bemühen, welche wir in unseren stündlichen Nachrichtensendungen aussenden. Meistens ist genau ein Journalist für einen Nachrichtenbeitrag zuständig. Bei komplizierteren Beiträgen können aber auch mehrere verantwortlich sein. Momentan müssen unsere Journalisten handschriftliche Aufzeichnungen darüber führen, wie lange sie an welchem Beitrag gearbeitet haben. Für jeden Beitrag suchen sie einen prägnanten Titel und legen fest, welcher Text gesprochen werden soll. Ein Nachrichtenbeitrag kann natürlich bei mehreren Nachrichtensendungen gesendet werden.

Weiters beschäftigen wir sieben Moderatoren. Für jeden Moderator habe ich zwei andere Moderatoren eingeteilt, die diesen bei Krankheit oder Urlaub vertreten. Die Moderatoren sprechen unsere Nachrichtensendungen. Die Beiträge einer Nachrichtensendung werden immer alle vom selben Moderator gebracht. Bei den sonstigen Sendungen, wie zum Beispiel Diskussionsrunden, ist das anders: Hier sind bis zu drei Moderatoren beteiligt. Viele unserer Sendungen sind Teil einer Sendereihe. Wir vergeben dann für jede Folge eine Nummer. Im Moment ist unsere Sendereihe mit dem Namen ``Großes Herz für kleine Tiere'' sehr beliebt. Täglich wird eine Folge ausgestrahlt, in der wir versuchen einen Platz für ein bestimmtes Tier aus dem Tierheim zu finden. Oft haben wir für unsere Sendungen auch Gastteilnehmer geladen. Dadurch werden unsere Sendungen lebendiger. Gäste, die wir für eine Sendung einladen wollen, informieren wir im Vorfeld per Post oder E-Mail - je nachdem welche Adresse uns bekannt ist.

Zwischen Nachrichtensendungen und anderen Sendungen spielen wir Musikhits aus allen Jahrzehnten. Kriterien für die Auswahl unserer Musikstücke sind die Länge eines Stücks, der Interpret, das Genre und auch ob das Lied zu bestimmten Anlässen wie etwa Weihnachten, oder Ferien passt. Um die Arbeit meiner Redakteure zu erleichtern, sollte unsere neue Datenbank die Möglichkeit bieten nach einem Anlass zu suchen und alle passenden Musikstücke dazu zu finden. Unsere Musikstücke sind in Alben von jeweils einem Interpreten zusammengefasst. Wir haben für jedes Album eine eigene Nummer vergeben und die zugehörigen Lieder nummeriert.

Unsere Redakteure machen für Nachrichtensendungen, alle anderen Sendungen und Musikstücke Einträge in einen Zeitplan. Aus diesem Zeitplan geht hervor, was an welchem Tag zu welcher Uhrzeit gesendet wird. Natürlich wird nicht alles live gesendet. Manches wird öfters wiederholt. Zur Planung ist es wichtig, dass wir immer wissen, wie lange eine Nachrichtensendung, eine Sendung oder ein Musikstück dauert."

Aufgaben / Hinweise


Beispiel: Theater

Angabe

Die Betreiberin eines kleinen Theaters möchte einige Modernisierungen vornehmen. Unter Anderem soll die Administration durch Einsatz von EDV erleichtert werden. Die Betreiberin hat sich an Sie gewendet, um sie beim Entwurf einer Datenbank zu unterstützen. In dieser Datenbank sollen die Aufführungen mit den beteiligten Schauspielern sowie benötigten Bühnenbildern und Requisiten verwaltet werden.

Ihnen steht folgendes Protokoll einer Besprechung mit der Theaterbetreiberin zur Verfügung:

"Ich habe in meinem Theater zur Zeit etwa 25 Mitarbeiter. Davon sind 15 fix angestellt und bekommen ein bestimmtes Gehalt. Von jedem meiner Mitarbeiter muss ich seine Personendaten kennen; insbesondere auch die Sozialversicherungsnummer, den Zuständigkeitsbereich und bei den fix angestellten Mitarbeitern das Einstellungsdatum. Wie in jedem Theater sind die Schauspieler meine wichtigsten Mitarbeiter. Wegen der Rollenzuteilung muss ich von ihnen das Alter und ihre Schauspielerfahrung kennen.

Unsere Theaterstücke spielen wir meist über einen Zeitraum von 3 bis 6 Monaten immer wieder. Diesen Zeitraum möchte ich auf jeden Fall in der Datenbank vermerken, ebenso wie den Titel des Stücks, von wem es geschrieben wurde, wer von uns bei der Inszenierung Regie führt, sowie die Dauer des Stücks und einen kurzen Text zur Beschreibung. Die meisten Stücke bestehen aus mehreren Akten. Für jedes Stück sind die zugehörigen Akte durchnummeriert.

In jedem Theaterstück kommen ein oder mehrere Rollen vor. Jede Rolle gehört immer zu genau einem Theaterstück. Keine Rollenbezeichnung wie zum Beispiel 'Wilhelm Tell' oder 'Hexe 1' kommt in einem Theaterstück mehrfach vor. Meine Schauspieler beherrschen diverse Rollen, wobei Rollen oft auch mehrfach besetzt sind. Das ist vor allem bei den Hauptrollen wichtig, damit wir die Vorstellung nicht bei Ausfall eines Schauspielers absagen müssen.

Um einen bleibenden Eindruck bei unserem Publikum zu hinterlassen, haben wir immer prächtige Kulissen. Alle unsere Kulissen sind nach ihrem Namen sortiert, zum Beispiel arbeiten wir gerade an der Kulisse ``Sonnenuntergang in den Tiroler Bergen''. Für die Planung ist es essentiell zu wissen wie lange der Auf- und Abbau einer Kulisse dauert. Eine Kulisse besteht oft aus mehreren Bestandteilen, die jeweils zu genau einer Kulisse gehören und entsprechend nummeriert sind. Außerdem brauchen wir zu jedem Bestandteil eine Anleitung zur Montage. Weiters haben wir immer geplant, welche Kulisse in welchem Akt zum Einsatz kommt und an welcher Stelle des Akts. Natürlich werden einige Kulissen auch öfters verwendet.

Bei der Ausstattung unterscheiden wir Kostüme, Mobiliar und Requisiten. Ich möchte aus der Datenbank zu jedem Ausstattungsgegenstand leicht erkennen können, worum es sich handelt: also etwa um einen Tisch, eine rote Perücke, einen Wasserkrug ...Zu jeder Ausstattung wissen wir in welchem Akt eines Stücks sie verwendet wird. Wichtig wäre mir auch, dass man zur Art der Verwendung immer einen kurzen Hinweis vermerken kann. Alle Rollen haben bestimmte Kostüme zugeteilt.

Das Herzstück meines Theaters bilden natürlich die Aufführungen der Stücke. Bei der Planung bestimme ich, an welchem Tag und zu welcher Uhrzeit eine Aufführung auf unserer Bühne stattfindet. Außerdem ist immer festgelegt, von welchem Schauspieler welche Rolle gespielt wird und welches Honorar der Schauspieler dafür erhält. Oft übernimmt ein Schauspieler auch mehrere Rollen bei derselben Aufführung."

Aufgaben / Hinweise


2008-10-20