实体关系图中的自引用或独立冗余表

时间:2016-10-14 01:56:15

标签: database database-design entity-relationship erd

我有一个案例,员工互相提交同行评审。收件人请求反馈和提交者(一个或多个)提交反馈。员工无法自我审核。

1)我可以使用一张桌子作为'员工'并将其用作收件人和提交者等2个实例?

2)我可以使用'员工'表然后自我引用它以避免任何冗余?我正在考虑如何通过约束来实现这一点,因为员工无法通过应用条件提交自己的审核,因为员工ID在提交/请求反馈时不应该相等。

2 个答案:

答案 0 :(得分:0)

不确定在哪里看到冗余,但这样的事情应该有效。

employeee_review

答案 1 :(得分:0)

1)您可以与两个角色建立关系,这两个角色均由员工填写。但是,不要将行/表与实体/实体类型混淆。

2)我假设员工可以多次提交反馈,并且不止一次收到反馈。如果是这样,您将拥有多对多关系,无法通过引入冗余将其非规范化到Employee表中。带有检查约束的单独表,以防止提交者与收件人相等,听起来是合适的。