0

下表:

EmpId  State   Zip
1       FL   342008
2       CA   342001

不是第 3 范式,因为 State 可传递地依赖于主键(EmpId)。

所以,如果我这样打破它: (EmpId,State) (State,PIN)

它在 3NF 中。

我也可以打破它: (EmpId,State) (EmpId,PIN) 它将再次处于 3NF 中。

但在第二种情况下,存在信息冗余,例如

1  FL
2  FL

1 342008
2 342008

第二次分解违反了哪个性质?

4

3 回答 3

1

如前所述,存在冗余,因为可以通过邮政编码推断州,因此,您应该以这种方式拥有表格:

EmpId Zip
1     342008

Zip    State
342008 FL

总是想什么取决于什么。当然,已经有一个基于集合论进行归一化的标准过程也可以帮助你。

于 2009-04-18T18:25:27.143 回答
0

这并不能直接解决您的问题,但是严格来说, state 列是多余的,因为它可以从邮政编码中派生出来(尽管您显示的是六位数的邮政编码,这在美国不是标准的。 ) 您可以按 EmpID 和 ZIP 分解表格,将 State 单独留在查找表中。

于 2009-04-18T18:13:17.640 回答
0

为了直接解决所提出的问题,违反的属性是 FFD(对密钥的完全功能依赖)。

于 2009-09-06T13:57:25.783 回答