2017-02-20 2 views
0

Ich habe ein Szenario, um ein ER-Diagramm zu erstellen.Benutzer und Kunde in ER-Diagramm

Szenario

Es gibt mehrere Regionen. Eine Region kann mehrere Geschäftsketten haben. Jede Geschäftskette muss eine Region abdecken. One Business-Kette haben mehrere Outlets. Kunden können dieses System verwenden, um sich mit einer beliebigen Geschäftskette zu verbinden. Mitarbeiter einer Business-Kette können jedem Outlet von dem Administrator der jeweiligen Business-Kette zugeordnet werden ................

Meine Frage ist, wie soll ich damit umgehen Benutzerdetails und Anmeldedetails im obigen ER-Diagramm (oder in der Anwendung)

  1. Sollte ich zwei separate Entitäten als "Kunde" und "Mitarbeiter" verwenden ???
  2. Sollte ich eine Entität als "Benutzer" verwenden? Wenn ja, wie der obigen Fall zu behandeln emplyees' roster Handhabung

Antwort

2

Ich schlage vor, Sie kombinieren Kunden, Mitarbeiter und Benutzer in Personen, und in denen eine Person für jede der Rollen Subtyping verwenden kann auftreten:

Customers, Employees and Users are Persons ERD

Ich habe keinen Hinweis auf überlappende/disjunkte Subsets, Sie können sie basierend auf Ihren Anforderungen ausfüllen. Bei der Implementierung disjunkter Teilmengen müssten einige zusätzliche Typindikatoren hinzugefügt und die Einschränkungen in den folgenden Tabellen überprüft werden.

Physikalisch über das Diagramm würde in eine Reihe von Tabellen wie übersetzen:

person (person_id PK, first_name, last_name, ...) 
user (person_id PK/FK, username, password_hash, ...) 
customer (person_id PK/FK, credit_limit, ...) 
employee (person_id PK/FK, salary, ...) 

Dadurch kann jede Person mit einem Benutzerdatensatz eingeloggt sein, und Sie können leicht herausfinden, ob sie sind Kunden, Mitarbeiter (oder beides) durch Verbinden mit diesen Tabellen. Sie können problemlos kunden- oder mitarbeiterspezifische Beziehungen erstellen, z.

Dabei hat employee_person_id eine FK-Abhängigkeit, die auf person_id in der employee-Tabelle verweist. Sie können auch benutzerspezifische Beziehungen oder allgemeine Personenbeziehungen erstellen, wenn Ihre Anforderungen dies vorgeben

+0

Das ist großartig. Ich denke, das wird für mich funktionieren. Lassen Sie mich dieses Schema erstellen und sehen. Vielen Dank –