任何人都可以用适当的例子向我解释1NF,2NF,3NF,BCNF规则吗?

时间:2011-01-14 14:57:04

标签: sql database database-design normalization

这是一个常见的面试问题。我面对一次采访,面试官给了我一张桌子,并告诉他桌子的正常形式是什么?如果它在## NF中,那么将其标准化为下一个NF?

我总是对这些正常形式的数据库感到困惑。 任何人都可以向我解释这些正常形式,并提供一个适当的例子,说明每个NF如何建模到表格中,以便在下次采访中有所帮助吗?

2 个答案:

答案 0 :(得分:4)

Boyce Codd Normal Form确实是最重要也最容易解释的:每个非平凡的决定因素都是超级键(只记得“超级键中的箭头”)。较少的正常形式仅值得一提,因为BCNF在少数情况下不依赖于保留。

Hugh Darwen的BCNF和5NF的例子:

更多数学定义(Abiteboul等):

答案 1 :(得分:0)

我建议你从这里开始阅读所有提到的主题:
http://en.wikipedia.org/wiki/1NF

使用概念翻译术语需要花费一些时间,但如果您作为数据库设计师值得购买,那么不会花费很长时间。