这是对答案Difference between 3NF and BCNF in simple terms (must be able to explain to an 8-year old)的跟进。为什么3NF中有下表? Pizaa,Topping是候选键,Topping类型部分依赖于Topping,因此它甚至不是2NF。
[0:50:1]
请详细解释。
答案 0 :(得分:2)
您联系的答案表明该表有两个键:( Pizza,Topping)和(Pizza,Topping Type)。依赖性Topping-> Topping Type不违反2NF或3NF,因为Topping Type是主要属性(候选键的一部分)。仅当Topping Type为非素数时才会违反2NF和3NF。
此示例显示了BCNF和3NF之间的本质区别。 BCNF关注所有属性的部分或非关键依赖关系,而不仅仅是非素数属性。