下表:
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
第二次分解违反了哪个属性?
答案 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(对密钥的完全功能依赖性)。