规范化理论:候选键的求解理论和算法
什么是关键码?
设关系模式R的属性集是U,X是U的一个子集,F是在R上成立的一个函数依赖集。如果X→U在R上成立(即X→U在中),那么称X是R的一个超键。如果X→U在R上成立,但对X的任一真子集都有→U不成立(即→U不在中,或者XU),那么称X是R上的一个候选键。
快速求解候选键的一个充分条件
对于给定的关系模式RE(, , … , )和函数依赖集F,可将其属性分为以下四类。
(1)L类:仅出现在F中的函数依赖左部的属性;
(2)R类:仅出现在F的函数依赖右部的属性;
(3)N类:在F的函数依赖左右两边均未出现的属性;
(4)LR类:在F的函数依赖左右两边均出现的属性。
对于给定的关系模式R及其函数依赖集F,有一下结论。
(1)若X(X∈RE)是L类属性,则X必为RE的任意候选键的成员;
(2)若X(X∈RE)是L类属性,且包含了RE的全部属性,则X必为RE的唯一候选键;
(3)若X(X∈RE)是R类属性,则X不在任何候选键中;
(4)若X(Y∈RE)是N类属性,则X包含在R的任一候选键中;
(5)若X(X∈RE)是RE的N类和L类属性组成的属性集,且X包含了R的全部属性,则X
是RE的唯一候选键。
下面我们举例说明。
【例1】设有关系模式R(A, B, C, D)与它的函数依赖集F={D→B, B→D, AD→B, AC→D},求R的所有候选键。
解题思路:
通过考察F发现,A,C两属性是L类属性,故A、C两属性必在R的任何候选键中;
又由于=ABCD,即包含了R的全部属性,因此,AC是R的唯一候选键。
【例2】设有关系模式R(A, B, C, D, E, P)与它的函数依赖集F={A→D, E→D, D→B, BC→D, DC→A},求R的所有候选键。
解题思路:
通过考察F发现,C,E两属性是L类属性,故C,E两属性必在R的任何候选键中;
由于P是N类属性,故P属性也必在R的任何候选键中;
又由于= ABCDEP,即包含R的全部属性,因此,CEP是R的唯一候选键。
多属性函数依赖集候选键的求解算法
下面我们总结一下求解一个关系R的候选键的一般步骤:
(1)根据函数依赖集F,将R的所有属性分为L类、R类、N类和LR类等四类,并令X代表L类和N类属性,Y代表LR类属性;
(2)求,若包含了R的全部属性,则X即为R的唯一候选键,转到步骤(5);
(3)从Y中取一个属性A,求,若它包含了R的全部属性,则XA是R的一个候选键,再换另一个属性反复进行这一过程,直到试完Y中所有的属性;
(4)这次每轮从Y中取两个、三个、多个属性并到属性集X中,每轮仿照步骤(3)的动作,耐心地求出关系R的全部候选键;
(5)停止,输出结果。
【例3】设有关系模式R(A, B, C, D, E)与它的函数依赖集F={A→BC, CD→E, B→D, E→A},求R的所有候选键。
解题思路:
通过分析F发现,其所有的属性A、B、C、D、E都是LR类属性,没有L类、R类、N类属性;
因此,先从这些属性中依次取出一个属性,分别求它们关于F的闭包:
=ABCDE,=BD,=C,=D, =ABCDE
由于和都包含了R的全部属性,因此,属性A、E分别都是R的一个候选键;
接下来,从关系模式R中取出两个属性,分别求它们关于F的闭包,但在取出两个属性时,只能从B,C,D三个属性中取出两个属性,因为属性A、E已经是R的候选键了,根据候选键的定义,它们就不可能再存在于其他的候选键中:
=ABCDE,=ABCDE,=BD
由于和都包含了R的全部属性,因此,属性集BC,CD也分别都是R的一个候选键;
至此,关系模式R中不可能再存在别的候选键了,因此,关系模式R的所有的候选键分别是A、E、BC和CD。
参考资料:[1]陈志泊,王春玲,许福,范春梅.数据库原理及应用教程(第3版)[M].北京:人民邮电出版社,2014:136-137.
规范化理论:候选键的求解理论和算法相关推荐
- 一种结合混沌密码理论的彩色图象水印算法
本文是本人毕业时发表的论文. 原文地址:http://www.ahcit.com/lanmuyd.asp?id=1972 摘 要 文章提出一种集混沌加密技术,小波变换,扩频技术为一体的彩色图像水 ...
- UA PHYS515A 电磁理论IV 时变电磁场理论6 用含时Green函数求解时变电磁场问题的例子
UA PHYS515A 电磁理论IV 时变电磁场理论6 用含时Green函数求解时变电磁场问题的例子 在一个nuclear中有一些photon,photon受激产生e−,e+e^-,e^+e−,e+两 ...
- 【翻译】利用加速度求解位置的算法——三轴传感器
cposture 一个小白的技术成长之路 [翻译]利用加速度求解位置的算法--三轴传感器 http://www.cnblogs.com/cposture/p/4378922.html 摘要 ...
- 利用加速度求解位置的算法——三轴传感器
转载的一篇文章,跟自己做过的一个车载项目类似,也算是标记一下吧. ---------------------------------------分割线------------------------- ...
- 利用三轴加速度求解位移的算法—来自飞思卡尔方案
在要求精度不高的情况,可以使用三轴加速度积分得到位移,飞思卡尔给出了官方方法,下文来自翻译说明 cache.freescale.com/files/senso- 摘要 此文档描述并使用MMA7260Q ...
- 【计算理论】计算复杂性 ( 计算理论内容概览 | 计算问题的有效性 | 时间复杂性度量 | 输入表示 | 时间复杂度 )
文章目录 一.计算理论内容概览 二.计算问题的判定性 三.计算问题的 有效性 四.时间复杂性度量 五.算法有效性 数学定义需求 六.输入表示 七.时间复杂度 一.计算理论内容概览 计算理论分为 形式语 ...
- UA PHYS515A 电磁理论IV 时变电磁场理论2 Helmholtz方程与含时的Green函数
UA PHYS515A 电磁理论IV 时变电磁场理论2 Helmholtz方程与含时的Green函数 上一讲的末尾我们介绍了Lorentz Gauge下的含时麦克斯韦方程: (∇2−1c2∂2∂t2) ...
- 理论计算机科学研究生,清华大学理论计算机科学中心姚期智组招收保送研究生,请帮忙发到虎...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 清华大学理论计算机科学研究中心,将招收2009级博士.硕士研究生,主要研究方向为通讯.量子计算复杂性.量子密码理论及创新研究.安全计算理论等计算机科学重大 ...
- 微软亚洲研究院成立理论中心,以理论研究打破AI发展瓶颈
微软亚洲研究院成立理论中心,以理论研究打破AI发展瓶颈微软亚洲研究院成立理论中心,以理论研究打破AI发展瓶颈12月11日,微软亚洲研究院举办了2021理论学术研讨会,来自学术界和产业界的理论研究专家齐 ...
- 全国理论计算机科学年会2021,理论计算机科学论文,关于计算机维修参考文献2019年相关参考文献资料-免费论文范文...
导读:这篇理论计算机科学论文范文为免费优秀学术论文范文,可用于相关写作参考. 2.017全国理论计算机科学学术年会 征文通知 由中国计算机学会理论计算机科学专业委员会主办,陕西师范大学计算机科学学院承 ...
最新文章
- ICLR 2020将采用远程会议,首次在非洲办会可能就这样泡汤了
- Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1 (ISO)
- 常用报文的解析与相互转换
- springMVC异常处理器:自定义异常处理器捕获系统异常,控制异常页面跳转
- Python用户交互以及数据类型
- ImportError: IProgress not found. Please update jupyter and ipywidgets.
- swf游戏保存进度_关于flash游戏swf文件的修改
- 13个不错的jquery图片放大器效果
- 洛谷P3709 大爷的字符串题 莫队
- LabWindows操作Excel
- 一种基于波状扩散特征分析的光斑检测方法
- PMP 项目质量管理
- 基于Python+kociemba+opencv的3阶魔方自动还原
- 碰撞、子弹路径、参考
- 直观上理解PCA中特征值和特征向量
- seq2seq 解释
- Trinity转录组无参组装
- 【day08~10】Java面向对象基础认识
- 改变边框线条与背景重叠的布局
- ITK——5. 利用ITK自身的多线程加速filter计算