我有一个场景来创建一个ER图。
场景
有几个地区。一个地区可以有几个商业链。每个商业链都有一个区域要覆盖。一家商业连锁有几家分店。客户可以使用此系统连接到任何业务链。业务链的雇员可由该特定业务链的管理人员指派到任何销售点.
我的问题是我应该如何处理上述ER图(或应用程序)中的用户详细信息和登录细节
发布于 2017-02-21 05:45:47
我建议您将客户、员工和用户组合成个人,并对可能发生的每个角色使用子类型:

我忽略了任何重叠/不相交子集的指示,您可以根据您的需求填写它们。要实现不相交的子集,就需要在下表中添加一些额外的类型指标和检查约束。
实际上,上面的图表将转换成一组表,如下所示:
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约束。您还可以根据您的需求,建立特定于用户的关系或一般的人员关系。
https://stackoverflow.com/questions/42336559
复制相似问题