Design-Problem: Privatkunde / Firmenkunde mit Bankdaten verknüpfen.Zwei foreign keys?

Nervensache

Mitglied
Hi,

ich soll für einen Freund von mir eine Firmendatenbank entwerfen. Dabei hat dieser Privat und Firmenkunden. Für beide Tabellen werden unterschiedliche Stammdaten abgefragt. Es soll aber auch einige weitere Tabellen geben, die sowohl mit Firmen- als auch Privatkunden verknüpft werden sollen (bspw. Bankdaten / Protokolle etc.)
Die einzige Möglichkeit die mir bis jetzt in den Sinn kam ist zwei Keys in der Tabelle Bankdaten zu erstellen, und jede mit einer Tabelle zu verknüpfen. Wirklich schön wirkt das allerdings nicht.
Gibt es eine elegantere Möglichkeit ein Schema zu entwerfen?

Viele Grüße
Simon
 
Design-Problem: Privatkunde / Firme ...

Hallo,

Haben diese Privat- und Firmenkunden gemeinsame Attribute?

Gruß

Sascha
 
die möglichkeit mit dem split foreign key ist tatsächlich eine in der Praktis häufig verwendete und in deinem fall auch mit die sinnvollste.

Weitere möglichkeiten wären:
- Verwenden einer shared sequence für beide tabellen (wie man das macht hängt vom RDBMS ab)
- Zusammenführen der shared fields der beiden kundendatenbanken, und den rest über eine eigene tabelle zu speichern.
- Auch möglich aber nicht schön: beide kundendatenbanken einfach in einer tabelle halten, und ne menge NULL felder in kauf nehmen.
 
vielen Dank für die Antworten. Leider haben die beiden Tabellen nicht sehr viel gemeinsam, sodass sich eine Zusammenführung nicht lohnt. Die Lösung mit den Null-Feldern gefällt mir auch nicht, womit ich - wenn das auch in Praxis oft verwendet wird - bei den zwei Keys bleibe.
 
Design-Problem: Privatkunde / Firme ...

Ich verstehe gerade das Problem nicht. Es werden alle gemeinsame Attribute in eine Tabelle gepackt. Dann werden noch zwei Tabellen angelegt, einmal für Privatkunden und einmal für Geschäftskunden. Da sind dann die Attribute drin die nicht gemeinsam sind.
So hast du nur einen Key.

Gruß

Sascha
 

Neue Beiträge

Zurück