日期: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 数据依赖公理