Zwischenprodukte
Lösung
Die Lösung besteht darin, dass zwei neue Tabellen
"Zwischenprodukte" und "ZP-Rezepturen" erstellt werden müssen. Die
Tabelle "Zwischenprodukte" enthält alle Produkte, welche selber zur
Synthese von Produkten verwendet werden. Sie muss einen eigenen ID-
Schlüssel (z.B. ZPNr) besitzen, welcher aber die gleichen Werte
haben kann, wie der entsprechende Fremdschlüssel aus der
Produktetabelle. Dieser könnte zwar auch gleichzeitig den
ID-Schlüssel der Tabelle "Zwischenprodukte" bilden, weil er nur
eindeutige Werte annehmen kann (wegen der 1-c Beziehung), doch dann
gäbe es einen Konflikt in der Tabelle "ZP-Rezepturen". Diese bekommt
nämlich zwei Fremdschlüssel (aus Produkte und Zwischenprodukte),
welche dann den gleichen Namen hätten, was nicht erlaubt ist.
Besonders kreative Leute gehen dann hin und ändern einfach den Namen
des Fremdschlüssels, so dass er anders heisst, als der entsprechende
ID- Schlüssel. Dies sollte aber tunlichst vermieden werden, weil
sonst nicht mehr klar ist, welche Beziehungen zwischen den Tabellen
existieren. Daher sollte immer darauf geachtet werden, dass Fremd-
und Identschlüsselattribute gleich benannt werden.
Datenmodell