Home ] Vorstellung ] Inhalt ] Aufgaben ] Download ] Fehler ] Links ]

 

Aufgabe 2:  Eine Fluggesellschaft

 

 

Struktur dieser Seite:

2.1   Beschreibung des Gegenstandsbereichs

2.2   Konzeptionelles Datenmodell

2.3   Transformation in das logische Datenschema

2.4   Physisches Datenmodell des PowerDesigner 16.5

2.5   Datenbank-Struktur für Access 2016

 

 

2.1      Beschreibung des Gegenstandsbereichs

 

Mehrere Fluggesellschaften möchten unter Verwendung einer ge­mein­sa­men Datenbank-Anwendung die Ausnutzung ihrer „täg­li­chen Linien­flugangebote“ kontrollieren. Ein „tägliches Linienflugangebot“ ist ein regelmäßiger Linienflug, den eine Flug­ge­sellschaft für jeden Tag in gleicher Weise anbietet. Er führt von einem Flughafen A zu einem Flughafen B und beginnt stets zur selben Zeit (wenigstens ist es so geplant).

 

Jede der beteiligten Fluggesellschaften stellt ein oder mehrere täg­liche Linien­flugangebote bereit. Die tägli­chen Linien­flugan­ge­bote ein und derselben Flugge­sellschaft werden durch eine lau­fende Nummer von­einander unter­schieden. Jedes tägliche Linien­flug­angebot hat eine geplante Ab­flugzeit, genau ei­nen Flughafen als Aus­gangspunkt und genau einen Flughafen als Zielpunkt. Die Fluggesell­schaft mit der Kurzbe­zeichnung FA (Fantasia Airlines, Hauptsitz in Utopia City) stellt unter ande­ren das tägli­che Linien­flugangebot mit der lau­fenden Nummer 333 bereit, das vom Flughafen mit dem Code TXL (Berlin-Te­gel, 2 Start/Landepisten) beginnt und auf dem Flughafen mit dem Code UTC (Utopia City, 1 Start/Landepiste) endet. Die geplante Abflug­zeit ist 07:03 Uhr.

 

Im Informationssystem sollen Informationen über die tatsächlich durchgeführten Flüge gespeichert werden. Jeder dieser Flüge ent­spricht genau einem Linienflugangebot, wobei sich die Flüge, die demselben Linien­flugangebot entsprechen, durch den Flug­tag voneinander unter­scheiden. Zu jedem Flug muss außerdem bekannt sein, zu welcher Zeit er tatsächlich begonnen hat und mit welchem Flugzeug er durchge­führt wurde. Der Flug, der am 06.06.2016 ent­sprechend dem oben be­schriebenen Linienflug­an­gebot durch­geführt wurde, hatte beispiels­weise als Abflugzeit 07:44 Uhr und erfolgte mit einem Flugzeug vom Typ „Air wing“, das die Identi­tätsnum­mer 4711 trägt.

 

Für jeden Flug werden ein oder mehrere Flugscheine ausge­ge­ben. Ein Flugschein kann den Status „open“ haben, kann also noch keinem Flug zugeordnet sein. Will niemand mit diesem Flug mitfliegen, findet der Flug erst gar nicht statt. Jeder Flug­schein ge­hört zu einem Flugticket. In einem Flugticket können mehrere Flugscheine zusammengefasst sein (falls eine Reise aus mehreren Flügen besteht). Die einzelnen Flugscheine innerhalb eines Flugtickets werden durch eine laufende Num­mer von­ein­ander un­ter­schieden und durch die Flugklasse näher be­stimmt.

 

Die Flugtickets müssen von einem autorisierten Reisebüro ausge­stellt werden. Beispiels­weise enthält das Flugticket, das vom Rei­se­büro „Kurze Ferien“ (15230 Frankfurt/Oder, Bahnhofsplatz 2, 120 m2 Verkaufsfläche, 2 Mit­arbeiter) un­ter der vom Reise­büro ver­gebenen laufenden Nummer 112233 am 05.05.2016 zum Preis von 123,45 Euro verkauft wurde, nicht nur einen Flug­schein für den angegebe­nen Flug in der Flugklasse BC, sondern auch noch weitere Flugscheine. Dieses Ticket wurde an den Passagier Vera Cruz (15234 Frankfurt/Oder, Akazienweg 1, weiblich) ver­kauft, die schon zuvor oftmals geflogen ist.

 

Weiterhin ist zu beachten:

 

·       Fluggesellschaften, die keine täglichen Linienflugangebote bereitstellen und die keine Flugzeuge besitzen, werden nicht be­rück­sichtigt.

·             

·        In Vorbereitung auf eventuelle Erweiterungen der Linienflug­angebote werden auch Flughäfen erfasst, die bisher noch für kein Linienflugangebot der Fluggesellschaften Start- oder Lande-Flughafen sind.

 

·       Zu einem neuen Linienflugangebot wurden noch kein Flug durchgeführt.

·             

·       Die Identitätsnummer eines Flugzeugs ist nur innerhalb der Fluggesellschaft unikal, der es gehört. Ein neues Flugzeug hat noch keinen Flug absolviert.

·             

·       Innerhalb eines Postleitzahl-Bezirks kann es nicht mehrere namensgleiche Reisebüros geben. Ein Reisebüro wird erfasst, ehe es das erste Flugticket verkauft hat.

·             

·       Unabhängig vom konkreten Reisebüro werden bei einer Ver­kaufsfläche von 120 m2 stets 2 Mitarbeiter beschäftigt. Die be­reits vorgesehene Verkaufsfläche von 250 m2 (mit 5 Mitar­beitern) gibt es noch in keinem Reisebüro.

 

 

2.2      Konzeptionelles Datenmodell

 

 

Bemerkungen:

 

·       Da sich die Linienflugangebote, die von ein und derselben Fluggesell­schaft bereitstellt werden, durch eine laufende Num­­mer von­einan­der unterscheiden, erfolgt die Identifizie­rung des Objekt­­typs „Linienflugangebot“ durch die Kombi­na­­­tion aus der Beziehungstyp-Richtung „Linienflugangebot wird bereit­gestellt von Fluggesellschaft“ und der Eigenschaft „Angebots-Nr“.

 

·        Ein Flughafen ist nicht – für sich genommen – ein „Start-Flughafen“ oder ein „Ziel-Flughafen“. Das ist eine Frage der sachlogi­schen Zusam­men­hänge zwischen dem Linienflugan­ge­bot und den Flug­häfen. Es müssen also zwei „parallele“ Be­ziehungstypen zwi­schen „Linien­flug­angebot“ und „Flugha­fen“ modelliert wer­den. Das Datenmodell schließt nicht aus, dass ein Linienflugangebot den­sel­ben Flughafen als Start- und Ziel-Flughafen hat (Rundflug).

 

·       Die durchgeführten Flüge, die demselben Linienflugangebot entsprechen, unterscheiden sich voneinander durch den Flugtag. Deshalb wird der Objekttyp „Flug“ durch die Kom­bi­nation aus der Beziehungstyp-Richtung „Flug entspricht Linien­flugan­gebot“ und der Eigenschaft „Flugtag“ identifi­ziert.

 

·       Die Speicherung der tatsächlichen Abflugzeit („Ist-Abflug­zeit“) zusätzlich zur geplanten Abflugzeit („Soll-Abflugzeit“) bringt keine Redundanz mit sich. Jeder, der schon einmal geflogen ist, weiß, dass diese beiden Zeiten nur in einem „losen Zusammenhang“ stehen.

 

·       Da die Ident-Nummer eines Flugzeugs von der Fluggesell­schaft vergeben wird, der es gehört, erfolgt die Identifi­zie­rung des Ob­jekttyps „Flugzeug“ durch die Kombination aus der Beziehungstyp-Richtung „Flugzeug gehört Fluggesell­schaft“ und der Eigenschaft „Ident-Nr“.

 

·       Es werden nur die tatsächlich durchgeführten Flüge gespei­chert. Deshalb muss es zu jedem Flug wenigstens einen Flugschein geben (keine Optionalität!).

·             

·       Der Flugschein wird über seine Beziehung zum Flugticket und durch seine Eigenschaft „Flugschein-Nr“ identifiziert.

 

·        Das Flugticket wird über seine Beziehung zum Reisebüro und durch seine Eigenschaft „Ticket-Nr“ identifiziert.

 

·       Es werden nur Passagiere gespeichert, die wenig­stens ein Flugticket gekauft haben. Somit ist die Bezie­hungstyp-Rich­tung „Pas­sagier kauft Flugticket“ nicht-optio­nal.

 

·       Da die Mitarbeiteranzahl von der Verkaufsfläche funktional ab­hängt, muss diese Abhängigkeit im Rahmen eines geson­derten Objekttyps „Verkaufsfläche“ dargestellt werden und nicht innerhalb des Objekttyps „Reisebüro“, denn das wäre eine Verletzung der 3. Normalform.

 

 

2.3      Transformation in das logische Datenschema

 

Zunächst werden die Objekttypen in Tabellen transformiert (Transformationsregel T01). Danach erfolgt die Transformation der Beziehungstyp-Richtungen, die als identifizierende Elemente für die „schwachen“ Objekttypen verwendet wurden (Transforma­tionsregel T02). Im Ergebnis dieser beiden Transformationen ergeben sich die folgenden vorläufigen Tabellen-Typbeschreibun­gen:

 

 

Fluggesellschaft ( Flugges-Kurzbez,Name,Hauptsitz )

Linienflugangebot ( ÝFlugges-KurzbezÝ+Angebots-Nr,Soll-Abflugzeit )

Flughafen ( Flughafen-Code,Name,Zahl S/L-Pisten )

Flug ( ÝFlugges-Kurzbez+Angebots-NrÝ+Flugtag,Ist-Abflugzeit )

Flugzeug ( ÝFlugges-KurzbezÝ+Ident-Nr,Typ )

Flugschein ( ÝBüro-Name+PLZ+Ticket-NrÝ+Flugschein-Nr,Flugklasse,Status )

Flugticket ( ÝBüro-Name+PLZÝ+Ticket-Nr,Datum,Preis )

Reisebüro ( Büro-Name+PLZ,Stadt,Straße/Hausnr )

Passagier ( Name+Adresse,Geschlecht )

Verkaufsfläche ( Größe,Mitarbeiteranzahl )

 

Dabei wurden folgende Fremdschlüssel in die Primärschlüssel aufgenommen:

 

Primärschlüssel

des Objekttyps

wird aufgenommen in

Primärschlüssel von

Flugges-Kurzbez

Fluggesellschaft

Þ

Linienflug­angebot

Flugges-Kurzbez+Angebots-Nr

Linienflugangebot

Þ

Flug

Flugges-Kurzbez

Fluggesellschaft

Þ

Flugzeug

Büro-Name+PLZ

Reisebüro

Þ

Flugticket

Büro-Name+PLZ+Ticket-Nr

Flugticket

Þ

Flugschein

 

 

Im nächsten Schritt werden die dualen Beziehungstypen in das relationale Datenbank-Modell transformiert (Transformationsre­geln T03 bis T12). Die veränderten Typbeschreibungen sind jeweils durch einen Stern gekennzeichnet:

 

    Fluggesellschaft ( Flugges-Kurzbez,Name,Hauptsitz )

*  Linienflugangebot ( ÝFlugges-KurzbezÝ+Angebots-Nr,ÝStart-FlughafenÝ,ÝZiel-FlughafenÝ,Soll-Abflugzeit )

    Flughafen ( Flughafen-Code,Name,Zahl S/L-Pisten )

*  Flug ( ÝFlugges-Kurzbez+Angebots-NrÝ+Flugtag,Ý [Flugges-Kurzbez+] Ident-NrÝ,Ist-Abflugzeit )

    Flugzeug ( ÝFlugges-KurzbezÝ+Ident-Nr,Typ )

*  Flugschein ( ÝBüro-Name+PLZ+Ticket-NrÝ+Flugschein-Nr,
                       
ÝFlugges-Kurzbez+Angebots-Nr+FlugtagÝ,Flugklasse,Status )

*  Flugticket ( ÝBüro-Name+PLZÝ+Ticket-Nr,ÝPassagier-Name+AdresseÝ,Datum,Preis )

*  Reisebüro ( Büro-Name+PLZ,ÝGrößeÝ,Stadt,Straße/Hausnr )

    Passagier ( Name+Adresse,Geschlecht )

    Verkaufsfläche ( Größe,Mitarbeiteranzahl )

 

 

Bemerkungen:

 

·       Die folgenden 1:N‑Beziehungstypen können lediglich unter Seman­tikverlust als 1:CN‑Beziehungstypen, also gemäß der Trans­forma­tionsregel T09, repräsentiert werden:      

 

Fluggesellschaft

ßà

Linienflugangebot

Fluggesellschaft

ßà

Flugzeug

Flugticket

ßà

Flugschein

Passagier

ßà

Flugticket

 

Es kann also durch die Tabellen-Typbeschrei­bungen nicht ge­sichert werden, dass

Ø  eine Fluggesellschaft mindestens ein Linienflugangebot be­reitstellt,

Ø  eine Fluggesellschaft wenigstens ein Flugzeug besitzt,

Ø  ein Flugticket mindestens einen Flugschein enthält,

Ø  ein Passagier zumindest ein Flugticket gekauft hat.

 

·       Der C:N‑Beziehungstyp zwischen „Flug“ und „Flugschein“ lässt sich nur als C:CN-Beziehungstyp re­präsentieren. Durch die Tabellen-Typ­beschreibung kann also nicht garantiert werden, dass es zu einem durchgeführten Flug minde­stens einen Flug­schein gibt (ein Flug­zeug kann somit auch ohne einen einzigen Passagier flie­gen!).

 

Für den C:CN-Beziehungstyp stehen zwei Transformations­re­geln zur Verfügung:

 

a)   Transformationsregel T10 (die meisten Flugscheine sind für einen konkreten Flug ausgestellt),

b)  Transformationsregel T11 (fast alle Flugscheine haben den Status „open“).

 

Es wurde angenommen, dass der Fall a) vorliegt. Deshalb wur­de keine Koppel-Tabelle eingeführt. Stattdessen wurde in die Tabelle „Flugschein“ ein nicht-eingabepflichtiger Verweis auf den „Flug“ aufgenommen (deshalb der Kursivdruck!).

 

·       Da der Primärschlüssel der Tabelle „Flughafen“ zweimal als Fremdschlüssel in die Tabelle „Linienflugangebot“ aufge­nom­men werden muss, wurden die sich sonst doppelnden Be­nen­­nungen „Flughafen-Code“ in „Start-Flughafen“ bzw. „Ziel-Flug­hafen“ umbenannt.

 

·     In der Tabelle „Flug“ müsste der Primärschlüssel der Flugge­sellschaft Flugges-Kurzbez eigentlich zweimal auftauchen:

a)       als Bestandteil des Primärschlüssels:

            ÝFlugges-Kurzbez+Angebots-NrÝ+Flugtag

b)      als Bestandteil des Verweises auf das Flugzeug:

            ÝFlugges-Kurzbez+Ident-NrÝ

Geht man jedoch davon aus, dass die Fluggesellschaft, die das Li­ni­en­flug­angebot bereit­stellt, stets identisch ist mit der­jenigen, der das Flug­zeug gehört, dann muss ihr Primär­schlüssel na­türlich nicht zweimal gespeichert werden. Er wurde des­halb beim Ver­weis auf das Flugzeug in eckige Klam­mern gesetzt:

Ý [Flugges-Kurzbez+] Ident-NrÝ

 

Als zusätzliches Attribut wird lediglich die „Ident-Nr“ aufge­nommen. Die „Ident-Nr“ bildet dann gemeinsam mit dem Attribut „Flug­­ges-Kurzbezaus dem Primärschlüssel den Ver­weis auf das Flugzeug.

 

 

·       In der Tabelle „Flugticket“ wurde der ursprüngliche Primär­schlüs­sel Name+Adresse der Tabelle „Passagier“ im Inte­resse der bes­­seren Ver­ständ­lichkeit in die „sprechendere“ Benennung ÝPassagier-Name+AdresseÝ um­benannt.

 

 

 

2.4      Physisches Datenmodell des PowerDesigner 16.5

 

 

 

 

2.5      Datenbank-Struktur für Access 2016

 

 

 

Home ] Vorstellung ] Inhalt ] Aufgaben ] Download ] Fehler ] Links ]