Moin Steffen,
Allerdings kann ich dann in der Datenbank die Gültigkeit der Daten nicht mehr garantieren, weil
- Könnten Kunden und Lieferanten auf den selben Kontakt zeigen
Das wäre für mich kein Fehler sondern eine valide Möglichkeit: ein Lieferant kann ja prinzipiell auch als Kunde zu euch kommen. Aber wenn du das verhindern möchtest, kannst du immer noch auf eine View referenzieren, die alle ctype != 'vendor'
rausfiltert. Oder alternativ einen CHECK-Constraint/Trigger implementieren, der aufpasst, dass man keinen Datensatz einfügt, der auf Nicht-Vendor- bzw Nicht-Customer-Objekte verweist.
und
2. Könnten Kontaktdaten existieren, die nicht mehr referenziert werden.
Das ist wahr. Da würde ich mit Triggern arbeiten, um das zu verhindern.
LG,
CK