繁体   English   中英

实体关系

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM