Ich trage mich mit dem Gedanken, eine
DB mandantenfähig zu gestalten. Leider habe ich damit einige Probleme bzgl. des
DB-Designs. Am besten schildere ich mal ein Beispiel: gegeben seien folgende Tabellen
Code:
TBL_Kunde
=========
ID
Name
...
TBL_Artikel
===========
ID
Bezeichnung
...
TBL_Kunde_Artikel
=================
Kunden_ID
Artikel_ID
Die klassische m:n-Beziehung also. Wenn ich nun also sowohl Stamm- als auch Bewegungsdaten an einen Mandanten koppeln möchte, müsste das ja dann etwa so aussehen (zusätzliche Tabellen):
Code:
TBL_Mandant
===========
ID
Name
...
TBL_Mandant_Kunde
=================
Mandant_ID
Kunden_ID
TBL_Mandant_Artikel
===================
Mandant_ID
Artikel_ID
Die Zuordnungstabelle zwischen Kunde und Artikel müsste dann einen zusätzlichen Fremdschlüssel auf den Mandantensatz bekommen, oder? Genau hier liegt jetzt mein Problem: was mache ich, wenn ich die Zuordnung von z.B. einem Artikel zu einem Mandanten aufhebe? Dann habe ich in der Kunden_Artikel-Tabelle ja evtl. Datensatzleichen. Das würde ich gern vermeiden, nur wie? ON DELETE CASCADE scheint mir eine Möglichkeit zu sein, allerdings ist das ja nicht ganz ungefährlich.
Bin für jeden Denkanstoß dankbar.