本文介绍了谁能用一个正确的例子向我解释1NF,2NF,3NF,BCNF规则?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

This is a common interview question. I faced one interview where the interviewer gave me one table and asked me tell him which normal form the table is in? If it's in ##NF, then normalize it to the next NF?

我总是对这些正常数据库形式感到困惑。
谁能向我解释这些正常形式,并举例说明如何将每个NF建模到表格中,以便对我的下一次面试有所帮助?

I'm always get confused between these normal forms of database.Can anyone explain to me these normal forms with a proper example of how each NF is modeled into table so it will help in my next interview?

推荐答案

Boyce Codd范式实际上是最重要的,也是最容易解释的:每个不重要的行列式都是一个超键(只要记住超键中的箭头)。较小的范式仅值得一提,因为在某些情况下BCNF不能保持依赖关系。

Boyce Codd Normal Form is really the most important and also the easiest to explain: Every non-trivial determinant is a superkey (just remember "arrows out of superkeys"). The lesser normal forms are only worth mentioning because BCNF is not dependency-preserving in a few cases.

休·达文(Hugh Darwen)的BCNF和5NF示例:

Examples of BCNF and 5NF by Hugh Darwen:




  • Database Design Issues: Part I
  • Database Design Issues: Part II

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

For more mathematical definitions (Abiteboul et al):



  • Foundations of Databases: The Logical Level

这篇关于谁能用一个正确的例子向我解释1NF,2NF,3NF,BCNF规则?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-03 21:59