Chinaunix首页 | 论坛 | 博客
  • 博客访问: 674578
  • 博文数量: 463
  • 博客积分: 40000
  • 博客等级: 大将
  • 技术积分: 4580
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-15 16:47
文章分类

全部博文(463)

文章存档

2011年(1)

2008年(462)

我的朋友

分类:

2008-10-15 16:52:32

       

在很多数据库的相关书籍中,数据库范式的定义让很多人都感觉到晦涩难懂,深入理解起来更是一头雾水,我在这里给出一个通俗的描述:

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即可!

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

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



--------------------next---------------------

阅读(656) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~