2016-04-27 18 views
0

Ich baue eine Datenbank in SQL Server und ich bin fest auf ein Problem mit den Tabellenbeziehungen. Ich werde das aktuelle Setup im Bild unten erklären und warum es so eingerichtet ist wie es ist.Ist diese Entität/Tabelle-Beziehung korrekt eingerichtet?

tblPrimaryCustomer: Diese Tabelle enthält 2 verschiedene Kundentypen; Geschäft und Verbraucher. Sie werden durch eine Nachschlagetabelle identifiziert, die mit dem Feld "intType" verbunden ist.

tblSecondaryCustomer: Jeder Kunde (Geschäft oder Verbraucher) in tblPrimaryCustomer kann viele autorisierte Benutzer haben, die in tblSecondaryCustomer gespeichert sind.

tblSecondaryAccount: Autorisierte Benutzer in tblSecondaryCustomer, wo der PrimaryCustomer "Business" viele Konten haben kann, die in tblSecondaryAccount gespeichert sind. Autorisierte Benutzer in tblSecondaryCustomers, die "Consumer" sind, haben keine sekundären Accounts.

tblPrimaryAccount: Kunden vom Typ "Consumer" in tblPrimaryCustomer können viele Konten haben, die in tblPrimaryAccount gespeichert sind. Kunden vom Typ "Unternehmen" in tblPrimaryCustomer haben keine primären Konten.

Ich habe das Gefühl, es gibt eine Möglichkeit, dies einzurichten, ohne 2 verschiedene Account-Tabellen zu haben. Was mache ich falsch?

enter image description here

Antwort

0

Gibt es einen Grund, warum Sie nicht wollen, es so einzurichten: enter image description here

Ich würde dann ein Feld intCustomer genannt zugeben, die einen autorisierten Benutzer zurück zu einem primären Kunden Links . Sie benötigen nur eine Kunden-Tabelle, um Ihre Kunden und autorisierte Benutzer zu halten, und nur eine Tabelle, um Ihre Konten zu halten.

Die Consumer-Kunden mit ihren Konten zu bekommen wäre ziemlich einfach. Um Ihre Liste der autorisierten Benutzer mit ihren Geschäftskundeninformationen abfragen würden Sie die Tabelle wiederholen, wie so, die Verknüpfung auf intCustomer = Kundennummer:

enter image description here

Ich verstehe das nicht für Ihre Bedürfnisse kann funktionieren, aber wenn die Die Informationen für den Kunden und den autorisierten Benutzer sind ähnlich, dann kann es helfen.

Verwandte Themen