数据库范式最通俗的描述

相关文章链接(如有不足之处请留言补充):
面试宝典目录-文章链接

那些数据库的书介绍的数据库范式,实在是晦涩难懂,我在这里给出一个通俗的描述:


1NF:一个table中的列是不可再分的(即列的原子性)

2NF:一个table中的行是可以唯一标示的,(即table中的行是不可以有重复的)

3NF:一个table中列不依赖以另一个table中的非主键的列,还是不通俗!巨寒!!

举个例子吧:有一个部门的table,我们叫它tbl_department, 它有这么几列(dept_id(pk),dept_name,dept_memo...)

有一个员工table,我们叫它tbl_employee,在这个table中有一列dept_id(fk)描述关于部门的信息,若tbl_employee要满足3NF,

则在tbl_employee中就不得再有除dept_id列的其它有关部门信息的列!

一般数据库的设计满足3NF即可!(个人觉得应该尽可能的满足3NF,一家之言^_^)

BCNF:通常认为BCNF是修正的第三范式,它比3NF又进一步!

4NF:

5NF:将一个table尽可能的分割成小的块,以排除在table中所有冗余的数据


面试宝典目录-文章链接

你可能感兴趣的:(面试,Blog)