Database Reference
In-Depth Information
Daraus resultiert dann das folgende, physische Datenmodell:
Bild 7.6:
Überlappende,
spezialisierte
Entitätsmengen
c
1
R005C
1
c
R006C
Lieferung
Lieferanten
Entsorgung
In den Tabellen „Lieferung“ und „Entsorgung“ könnte man
dann spezifische Angaben zu Lieferzeiten oder Entsorgungs-
mindestmengen, Kontaktpersonen usw. verwalten. Falls die
Lieferzeit bei der Lieferung erfasst wird, gilt dies für alle Artikel
dieses Lieferanten. Sollten die Artikel aber unterschiedliche Lie-
ferzeiten beim gleichen Lieferanten haben, dann muss die Lie-
ferzeit in der Tabelle „Artikel-Lieferanten“ erfasst werden. In
der Tabelle „Lieferanten“ stehen dann beispielsweise Adressan-
gaben und ein Attribut „Typ“ mit folgenden Werten: 1=nur Lie-
ferant, 2=nur Entsorger oder 3=beides. Dies wäre aber kein
diskriminierendes Attribut, da sich die Entitätsmengen überlap-
pen können. Es erleichtert aber die spätere Filterung der Liefe-
rantendaten.
Bei den Beziehungsnamen steht ein C hinter der Nummer.
Damit ist ersichtlich, dass beim Löschen eines Lieferanten eine
kaskadierende Löschweitergabe (cascading delete) stattfindet,
d.h. die verbundenen Datensätze in den Tabellen „Lieferung“
und „Entsorgungen“ werden automatisch gelöscht. Standard-
mäßig ist es immer so, dass ein Datensatz in einer Mastertabel-
le erst gelöscht werden kann, wenn in der Detailtabelle keine
verbundenen Datensätze mehr vorhanden sind (referentielle
Integrität). Man kann dem Datenbanksystem aber beim Anle-
gen einer Beziehung mitteilen, dass eine Löschweitergabe er-
folgen soll. Auch Schlüsselwertänderungen von Primärschlüs-
seln könnten weitergegeben werden, was aber in den meisten
Fällen unerwünscht ist. Datensätze sollten ihre Primärschlüs-
selwerte behalten, bis sie gelöscht werden. Und Primärschlüs-
selwerte von gelöschten Datensätzen werden innerhalb der
gleichen Tabelle üblicherweise nicht mehr verwendet, wenn
neue Datensätze angelegt werden. Dies ist speziell wichtig,
wenn Datenbanken repliziert werden sollen, andernfalls kön-
nen bei der Datensynchronisation Konflikte auftreten, die dann
manuell behoben werden müssen. Man verwendet in solchen
Fällen auch gerne GUID-Datentypen (Globally Unique Identi-
fier). Das sind 16 Byte große Zeichenketten, die so viele unter-
schiedliche Wertekombinationen haben können, dass es nahe-
Search WWH ::




Custom Search