日期:2014-05-16  浏览次数:20335 次

第三章 关系模式的规范化设计

3.1       函数依赖

       函数依赖:当X的值确定以后,Y的值被唯一的确定。

       完全函数依赖:X的任何子集都不能确定Y。

       部分函数依赖:存在X的子集可以确定Y。


       候选键:唯一性、最小性。

       主属性:包含在任何一个候选键中的属性。

       非主属性:不包含在任何一个候选键中的属性。

3.2       关系模式的规范化

       321    关系与范式

              范式:满足不同要求的关系等级。

              关系模式的规范化:由一个低级范式通过模式分解逐步转换为若干个高级范式的过程。

       

       第一范式:每个属性值都不可再分。

              实现方法:去掉组合属性,拆分重复组。

       第二范式:每一个非主属性都完全函数依赖于任一候选键。(不存在部分函数依赖)

              实现方法:对原关系进行分解。

       第三范式:任一非主属性都不传递函数依赖于任何一个候选键。

              性质:不存在非主属性之间的函数依赖,但仍然存在主属性之间的函数依赖。

              判断方法:

                            1、找候选键,确定非主属性。

                            2、考察非主属性对候选键是否存在部分函数依赖。存在:不是2NF;不存在:是2NF。

                            3、考察非主属性之间是否存在函数依赖。存在:不是3NF;不存在:是3NF。

       BC范式:所有函数依赖的左部都包含任一候选键。

              多值依赖:给定一组(X,Z),有一组Y与之对应,但是Y仅仅由X决定,而与Z无关,称Y多值依赖于X,或者X多值决定Y。

              平凡多值依赖:X->->Y,如果Y属于X,或者XY=U,则称X->->Y为平凡多值依赖。

       第四范式:每个非平凡多值依赖X->->Y,X都包含R的候选键。

3.3       数据依赖公理