关于第3范式的问题

时间:2009-04-18 17:45:13

标签: entity-relationship relational relational-database third-normal-form

下表:

EmpId  State   Zip
1       FL   342008
2       CA   342001

不是第3范式,因为 国家依赖于初级 密钥(EmpId)传递。

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

它在3NF。

我也可以打破它: (EmpId,State)(EmpId,PIN) 它将再次出现在3NF。

但在第二种情况下, 有冗余的信息,为 e.g。

1  FL
2  FL

1 342008
2 342008

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

3 个答案:

答案 0 :(得分:1)

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

EmpId Zip
1     342008

Zip    State
342008 FL

始终考虑取决于什么。当然,已经有standard process to normalize based on set theory了。 This也可以帮到你。

答案 1 :(得分:0)

这并没有直接解决您的问题,但严格来说,州列是多余的,因为它可以从邮政编码中获得(尽管您显示的是六位数的邮政编码,这些邮政编码不是标准的美国。)你可以通过EmpID和ZIP打破桌面,将State单独留在查找表中。

答案 2 :(得分:0)

要直接解决问题,违规的属性是FFD(对密钥的完全功能依赖性)。