rheet

数据库范式-学习笔记4


数据库范式

规范化的关系称为范式,给出了如何设计具有一定特性数据模式的一种方法,可将数据库中排除某些不希望有的特性。

第一范式:一个关系模式R中的每个属性A的域值都是原子的,即属性值是不可再分的,则关系模式R∈1nf,若数据库模式R中的每个关系模式都是1NF的,则数据库模式R∈1NF。

优:每一行表示现实世界中的一个实体,可以对其进行检索和更新操作

缺:常常会存在大量的数据冗余,且数据操作插入、删除、更新等不方便造成异常

第二范式:设F是关系模式R上的函数依赖集,如果一个关系模式R∈1NF,且所有的非主属性完全依赖于R上的每个关键字,R∈2NF

非主属性值存在冗余值,消除属性值间存在部分依赖的关系

第三范式:设F是关系模式R上的函数依赖集,如果一个关系模式R∈1NF,且在R中没有非主属性传递依赖于R的关键字,则关系模式R∈3NF

消除非主属性值对主性值间存在传递依赖,但没有考虑主属性间的依赖关系

Boyce-codd范式(BCNF):设F是关系模式R上的函数依赖集,若R∈1NF,而且R中没有任何属性传递依赖于R中的任一关键字,则关系模式R属于Boyce-codd范式。等价定义为设F是关系模式R上的函数依赖集,如果对于R的任一子集Y和属性A∈R-Y,若有FD Y->A,Y必为R的关键字,则关系模式R∈Boyce-codd。

拜读了几篇相关的文章,感觉收获不小,如http://www.cnblogs.com/tongtkk/articles/148187.html对范式有了理性上的认识,感觉也有实际的经验。

posted on 2008-09-16 21:03  rheet  阅读(373)  评论(0编辑  收藏  举报

导航