Ich versuche herauszufinden, wie ich mein Entity-Diagramm am besten einrichten kann. Ich werde anhand des folgenden Bildes erklären.Bestes Tabellen-Beziehungs-Design für ähnliche Entitäten
tblParentCustomer: Diese Tabelle speichert Informationen für unsere Hauptkunden, die entweder ein Unternehmen oder Verbraucher sein können (Sie werden eine Lookup-Tabelle tblCustomerType identifiziert.)
tblChildCustomer. Diese Tabelle speichert Kunden, die unter dem Primary sind Kunde. Die primären Geschäftskunden können autorisierte Mitarbeiter und autorisierte Mitarbeiter haben. Die Kunden des primären Kunden können autorisierte Benutzer haben. (Sie werden mithilfe einer Nachschlagetabelle tblCustomerType identifiziert.)
tblChildAccountNumber: In dieser Tabelle werden AccountNumbers für tblChildCustomer gespeichert. Diese Kontonummern sind hauptsächlich für die Kindergeschäftskunden bestimmt. Ich möchte die Kontonummern für die Kunden der Kinderkunden hinzufügen, ich bin mir noch nicht sicher, aber ich glaube, dass dieses Design dies ermöglicht, falls/wenn nötig.
Zurück zu tblParentCustomer: Wenn dieser Kunde ein Verbraucher ist, muss ich Kontonummern für sie hinzufügen. Meine Frage ist, erstelle ich eine 1 - Viele Beziehung zwischen tblParentCustomer und tblParentAccountNumber? Diese Option würde mir zwei verschiedene Kontonummertabellen geben.
Oder wäre es sinnvoll, eine Junction Account Tabelle zu erstellen, die tblParentCustomer und tblChildCustomer schneidet?
Die erste Option ergibt keinen Sinn für mich, denn was ist, wenn es nur 1 Kontonummer für einen Kunden aber mehrere childCustomers gibt?
Macht es Sinn, 2 ähnliche Account-Tabellen zu haben, die einen anderen Zweck erfüllen?
Hat ein Kunde eine Account haben oder kann ein Kunde haben mehrere AccountNumbers? Wenn ein Kunde nur eine Kontonummer hat, sollte Kontonummer direkt in die Kundentabelle eingegeben werden. Die Kontonummer kann als Primärschlüssel verwendet werden, wenn sich die Kontonummer auch nicht ändert. –
Kann ChildAccountNumber die gleichen Nummern wie ParentAccountNumber haben? Wenn nicht, warum sollten Sie sie in zwei separate Tabellen legen? Wählen Sie einfach zwischen den beiden mit einem Feld namens Parent, das auf True oder False gesetzt ist. –