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

mr_*_*air 9 sql database database-design normalization

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

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

nvo*_*gel 5

博伊斯·科德范式确实是最重要的也是最容易解释的:每个非平凡的行列式都是一个超键(只要记住“超键中的箭头”)。较小的范式仅值得一提,因为在某些情况下BCNF不能保持依赖关系。

Hugh Darwen的BCNF和5NF的示例:

有关更多数学定义(Abiteboul等人):