候选码,最高范式求解


候选码


将所有属性进行分类

假设有关系模式R<J, K>

将R的所有属性分为 L、 R、N和 LR四类
------------------>分别用:
------------------> X 代表L,N两类
------------------> Y 代表LR类

对 L , R , N , LR 做出解释:

类型名 解释
L类 仅出现在F的函数依赖左部的属性
R类 仅出现在F的函数依赖右部的属性
N类 在F的函数依赖左右两边都不出现的属性
LR类 在F的函数依赖左右两边都出现的属性

通过闭包求唯一候补码或是所有的候补码

求属性集闭包X+,若 X+包含了R的全部属性则X即为R的唯一候选码,不再进行判断;

否则, 在Y中取一属性A
求属性集闭包 (XA)+,若 (XA)+ 包含了R的全部属性,则继续尝试取2个,3个 。。。包含在Y下的属性;
否则,调换一属性反复进行这一过程,直到试完所有Y中的属性。

如果已找出了所有的候选码,就不再进行判断;

最高范式求解

包含关系

属于第二范式的数据库一定属于第一范式,

关系模式数据库一定属于第一范式

第一范式去除所有非主属性,去除部分函数依赖或是为完全函数依赖,则属于第二范式

第二范式去除函数传递依赖则属于第三范式

第三范式去除多值依赖则属于第四范式

猜你喜欢

转载自blog.csdn.net/qq_50767141/article/details/117880609