Kurs:Entwicklung eines Datenbanksystems/ERM/Uebung1

Aus Wikiversity
Zur Navigation springen Zur Suche springen


Segeltörn[Bearbeiten]

Eine Yachtagentur will die Törns (Touren) ihrer Segelyachten mit einer Datenbank verwalten. Dabei geht es darum, die Mitfahrer ebenso zu erfassen wie die im Lauf der Tour angelaufenen Häfen. Es gelten folgende Regeln:

Eine Crew setzt sich aus mehreren Mitfahrern zusammen. Mitfahrer müssen nicht unbedingt einer Crew angehören, können aber auch an mehreren Crews beteiligt sein. Eine Crew bezieht sich immer auf genau eine Tour. Während einer Tour kann die Crew aber wechseln. Eine Crew hat eine eindeutige Nummer, außerdem wird in einem Punktesystem ihre seemännische Qualifikation bewertet. Für jeden Mitfahrer einer Crew ist festzuhalten, wann er sich angemeldet hat. Für jeden Mitfahrer wird außerdem gespeichert, ob er im Besitz des Sportbootführerscheins „See“ ist.

Für jede Tour gibt es genau einen Kapitän, ein Kapitän kann natürlich unterschiedliche Touren leiten. Um festzustellen ob ein Kapitän als Leiter einer Tour geeignet ist, werden das Datum seines Kapitänspatents und die Anzahl der von ihm gefahrenen Seemeilen abgespeichert. Kapitäne und Mitfahrer sind Personen, von einer Person werden Nachname und Vorname sowie das Geburtsdatum und eine eindeutige Personennummer gespeichert.

Eine Tour wird immer von genau einer Yacht gefahren, sie hat im System eine eindeutige Schiffsnummer und einen Schiffsnamen. Damit man entscheiden kann, welche Häfen von ihr angelaufen werden können, wird ihr max. Tiefgang gespeichert. Meistens übersteht eine Yacht die erste Fahrt, dann kann sie an weiteren Touren teilnehmen. Für eine Tour wird jeweils Start- und Enddatum festgehalten sowie eine eindeutige Tournummer.

Während einer Tour läuft eine Yacht mehrere Häfen an, das Datum der Ankunft bzw. der Abfahrt ist für jeden Hafen zu speichern. Für einen Hafen sind sowohl das Land, als auch der Ort in dem er sich befindet, von Bedeutung. Außerdem hat er eine bestimmte Tiefe, sodass er nur von Schiffen bis zu einem maximalen Tiefgang angelaufen werden kann. Jeder Hafen erhält eine eindeutige Nummer.

Zusatzaufgabe: Der Auftraggeber möchte sein Angebot erweitern. In Zukunft soll es möglich sein, eine Tour in Teilabschnitten anzubieten. Eine Crew kann dann eine oder mehrere Teilabschnitte einer Tour segeln.



Applications-office.svg
Aufgabe: ER-Modell
  1. Modellieren Sie grafisch die Entitäts- und Beziehungstypen und geben Sie die Schlüsselattribute sowie alle sonstigen im Text erwähnten Attribute an.


Help-browser.svg
Hinweis: Erstellung

Es empfiehlt sich die Erstellung auf dem Blatt Papier. Alternativ gibt es Offlinesoftware wie Wikipedia Dia, Wikipedia yEd oder Onlinesoftware wie lucidshart, draw.io, vgl. Wikipedia Liste von Datenmodellierungswerkzeugen. Die Verwendung von Paint oder einem Schreibprogramm ist nicht empfehlenswert.


Help-browser.svg
Hinweis: Ablauf

Folgender Ablauf hat sich bewährt:

  1. Überlegen Sie sich passende Entitätstypen, z.B. Yacht.
  2. Ordnen Sie dann die Attribute den passenden Entitätstypen zu, z.B. der Tiefgang für die Yacht.
  3. Nachdem die Entitätstypen und die Attribute stehen, können die Beziehungen zwischen den Entitätstypen erstellt werden. Am Ende werden noch die Kardinalitäten hinzufügt, z.B. Eine Yacht fährt beliebige Touren und eine Tour wird von beliebigen Yachten gefahren, also n:m.