[英]Entity relation
以下实体关系正确吗? 我正在尝试链接员工,时间表和批准者表。
其他表和字段很少,但是对于这个问题,我主要关注以下三个表。 一名员工可以拥有多个时间表批准者。
Employee
--------
EmpID pk
Name
TimeSheet
------------
TSHEET_ID PK
FK_EmpID FK
Approved_By
Timesheet_Approver (one employee can have more than one approver
but only one will be approving the timesheet)
------------------
EmpID
Approver_EmpID
员工表数据:
EmpID Name
----- -----
1 john
2 david
3 mark
时间表批准者数据:
EmpID Approver
----- --------
1 2
1 3
2 3
时间表
TSID EMPID APPROVED_BY
---- ----- -----------
101 1 2
102 1 3
103 2 3
或者这看起来还好吗?
为什么要将Approver
作为单独的表格? 能否在Employee表中保留IsApprover
类的Bit
字段? 否则,您将创建redundancy
我觉得设计有问题。 这是我的主意。
雇员
EmpID pk
名称
时间表
TSHEET_ID PK
FK_EmpID
由...批准
第三张表是不必要的。
如果有多个批准,我们无法将一个名为Approved_by的列添加到TimeSheet表中。 然后,我们可以再添加两个关系。 一种是批准者名单。
批准人
审批者编号
部
名称
TimeSheet批准
TimeSheetID
Department1ApproverID
Department2ApproverID
.......................... so on
不要忘记将Approved_by删除到TimeSheet实例中。
雇员
EmpID-密码
名称
时间表
TSHEET_ID-PK
EmpID-FK
审批者ID-FK
批准人
审批者编号
部
好的,这是我的最终答案。 如果不合适,您可以尝试自己的一个。 我没有时间阅读所有这些评论。 我正在努力帮助您。 使用“批准者”关系,您可以在部门中获得批准者和其他东西。 检查sql查询以获取那些数据。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.