0

以下实体关系是否正确?我正在尝试链接员工、时间表和审批者表。

其他表格和字段很少,但对于这个问题,我主要关心的是三个表格。一名员工可以拥有多个时间表审批者。

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



或者这看起来不错?

在此处输入图像描述

4

4 回答 4

1

我的建议

为什么要Approver作为单独的表?你可以在员工表中保留一个Bit字段吗?IsApprover否则你正在创建redundancy

于 2012-06-21T17:39:26.210 回答
0

我觉得设计有问题。这是我的想法。

员工

EmpID PK

姓名

时间表

TSHEET_ID PK

FK_EmpID

由通过

第三张表是不必要的。

于 2012-06-21T04:41:13.723 回答
0

如果有多个批准,我们不能将名为 Approved_by 的列添加到 TimeSheet 表中。然后我们可以再添加两个关系。一种是批准人名单。

审批人

审批人ID

部门

姓名

时间表批准

时间表ID

部门 1 审批人 ID

部门 2 审批人 ID

..........................很快

不要忘记将 Approved_by 删除到 TimeSheet realtion。

于 2012-06-21T08:47:27.663 回答
0

员工

EmpID - PK

姓名

时间表

TSHEET_ID - PK

EmpID - FK

审批人 ID - FK

审批人

审批人-PK

部门

好的,这是我的最终答案。如果不适合您可以尝试自己的。我没有时间阅读所有这些评论。我试图帮助你。使用审批者关系,您可以获得部门和其他事物的审批者。检查 sql 查询以获取这些数据。

于 2012-06-21T10:51:21.530 回答