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

前端之家收集整理的这篇文章主要介绍了第三章 关系模式的规范化设计前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

原文链接:https://www.f2er.com/javaschema/286522.html

猜你在找的设计模式相关文章