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

 

Aufgabe 5:  Eine Tankstellenkette

 

 

Struktur dieser Seite:

5.1   Beschreibung des Gegenstandsbereichs

5.2   Konzeptionelles Datenmodell

5.3   Transformation in das logische Datenschema

5.4   Physisches Datenmodell des PowerDesigner 16.5

5.5   Datenbank-Struktur für Access 2016

 

 

5.1      Beschreibung des Gegenstandsbereichs

 

Ein traditionsbewusstes Unternehmen befasst sich ausschließlich mit dem Ver­leih von Filmklassikern auf Videokassetten und will das Bestell- und Verleihwesen auf ein Datenbank-Anwendungs­system umstellen.

 

Das Unternehmen möchte in allen Städten mit mehr als 10.000 Einwohnern präsent sein. Über alle diese Städte werden deshalb Daten erfasst. In Flimmerhausen (Sachsen-Anhalt, 130.000 Ein­wohner) gibt es bereits 3 Filialen, in Dunkelfingen (Baden-Württemberg, 11.000 Einwoh­ner) noch keine einzige. Eine der Filialen in Flimmerhausen (Skladanowskystr. 1, PLZ 34567) hat eine Ver­kaufs­fläche von 110 m2; sie beschäftigt 3 Mitarbeiter. Sie hält den Kontakt zu mehreren Filmverlegern, so z. B. zu der „Kien­topp GmbH“ (Schnittstr. 2, 12345 Filmbach). Mit diesem Film­ver­leger sind auch andere Filialen in Kontakt. Der Film­verle­gerGroß­kotz und Co.“ (Flegelstr. 7, 76543 Absahnitz) bietet so schlechte Be­din­gungen, dass alle Filialen den Kontakt zu ihm ab­gebrochen haben. Er bleibt allerdings weiterhin ge­speichert.

 

Die Filmverleger bieten jeweils mehrere Filmtitel an, wobei ein interessierender Filmtitel bei mehreren Film­verlegern – oder auch bei keinem – im Angebot sein kann. Die Filialen schicken an die Filmverleger Bestellungen. Bei jeder Bestellung muss er­sichtlich sein, von welcher Fi­liale sie kommt, an welchen Filmverleger sie gerichtet ist und an welchem Tag sie erstellt wur­de. Eine Be­stellung ent­hält im Allgemeinen mehrere Bestell­positionen, die durch eine lau­fende Nummer voneinander unter­schieden wer­den. Eine Bestellposition bezieht sich auf genau einen Filmtitel und verzeichnet die gewünschte Anzahl der Video­­kassetten von diesem Film­titel.

 

Über alle Videokassetten des Unterneh­mens wird Buch geführt, wobei die Videokassetten jeweils ei­ner Filiale durch eine fort­lau­fende Identi­fikationsnummer voneinander unterschieden wer­den. Bei­spiels­wei­­se enthält die Videokassette der Flimmerhau­se­ner Filiale in der Skladanowskystraße 1 (PLZ 34567) mit der Iden­tifikations­num­mer 445566 den Filmtitel „Panzer­kreuzer Po­tem­kin“ (1925, Re­gis­seur: Sergej Eisen­stein).

 

Zu jedem Ausleihvorgang wird festgehalten, welcher Kunde wel­che Videokassette ausgeliehen hat und wann er sie zurückgeben muss. Wenn die Videokassette zurückgegeben wurde, wird der Aus­leih­vorgang gelöscht: für eine Videokassette wird also höch­stens ein Ausleihvorgang ge­spei­chert. Zu jedem Kun­den werden der Name, die Adresse und das Alter festgehalten. Kin­der kön­nen nur dann Kunden des Unternehmens sein, wenn wenigstens ein Eltern­teil Kunde ist. Es wird deshalb bei den Kunden ver­merkt, wel­ches Kind zu welchen Eltern gehört.

 

Weiterhin ist zu beachten:

 

·       Eine neu eingerichtete Filiale hat noch zu keinem Filmver­le­ger Kontakt und somit auch noch keine Bestellung aufge­ge­ben; sie besitzt deshalb auch noch keine Videokassette.

·             

·        Eine Filiale sendet pro Tag an einen Filmverleger höchstens eine Bestellung.

 

·       Beliebte Filmtitel werden von den Filialen häufig bestellt, an­dere dagegen überhaupt nicht.

·             

·       Die Identifikationsnummer für eine Videokassette wird inner­halb einer Filiale vergeben. Im Unter­nehmen kann also die­sel­be Identifikationsnummer mehrfach auftreten.

·             

·       Die Filmklassiker lassen sich durch ihren unikalen Namen von­einander un­ter­­scheiden.

·             

·       Auf jeder Videokassette befindet sich immer genau ein Film­titel.

·             

·       Ein Kunde kann höchstens 10 Videokassetten ausleihen. Vie­le Videokassetten sind gerade nicht ausge­liehen und ste­hen in den Regalen.

·             

 

 

5.2      Konzeptionelles Datenmodell

 

Bemerkungen:

 

·       Es ist damit zu rechnen, dass mehrere namensgleiche Städte gespeichert werden müssen. Deshalb wird der Objekttyp „Stadt“ durch die Kombination der beiden Eigenschaften „Stadt-Name“ und „Bundesland“ identifiziert.

 

·       Eine Filiale kann nur durch die Angabe ihrer vollständigen Adresse zwei­felsfrei bestimmt werden. Deshalb wird der Ob­jekt­typ „Filiale“ durch die Kombination aus der Bezie­hungs­typ-Rich­tung „Filiale liegt in Stadt“ und aus den Eigen­schaf­ten „PLZ“ und „Straße/Hausnr“ identifiziert.

 

·       Da Filmverleger in das Handelsregister eingetragen werden, muss ihr Name unikal sein. Deshalb ist für die Identifizie­rung des Objekttyps „Filmverleger“ die Eigenschaft „Verleger-Name“ ausreichend.

 

·       Ein Filmverleger bleibt auch dann noch gespeichert, wenn alle Filialen den Kontakt zu ihm abgebrochen haben. Des­halb muss die Beziehungstyp-Richtung „Filmverleger wird kon­taktiert von  Filiale“ optional sein.

 

·       Filmverleger, die keine Filmtitel im Angebot haben, gibt es nicht. Deshalb ist die Beziehungstyp-Richtung „Filmverleger bie­tet an Filmtitel“ nicht-optional.

 

·       Eine Filiale sendet an einen Filmverleger pro Tag höchstens eine Bestellung. Deshalb kann die Identifizierung des Ob­jekt­­typs „Bestellung“ durch die Kombination aus den bei­den Beziehungstyp-Richtungen „Bestellung kommt von Fili­ale“ und „Bestellung geht an Filmverleger“ sowie aus der Eigen­schaft „Datum“ erfolgen.

·             

·       Die Bestell­positionen einer Bestellung unter­scheiden sich voneinander durch ihre Positions-Nummer. Deshalb wird der Objekt­typ „Bestellposition“ durch die Kombination aus der Be­ziehungstyp-Rich­tungBestellpo­si­tion gehört zu Bestel­lung“ und der Eigen­schaft „Positions-Nr“ identifiziert.

·             

·       Manche gespeicherte Filmtitel werden überhaupt nicht be­stellt. Deshalb muss die Beziehungstyp-Rich­tung „Filmtitel wird be­stellt durch  Bestellposition“ optional sein.

·             

·       Da die Identifikationsnummer einer Videokassette nur inner­halb einer Filiale eindeutig ist, wird der Objekttyp „Video­kas­sette“ über seine Beziehung zur Filiale und durch seine Eigenschaft „Kassetten-Nr“ identifiziert.

·             

·       Für eine Videokassette wird nur der aktuelle Ausleihvorgang gespeichert, abgeschlossene Ausleihvorgänge werden sofort ge­löscht. Deshalb ist kein eigener Objekttyp für den Aus­leih­vorgang erforderlich. Die notwendigen Angaben können un­mit­tel­bar an der Videokassette „festgemacht“ werden.

·             

·       Es soll gespeichert werden, welcher „Kind-Kunde“ zu wel­chem „Eltern-Kunden“ gehört. Deshalb muss ein CM:CN-Re­kur­siv-Beziehungstyp für den Objekttyp „Kunde“ model­liert wer­den.

 

 

5.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:

 

Stadt ( Stadt-Name+Bundesland,Einwohnerzahl )

Filiale ( ÝStadt-Name+BundeslandÝ+PLZ+Straße/Hausnr,Verkaufsfläche,Mitarbeiterzahl )

Filmverleger ( Verleger-Name,Adresse )

Filmtitel ( Film-Name,Jahr,Regisseur )

Bestellung ( ÝVerleger-NameÝ+ÝStadt-Name+Bundesland+PLZ+Straße/HausnrÝ+Datum )

Bestellposition ( ÝVerleger-Name+Stadt-Name+Bundesland+PLZ+Straße/Hausnr+DatumÝ+Positions-Nr,
                           Anzahl der Kassetten
)

Videokassette ( ÝStadt-Name+Bundesland+PLZ+Straße/HausnrÝ+Kassetten-Nr, Leihfrist )

Kunde ( Kunden-Name+Adresse,Alter )

 

 

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

 

Primärschlüssel

des Objekttyps

wird aufgenommen in

Primärschlüssel von

Stadt-Name+Bundesland

Stadt

Þ

Filiale

Verleger-Name

Filmverleger

Þ

Bestellung

Stadt-Name+Bundesland+
PLZ+Straße/Hausnr

Filiale

Þ

Bestellung

Verleger-Name+
Stadt-Name+Bundesland+
PLZ+Straße/Hausnr+Datum

Bestellung

Þ

Bestellposition

Stadt-Name+Bundesland+
PLZ+Straße/Hausnr

Filiale

Þ

Videokassette

 

 

Da zu jedem Zeitpunkt sicherlich nicht alle Videokassetten aus­geliehen sind, für einige von ihnen also die Eigenschaft „Leih­frist“ mit der NULL-Marke belegt werden muss, wurde diese Eigen­schaft als nicht-eingabepflichtig vereinbart (deshalb der Kur­sivdruck !).

Im nächsten Schritt werden die dualen Beziehungstypen in das relationale Datenbank-Modell transformiert (Transformations­re­geln T03 bis T12). Dann erfolgt die Transformation des CM:CN-Rekursiv-Beziehungstyps von „Kunde“ gemäß der Transforma­tions­­regel T19. Die veränderten Tabellen-Typbeschreibungen sind jeweils durch einen Stern gekennzeichnet:

 

    Stadt ( Stadt-Name+Bundesland,Einwohnerzahl )

    Filiale ( ÝStadt-Name+BundeslandÝ+PLZ+Straße/Hausnr,Verkaufsfläche,Mitarbeiterzahl )

*  Kontakt ( ÝVerleger-NameÝ+ÝStadt-Name+Bundesland+PLZ+Straße/HausnrÝ )

    Filmverleger ( Verleger-Name,Adresse )

*  Angebot ( ÝVerleger-NameÝ+ÝFilm-NameÝ )

    Filmtitel ( Film-Name,Jahr,Regisseur )

    Bestellung ( ÝVerleger-NameÝ+ÝStadt-Name+Bundesland+PLZ+Straße/HausnrÝ+Datum )

*  Bestellposition ( ÝVerleger-Name+Stadt-Name+Bundesland+PLZ+Straße/Hausnr+DatumÝ+Positions-Nr,
                           
ÝFilm-NameÝ,Anzahl der Kassetten )

*  Videokassette ( ÝStadt-Name+Bundesland+PLZ+Straße/HausnrÝ+Kassetten-Nr,
                             
ÝFilm-NameÝ,ÝKunden-Name+AdresseÝ, Leihfrist )

    Kunde ( Kunden-Name+Adresse,Alter )

*  Verwandtschaft ( ÝKind-Name+Kind-AdresseÝ+ÝEltern-Name+Eltern-AdresseÝ )

 

 

Bemerkungen:

 

·       Den 1:N‑Beziehungstyp zwischen den beiden Objekttypen „Bestellung“ und „Bestell­po­sition“ kann man nur – unter Se­man­tik­verlust – als einen 1:CN‑Beziehungstyp repräsentie­ren, also gemäß der Transforma­tionsregel T09. Die Tabellen-Typ­be­schrei­bun­g lässt es dann unsinnigerweise zu, dass eine Bestellung gespeichert wird, die keine einzige Bestellposition enthält.

·       Für die Repräsentation des C:CN-Beziehungstyps zwischen den beiden Objekttypen „Kunde“ und „Video­kassette“ stehen zwei Transformationsregeln zur Verfügung:

 

a)   Transformationsregel T10 (die meisten Videokassetten sind ausgeliehen),

b)  Transformationsregel T11 (die meisten Videokassetten stehen in den Regalen).

 

Es lässt sich nicht mit Bestimmtheit sagen, welcher der bei­den Fälle vorliegt. Wir haben eine rege Ausleihtätigkeit vo­raus­gesetzt, also den Fall a) angenommen. Deshalb wurde keine Koppel-Tabelle eingeführt. Stattdessen wurde in die Tabelle „Videokassette“ ein nicht-eingabepflichtiger Verweis auf den „Kunden“ aufgenommen (deshalb der Kursivdruck !). Die Kardi­nalitäts-Beschränkung lässt sich durch die Tabellen-Typbeschreibung nicht repräsentieren. Man kann – zumin­dest ohne besondere Software-Maßnahmen – also nicht ver­hin­dern, dass ein Kunde mehr als 10 Videokassetten ausleiht.

·          Der M:CN‑Beziehungstyp zwischen den Objekttypen „Film­titel“ und „Filmver­leger“ lässt sich lediglich – unter Seman­tik­ver­lust – als CM:CN-Beziehungstyp, also gemäß der Transfor­ma­tionsregel T12, re­präsentieren. Durch die Typbe­schrei­bung der Koppel-Tabel­le „Angebot“ kann nicht gesichert wer­den, dass jeder Film­ver­leger wenigstens einen Filmtitel anbietet.

·          Der CM:CN‑Rekursiv-Beziehungstyp des Objekttyps „Kunde“ wird gemäß der Transformationsregel T19 durch die Koppel-Tabelle „Verwandtschaft“ repräsentiert. Der doppelt aufzu­neh­mende Fremdschlüssel des Kunden wurde unterschied­lich be­nannt:

a)       im Fall des Verweises auf ein Kind:

      ÝKind-Name+Kind-AdresseÝ,

b)      im Fall des Verweises auf ein Elternteil:

      ÝEltern-Name+Eltern-AdresseÝ.

 

 

 

5.4      Physisches Datenmodell des PowerDesigner 16.5

 

 

 

 

5.5      Datenbank-Struktur für Access 2016

 

 

 

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