【发布时间】:2019-01-17 09:07:44
【问题描述】:
我无法找到有关如何在 Access 中创建 IS_A 关系的明确答案。
这里有同样的问题,但没有简明的答案: IS_A relationship primary key validation rules
我有实体 Employee,以及两个子实体 Loan_Officer 和 Branch_Manager。这确实是 IS_A 关系的学校示例。
我已经成功地创建了 A 关系,但需要限制员工必须是信贷员或分行经理,但不能两者兼而有之。现在,我不知道该怎么做,因为无论我做什么,我都可以同时在两个子实体表中分配相同的 Employee_ID。
现在,这个表格设计只是我所做的,以便能够通过一对一的关系将它们连接起来。我必须将 Loan_Officer 的 PK 设置为“Number”而不是“AutoNumber”,以便能够连接它们。另一种选择是在 Loan_Officer 中有一个单独的 PK,如“Loan_Officer_ID”,在 Loan_Officer 表中有一个外键“Employee_ID”,但结果再次相同(也根据 ER 图,子实体不'没有单独的PK)。
【问题讨论】:
-
我将创建一个实体而不是 2 个实体 - 具有自己的自动编号 PK 的官员,具有 2 个可能值(贷款和经理)的字段 OfficerType 和 FK 到 Employee 表。
-
我也在考虑这个。在这种简单的情况下,它实际上可能是一个最佳选择。但是在某些情况下,两个不同的子类实体有很多不同的属性,我们会在各自的字段中有很多空值吗?
标签: ms-access