Steffen: Datenbanknormalisierung

Beitrag lesen

Hallo,

ich habe in meiner Datenbank 2 Tabellen.
#1 Kunden
#2 Lieferanten

Beide dieser Tabellen beinhalten Kontaktdaten.
z.B. Straße, Hausnummer, PLZ, Ort, Telefon, FAX

Somit hätte ich jetzt 2 Tabellen, die teilweise gleich aufgebaut sind.

z.B.
#1 Kunden

  • id + Kundennummer + Straße + Hausnummer + PLZ + Ort + Telefon + FAX +

#2 Lieferanten

  • id + Lieferantennummer + Straße + Hausnummer + PLZ + Ort + Telefon + FAX +

Ich möchte jetzt die Kontaktdaten in eine separate Tabelle auslagern.
(Bietet sich an, aber ist es auch gescheit?)

Jetzt habe ich

#1 Kunden

  • id + Kundennummer

#2 Lieferanten

  • id + Lieferantennummer

#3 Kontaktdaten

  • id + Straße + Hausnummer + PLZ + Ort + Telefon + FAX + fk-Kunden + fk-Lieferanten

Per Constraint auf der Tabelle Kontaktdaten versuche ich jetzt dafür zu sorgen, dass fk-Kunden oder (XOR) fk-Lieferanten nicht NULL ist.

Mir erscheinen die beiden Foreign-Keys auf der Tabelle Kontaktdaten sehr umständlich. Vor allem, wenn man aus weiteren Tabellen (z.B. Mitarbeiter, ...) diese Tabelle benutzen möchte.

Gibt es dafür bessere/schönere/andere Lösungen?

Grüße

  • Steffen