了解数据库规范化。如何给出表3NF?

时间:2015-09-16 15:20:14

标签: database relational-database normalization database-normalization 3nf

这是对答案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]

请详细解释。

1 个答案:

答案 0 :(得分:2)

您联系的答案表明该表有两个键:( Pizza,Topping)和(Pizza,Topping Type)。依赖性Topping-> Topping Type不违反2NF或3NF,因为Topping Type是主要属性(候选键的一部分)。仅当Topping Type为非素数时才会违反2NF和3NF。

此示例显示了BCNF和3NF之间的本质区别。 BCNF关注所有属性的部分或非关键依赖关系,而不仅仅是非素数属性。