第4章 初步了解规范化理论
部分函数依赖:设X,Y是关系R的两个属性集合,存在X→Y,若X’是X的真子集,存在X’→Y,则称Y部分函数依赖于X。
完全函数依赖:设X,Y是关系R的两个属性集合,X’是X的真子集,存在X→Y,但对每一个X’都有X’!→Y,则称Y完全函数依赖于X。
传递函数依赖:设X,Y,Z是关系R中互不相同的属性集合,存在X→Y(Y !→X),Y→Z,则称Z传递函数依赖于X。
关系模式的基本要求:(1)元组的每一个分量必须是不可分的数据项。(2)数据库中的数据冗余尽可能少。(3)当对数据进行更新操作时,不会产生更新异常。(4)进行插入操作,不会产生插入异常。(5)进行删除操作,不会产生删除异常。
关系数据库中的规范化理论主要包含三个方面的内容:1,函数依赖,2,范式,3,模式设计。
在数据的规范化理论中,模式分解应满足的几个条件是:遵守规范化理论,保持原有的依赖关系,无损连接性。
1NF : 1NF是一个关系模式最基本的要求,即一个不可分割的关系型数据库即可满足。消除非主属性对键的部分函数依赖关系,变为2NF.
2NF: 2NF要求每个关系模式都必须依赖于主键码。消除非主属性对键的传递函数依赖关系,变为3NF.
3NF: 3NF要求每个关系模式之间不能存在传递依赖与部分依赖。消除主属性对键的部分函数,和传递函数依赖关系,变为BCNF.
BCNF要求每个关系模式的左部都至少包含候选关键字。
在规范化的过程中,逐渐消除了存储异常,使数据冗余度尽量小,便于插入,删除,更新。
关系模式的分解准则:关系模式的规范化过程是通过对关系模式的分解来实现的。把低一级的关系模式分解为若干个高内一级的关系模式。这种分解不是唯一的。规范化的方式是进行模式分容解,模式分解的原则是与原模式等价。模式分解具有无损连接性。模式分解能够保持函数依赖。
将关系模式R<U,F>分解为一个3NF的基本步骤是
1).首先将关系模式R的函数最小依赖集求出来。
2).若求得的函数最小依赖集左部都是单属性,则完成对于关系模式R的3NF分解,结束。
3).去掉多余的函数传递依赖
3).找出不在F中的属性,将其构成一个关系模式并去掉,剩余的记为U。
4).将左部相同的属性分为一组。对于每一组的并集若组合成为U,则完成3NF的分解。
将关系模式R<U,F>分解为一个BCNF的基本步骤是
1).求出候选关键字,检查R中关系模式是否符合BCNF,若都符合输出即可
2).查看每个关系模式左部是否含有候选关键字,若R中有关系模式S不符合BCNF,则必有X->A属于F+,且X不是S的候选关键字。因为XA不包含S的全部属性,把S分为{S1,S2},其中S1=XA,S2=(S-A)X,分别计算其最小函数依赖集,并将{S1,S2}代替S代入第一步中。
网友评论