概论一个关系数据库由一组关系模式组成,一个关系由一组属性名组成,关系数据库设计就是如何把已给定的相互关联的一组属性名分组,并把每一组性名组织成关系的问题。
作 用:用形式更为简洁、结构更加规范的关系模式取代原有关系的过程。
主要点: ֍存储异常֍冗余度֍插入异常֍删除异常
关系的规范化一个关系数据库中的每个关系模式的属性间一定要满足某种内在联系,而这种联系又可对关系的不同要求分为若干个等级
规范化可按属性间不同的依赖程度分为:第一范式、第二范式、第三范式、Boyce-Codd范式以及第四范式。
第一范式:如果关系模式R中不包含多值属性(不可分的数据项),则R∈1NF。(FirstNor-malForm)
第二范式:若关系模式R∈1NF,且每个非主属性都完全依赖于R的键,则R∈2NF。
第三范式:对于关系模式R,每一个非主属性键既不部分函数依赖于键,也不传递函数依赖于键,则R∈3NF。
Boyce-Codd范式:相比3NF,BCNF要求更加严格
第四范式:在多值依赖的基础上我们引入第四范式的概念
如果只考虑函数依赖,则BCNF的关系模式规范程度已经达到最高
如果考虑多值依赖,那么4NF的关系模式规范化程度最高
函数依赖:是关系模式内属性间最常见的依赖关系(一个值的确定也随之确定了另一个值,则称后一个数正常依赖于前一个数)
规范化问题研究:模式分解的研究
若要求满足无损联接性,则模式分解一定可以达到BCNF
若要求满足依赖保持性,则模式分解一定可以达到3NF,但不一定可以达到BCNF
若既要求满足无损联接又要求满足依赖保持性,则模式分解一定可以达到3NF但不一定能达到BCNF(分解后关系中信息是否丢失?——无损联接;分解后关系中函数依赖是否丢失?——依赖保持性)