也许这不是解决这个问题的最佳方法......但如果是这样我想查看,因为我没有看到任何EER模型显示这一点。
假设你有实体员工,经理和工人
员工是经理或员工
员工(用户名PK,密码,姓名)
经理(manager_ID PK,轮班,部门)
工人(worker_ID PK,hour_per_week,manager_ID FK)
我可以将ID作为属性插入员工,这是员工或员工的主要关键。
或者我将用户名作为外键添加到经理和工作人员
基本上,我如何根据员工的身份将员工与员工和经理联系起来?
答案 0 :(得分:1)
我可以将ID作为属性插入员工,这是员工或员工的主要关键。
没有。员工列中'1'
的主键指的是哪个?经理ID或员工ID?两个表都可能包含ID为1的条目,因此除非您添加is_manager
之类的其他列,否则这不是区分因素。
或者我将用户名作为外键添加到经理和工作人员。
是 - 员工PK应为manager
和employees
的FK。事实上,由于您可以重新使用员工PK,因此您不需要为经理或员工提供额外/单独的PK。
此外,即使您使用'用户名'作为PK,如果可以更改它,最好将PK保留为数字。