我已经分解了一种关系,它跟踪员工的关系以及他们在酒店工作的时间。原来的关系如下
R(national insurance number, contract Number, hours, eName, hotel Number, hotel Location)
改写为
R(A, B, C, D, E, F)
我找到了功能依赖项
F:(A->D, E->F, AB->C, B->E, BA->E)
由此我创建了以下 3 个表
1.
Employees:
national insurance number(A)
eName(D)
PRIMARY KEY(A)
2.
Works at:
contract Number(B)
Hours(C)
national insurance number(A)
PRIMARY KEY(B, AND A)
3.
Hotel:
contract Number(B)
hotel Number(E)
hotel Location(F)
PRIMARY KEY(B)
在我的第三张表中,我有一个主键,可以确定酒店的数量和位置。但是酒店号码也可以确定酒店的位置。我应该将酒店位置移动到一张新桌子上,只有酒店号码吗?那会占用更多空间,但是否有必要达到 3RD 范式?