数据库函数依赖判断

数据库函数依赖判断例题

1.前言
因为在复习国科大数据库新技术课程,找遍全网也没有找到对函数依赖判定的实例化讲解。于是决定自己写一个给大家参考。第一篇csdn博客,写的不好,敬请见谅。

2.例题
问:已知R,U={A,B,C,D,E},F={A→C,B→C,C→D,DE→C,CE→A},R的一个分解为R1(AD),R2(AB),R3(BE),R4(CDE),R5(AE),判断这个分解是否具有函数依赖性。

解:
1.1由题发现,R4已经包含了C->D,DE->C的所有字母。但对于A->C,B->C,CE->A这三个推导,均未能找到一个R,能囊括其中某一个推导的全部字母。故只需要算法检测A->C,B->C,CE->A。

1.2开始使用算法依次检测这三个推导:
先检测A->C
算法思路:result=γ; //因为检测的是A->C,此时result是A
while(result发生变化) do for //将每个分解后的结构Ri逐个带入
t=(result∩Ri)+ ∩ Ri //这里的意思是取result与Ri的交集的闭包值,之后再与Ri取交集 result=result∪t

1.3开始计算
数据库函数依赖判断_第1张图片

你可能感兴趣的:(笔记)