2017-02-20 115 views
0

我正在创建ER图的场景。ER图中的用户和客户

方案

有几个地区。一个地区可以有几个商业链。每个业务链都有一个区域可以覆盖。一个业务链有几个网点。客户可以使用此系统连接到任何业务链。一个商业链的员工可以通过特定商业链的管理员分配到任何商店................

我的问题是我该如何处理用户详细信息和登录信息在上面的ER图(或应用程序中)

  1. 我应该使用两个单独的实体作为“客户”和“员工”?
  2. 我应该使用一个实体作为“用户”吗?如果是如何处理的处理就业者的花名册

回答

2

上述情况,我建议你把客户,员工和用户到人,并使用分型为每个角色中,可能会出现一个人:

Customers, Employees and Users are Persons ERD

我遗漏了重叠/不相交子集的任何指示,您可以根据您的要求填写它们。实现不相交的子集需要添加一些额外的类型指示符并检查下面的表的约束。

在物理上,上面的图表中会转化为一组类似的表:

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, ...) 

这允许任何人以用户记录登录,你可以很容易找到它们无论是客户,员工(或两者)通过加入这些表。您可以轻松创建客户或员工特定的关系,例如

outlet_employees (outled_id PK/FK, employee_person_id PK/FK) 

其中employee_person_id在employee表中具有引用person_id的FK约束。您还可以根据您的要求制定用户特定关系或一般人际关系

+0

这很棒。我认为这对我有用。让我创建这个模式并看看。谢谢 –