我无法找到有关如何在Access中创建IS_A关系的明确答案。
这里有相同的问题,但没有简洁的答案: IS_A relationship primary key validation rules
我有一个实体Employee,以及两个子实体Loan_Officer和Branch_Manager。这确实是学校与IS_A关系的一个例子。
我已经设法创建了一种关系,但是必须存在一个约束,即雇员必须是贷款官员或分支经理,但不能两者兼而有之。现在,我不知道该怎么做,因为无论我做什么,我都可以一次在两个子实体表中分配相同的Employee_ID。
现在,此表设计只是我要做的事情,以便能够通过一对一关系将它们连接起来。为了能够连接它们,我必须将Loan_Officer的PK设置为“ Number”,而不是“ AutoNumber”。另一个选择是在Loan_Officer中有一个单独的PK,例如“ Loan_Officer_ID”,在Loan_Officer表中有一个外键“ Employee_ID”,但是结果还是一样的(根据ER图,子实体也没有没有单独的PK)。
答案 0 :(得分:2)
答案 1 :(得分:2)
表之间的数据库中不存在“是A”关系。而是在Employee表或Employee History表中的一个字段。
“不能同时存在”的问题是验证逻辑的问题。应用此验证逻辑的位置可能是在表单对象级别(在数据输入期间),而不是表级别(最终用户绝对不能将任何数据直接输入到表中)。
答案 2 :(得分:1)
查看Access Data Macros。它们可以像插入记录,更新记录,删除记录等时触发SQL触发器一样使用。