数据库设计范式

转载:http://blog.csdn.net/andywuchuanlong/article/details/25913235

      关系数据库中的关系必须满足一定的要求,即满足不同的范式。目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)、第五范式(5NF)和第六范式(6NF)。满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多要求的称为第二范式(2NF),其余范式以次类推。一般说来,数据库只需满足第三范式(3NF)就行了。

         很多资料上的范式都讲的很难理解,这里总结一下三大范式,便于读者简易的理解。

 

         1NF:字段是原子性的,不可分;
         2NF:有主键,非主键字段依赖主键。确保一个表只说明一个事物
         3NF:非主键字段不能相互依赖。 每列都与主键有直接关系,不存在传递的依赖

第一范式:不符合第一范式的例子:

        表:字段1、 字段2(字段2.1、字段2.2)、字段3 ......

第二范式:不符合第二范式的例子:

        表:学号、课程号、姓名、学分;

        这个表明显说明了两个事务:学生信息, 课程信息;由于非主键字段必须依赖主键,这里学分依赖课程号,姓名依赖与学号,所以不符合二范式。

 

第三范式:不符合第三范式的例子:

         表:学号、姓名、 年龄、 所在学院、学院联系电话、学院联系电话

          存在依赖传递: (学号) → (所在学院) → (学院地点, 学院电话)

猜你喜欢

转载自pb-water.iteye.com/blog/2373188