Moin Steffen,
Warum zwei Tabellen? Warum machst du nicht eine Tabelle „contacts,” die sowohl die Lieferanten als auch die Kunden enthält? Unterscheidbar bleiben sie dann durch ein Attribut „contact_type” (
AS ENUM('customer', 'vendor')
).Ich muss ja die Kunden und Lieferanten spezifischen Daten auch irgendwo ablegen. Dafür gibt es dann die Kunden- und Lieferantentabellen. Es sind einfach verschiedene Daten, die sich nur teilweise überschneiden.
z.B. weitere Felder
Kunden -> + newsletter-erwünscht + bankeinzug +
Lieferanten -> + uid + schnelllieferung + zahlungsziel +
Ich glaube, da würde ich aber dann eher den Weg gehen eine Tabelle „vendor_infos” (oder so) zu erstellen, die sich dann via foreign key auf die Kontakte bezieht. Dein Gefrickel (sorry) mit dem CHECK-Constraint sowie den beiden unterschiedlichen foreign keys sieht für mich nach noch folgenden Schmerzen aus.
LG,
CK