|
[ Home ]
|
|
Struktur dieser Seite: |
|
Ein traditionsbewusstes Unternehmen befasst sich
ausschließlich mit dem Verleih von Filmklassikern auf Videokassetten und will
das Bestell- und Verleihwesen auf ein Datenbank-Anwendungssystem
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 Einwohner) gibt es bereits
3 Filialen, in Dunkelfingen (Baden-Württemberg, 11.000 Einwohner) noch keine
einzige. Eine der Filialen in Flimmerhausen (Skladanowskystr. 1,
PLZ 34567) hat eine Verkaufsfläche von 110 m2; sie
beschäftigt 3 Mitarbeiter. Sie hält den Kontakt zu mehreren Filmverlegern, so
z. B. zu der „Kientopp GmbH“ (Schnittstr. 2,
12345 Filmbach). Mit diesem Filmverleger sind auch
andere Filialen in Kontakt. Der Filmverleger „Großkotz und Co.“ (Flegelstr. 7, 76543 Absahnitz)
bietet so schlechte Bedingungen, dass alle Filialen den Kontakt zu ihm abgebrochen
haben. Er bleibt allerdings weiterhin gespeichert.
Die Filmverleger bieten jeweils mehrere Filmtitel an,
wobei ein interessierender Filmtitel bei mehreren Filmverlegern
– oder auch bei keinem – im Angebot sein kann. Die Filialen schicken an die
Filmverleger Bestellungen. Bei jeder Bestellung muss ersichtlich sein, von
welcher Filiale sie kommt, an welchen Filmverleger sie gerichtet ist und an
welchem Tag sie erstellt wurde. Eine Bestellung enthält im Allgemeinen
mehrere Bestellpositionen, die durch eine laufende
Nummer voneinander unterschieden werden. Eine Bestellposition bezieht sich
auf genau einen Filmtitel und verzeichnet die gewünschte Anzahl der Videokassetten
von diesem Filmtitel.
Über alle Videokassetten des Unternehmens wird Buch
geführt, wobei die Videokassetten jeweils einer Filiale durch eine fortlaufende
Identifikationsnummer voneinander unterschieden werden.
Beispielsweise enthält die Videokassette der Flimmerhausener
Filiale in der Skladanowskystraße 1 (PLZ 34567) mit
der Identifikationsnummer 445566 den Filmtitel
„Panzerkreuzer Potemkin“ (1925, Regisseur: Sergej Eisenstein).
Zu jedem Ausleihvorgang wird festgehalten, welcher
Kunde welche Videokassette ausgeliehen hat und wann er sie zurückgeben muss.
Wenn die Videokassette zurückgegeben wurde, wird der Ausleihvorgang
gelöscht: für eine Videokassette wird also höchstens ein Ausleihvorgang gespeichert.
Zu jedem Kunden werden der Name, die Adresse und das Alter festgehalten. Kinder
können nur dann Kunden des Unternehmens sein, wenn wenigstens ein Elternteil
Kunde ist. Es wird deshalb bei den Kunden vermerkt, welches Kind zu welchen
Eltern gehört.
Weiterhin ist zu beachten:
· Eine neu eingerichtete Filiale hat noch zu keinem Filmverleger Kontakt und somit auch noch keine Bestellung
aufgegeben; 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, andere dagegen überhaupt nicht.
·
·
Die
Identifikationsnummer für eine Videokassette wird innerhalb einer Filiale
vergeben. Im Unternehmen kann also dieselbe Identifikationsnummer mehrfach
auftreten.
·
· Die Filmklassiker lassen sich durch ihren unikalen
Namen voneinander unterscheiden.
·
· Auf jeder Videokassette befindet sich immer genau ein
Filmtitel.
·
· Ein Kunde kann höchstens 10 Videokassetten ausleihen.
Viele Videokassetten sind gerade nicht ausgeliehen und stehen in den
Regalen.
·

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 zweifelsfrei bestimmt werden.
Deshalb wird der Objekttyp „Filiale“ durch die
Kombination aus der Beziehungstyp-Richtung
„Filiale liegt in Stadt“ und aus den
Eigenschaften „PLZ“ und „Straße/Hausnr“
identifiziert.
· Da Filmverleger in das Handelsregister eingetragen
werden, muss ihr Name unikal sein. Deshalb ist für die Identifizierung des
Objekttyps „Filmverleger“ die Eigenschaft „Verleger-Name“ ausreichend.
·
Ein Filmverleger
bleibt auch dann noch gespeichert, wenn alle Filialen den Kontakt zu ihm
abgebrochen haben. Deshalb muss die Beziehungstyp-Richtung „Filmverleger wird kontaktiert von Filiale“
optional sein.
· Filmverleger, die keine Filmtitel im Angebot haben,
gibt es nicht. Deshalb ist die Beziehungstyp-Richtung „Filmverleger bietet an Filmtitel“ nicht-optional.
·
Eine Filiale sendet
an einen Filmverleger pro Tag höchstens eine Bestellung. Deshalb kann die
Identifizierung des Objekttyps „Bestellung“ durch
die Kombination aus den beiden Beziehungstyp-Richtungen „Bestellung kommt von Filiale“ und „Bestellung geht an Filmverleger“ sowie aus der
Eigenschaft „Datum“ erfolgen.
·
·
Die Bestellpositionen einer Bestellung unterscheiden sich
voneinander durch ihre Positions-Nummer. Deshalb wird der Objekttyp
„Bestellposition“ durch die Kombination aus der Beziehungstyp-Richtung
„Bestellposition gehört zu Bestellung“ und der Eigenschaft „Positions-Nr“ identifiziert.
·
·
Manche
gespeicherte Filmtitel werden überhaupt nicht bestellt. Deshalb muss die
Beziehungstyp-Richtung „Filmtitel wird
bestellt durch Bestellposition“ optional sein.
·
·
Da die
Identifikationsnummer einer Videokassette nur innerhalb einer Filiale
eindeutig ist, wird der Objekttyp „Videokassette“ ü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 gelöscht. Deshalb ist kein eigener Objekttyp für
den Ausleihvorgang erforderlich. Die notwendigen
Angaben können unmittelbar an der Videokassette „festgemacht“ werden.
·
·
Es soll
gespeichert werden, welcher „Kind-Kunde“ zu welchem „Eltern-Kunden“ gehört.
Deshalb muss ein CM:CN-Rekursiv-Beziehungstyp für den Objekttyp „Kunde“ modelliert
werden.
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 (Transformationsregel T02).
Im Ergebnis dieser beiden Transformationen ergeben sich die folgenden
vorläufigen Tabellen-Typbeschreibungen:
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+ |
Filiale |
Þ |
Bestellung |
|
Verleger-Name+ |
Bestellung |
Þ |
Bestellposition |
|
Stadt-Name+Bundesland+ |
Filiale |
Þ |
Videokassette |
Da zu jedem Zeitpunkt sicherlich nicht alle
Videokassetten ausgeliehen sind, für einige von ihnen also die Eigenschaft „Leihfrist“ mit der NULL-Marke belegt werden muss, wurde
diese Eigenschaft als nicht-eingabepflichtig
vereinbart (deshalb der Kursivdruck !).
Im nächsten Schritt werden die dualen Beziehungstypen
in das relationale Datenbank-Modell transformiert (Transformationsregeln
T03 bis T12). Dann erfolgt die Transformation des CM:CN-Rekursiv-Beziehungstyps
von „Kunde“ gemäß der Transformationsregel 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 „Bestellposition“ kann
man nur – unter Semantikverlust – als einen 1:CN‑Beziehungstyp
repräsentieren, also gemäß der Transformationsregel
T09. Die Tabellen-Typbeschreibung 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 „Videokassette“ 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 beiden Fälle vorliegt. Wir haben eine rege Ausleihtätigkeit vorausgesetzt,
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 Kardinalitäts-Beschränkung lässt sich durch die
Tabellen-Typbeschreibung nicht repräsentieren. Man kann – zumindest ohne
besondere Software-Maßnahmen – also nicht verhindern, dass ein Kunde
mehr als 10 Videokassetten ausleiht.
·
Der M:CN‑Beziehungstyp
zwischen den Objekttypen „Filmtitel“ und „Filmverleger“
lässt sich lediglich – unter Semantikverlust – als
CM:CN-Beziehungstyp, also gemäß der Transformationsregel
T12, repräsentieren. Durch die Typbeschreibung der
Koppel-Tabelle „Angebot“ kann nicht gesichert werden, dass jeder Filmverleger
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 aufzunehmende
Fremdschlüssel des Kunden wurde unterschiedlich benannt:
a)
im
Fall des Verweises auf ein Kind:
ÝKind-Name+Kind-AdresseÝ,
b)
im
Fall des Verweises auf ein Elternteil:
ÝEltern-Name+Eltern-AdresseÝ.


[ Home ]