Christian Kruse: Datenbanknormalisierung

Beitrag lesen

Moin Steffen,

Allerdings kann ich dann in der Datenbank die Gültigkeit der Daten nicht mehr garantieren, weil

  1. 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