Steffen: Datenbanknormalisierung

Beitrag lesen

Tag,

  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.

Das klingt interessant und muss ich mir näher anschauen.

Kann ich in Check-Constraints auf VIEWs zugreifen?

Oder meinst Du, dass ich in meine Kundentabelle nicht die Kontaktdaten per FK referenziere, sondern den VIEW "Kontaktdaten-nur-Kunden"?

#1 Kunden

  • id + Kundennummer + fk-view-kunden-kontaktdaten

#2 Kontaktdaten

  • id + TYPE(Kunde/Lieferant)

#3 View (Kontaktdaten-nur-kunden)

  • id + ...

Grüße

  • Steffen