ER图中的用户和客户
User and Customer in ER diagram
我有一个创建 ER 图的场景。
场景
有几个区域。一个区域可以有多个业务链。每个业务链都有一个区域要覆盖。一个商业连锁店有几个网点。客户可以使用此系统连接到任何业务链。连锁企业的员工可以由特定连锁企业的管理员分配到任何门店................
我的问题 是我应该如何处理上述 ER 图中(或应用程序)中的用户详细信息和登录详细信息
- 我应该使用两个单独的实体作为 "Customer" 和 "Employee" 吗???
- 我应该使用一个实体作为 "User" 吗?如果是如何处理上述处理员工花名册的情况
我建议您将客户、员工和用户组合成人员,并对人员可能出现的每个角色使用子类型化:
我省略了 overlapping/disjoint 个子集的任何指示,您可以根据您的要求填写它们。实现不相交的子集需要添加一些额外的类型指示符并检查下面的 tables 的约束。
从物理上讲,上图将转化为一组 table,例如:
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, ...)
这允许任何有用户记录的人登录,您可以通过加入那些 table 轻松地确定他们是客户、员工(或两者)。您可以轻松创建客户或 employee-specific 关系,例如
outlet_employees (outled_id PK/FK, employee_person_id PK/FK)
其中 employee_person_id 在员工 table 中有引用 person_id 的 FK 约束。您还可以建立 user-specific 关系,或一般人际关系,具体取决于您的要求
我有一个创建 ER 图的场景。
场景
有几个区域。一个区域可以有多个业务链。每个业务链都有一个区域要覆盖。一个商业连锁店有几个网点。客户可以使用此系统连接到任何业务链。连锁企业的员工可以由特定连锁企业的管理员分配到任何门店................
我的问题 是我应该如何处理上述 ER 图中(或应用程序)中的用户详细信息和登录详细信息
- 我应该使用两个单独的实体作为 "Customer" 和 "Employee" 吗???
- 我应该使用一个实体作为 "User" 吗?如果是如何处理上述处理员工花名册的情况
我建议您将客户、员工和用户组合成人员,并对人员可能出现的每个角色使用子类型化:
我省略了 overlapping/disjoint 个子集的任何指示,您可以根据您的要求填写它们。实现不相交的子集需要添加一些额外的类型指示符并检查下面的 tables 的约束。
从物理上讲,上图将转化为一组 table,例如:
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, ...)
这允许任何有用户记录的人登录,您可以通过加入那些 table 轻松地确定他们是客户、员工(或两者)。您可以轻松创建客户或 employee-specific 关系,例如
outlet_employees (outled_id PK/FK, employee_person_id PK/FK)
其中 employee_person_id 在员工 table 中有引用 person_id 的 FK 约束。您还可以建立 user-specific 关系,或一般人际关系,具体取决于您的要求