小编Xeg*_*ara的帖子

在一对一的关系中,外键应该放在哪里?

我目前正在为项目管理系统设计 ERD。我无法在两个可行的解决方案之间进行选择作为最佳解决方案,因为我希望采用最佳标准。

可以访问系统的两个实体是客户和员工。由于它们具有不同的信息,我决定将它们视为不同的实体。我认为最好为系统用户使用一个表,而不是在客户和员工的两个表中都找到用户名和密码字段。另外,我必须遵循的限制:

  • 所有用户仅限于员工和客户。
  • 但并非所有员工都必须成为系统的用户。

以下是尚未定义关系的以下实体:

实体

现在,用户与客户、员工与用户之间只有一对一的关系。我的问题是我应该在哪里放置外键?我是否应该在用户表中放置两个外键,即employee_id 和 client_id,这样可以更轻松地从用户实体中找到关联的客户和员工实体,并且可以更轻松地定义授权规则?或者我是否应该将每个外键放在引用用户表的客户和员工身上,因为我不确定在一个表中包含两个外键且一次只能使用一个外键的做法是否可以接受。

erd database-design table

7
推荐指数
1
解决办法
1万
查看次数

标签 统计

database-design ×1

erd ×1

table ×1