如何映射这种关系?我所遇到的问题是根据ER显示的“每个雇员必须有一个主管”和“每个雇员必须由雇员监督”。因此,当插入第一条记录时,存在问题,因为没有其他员工ID可以作为主管插入。由于双方都是强制性的,因此在插入记录时必须同时具有EmpID和SupvID。并且SupervID不能为空吗?
示例员工表:
员工 EmpID |名字| dob | SupervID
答案 0 :(得分:2)
ER建模应该反映数据的业务规则。除非您允许一名员工监督自己,或者除非您允许监管链中的循环,否则“每位员工必须由某些员工监督”的业务规则是不可能实施的。
如果您的业务规则不可行,您的ER模型将反映这一事实。
答案 1 :(得分:0)
假设您的组织有层级,谁负责监督主管?谁监督超级监督员?最终,您将至少有一名没有主管的员工。因此,您描述的业务规则不切合实际,数据库设计自然会出现问题。
答案 2 :(得分:0)
由于 Many to 1
关系,许多(Supervisee)方将承担其主管的ID。因此:
Employee (*ID*,supervisorID)