1.Armstrong 公理
(1)自反律(reflexivity)。若YCXCU,则X一Y在R上成立。即一组属性函数决定它的所有子集。(2)增广律(augmentation)。若X→Y在R上成立,且ZCU,则XZ→YZ在R上也成立。(3)传递律(transitivity)。若X→Y和Y→Z在R上成立,则X→Z在R上也成立。
2. Armstrong 公理推论
(1)合并规则(union rule)。若X→Y和X→Z在R上成立,则X→YZ在R上也成立。(2)分解规则(decomposition rule)。若X→Y和ZCY在R上成立,则X→Z在R上也成立。
从合并规则和分解规则可得到如下重要结论:
如果A…A。是关系模式R的属性集,那么X→A,…A。成立的充分必要条件是X→A,(i=1,2,…,n)成立。
(3)伪传递规则(pseudo-transitivity rule)。若X→Y和YW→Z在R上成立,则XW→Z在R上也成立。(4)复合规则(composition rule)。若X→Y和W→Z在R上成立,则XW→YZ在R上也成立。
二.闭包及候选键求解方法
对于一个关系模式R(U,F),要根据已给出的函数依赖F,利用推理规则推导出其全部的函数依赖集是很困难的,比如,从F=1Xd. 出发,至少可以推导出2n个不同的函数依赖。为此引入了函数依赖集闭包的概念。
1.函数依赖集的闭包
定义9.2 在关系模式R(6,)中,U是R的属性全集,F是R上的一组函数依题。设x、Y是U的子集,对于关系模式R的任一关系r,如果,满足F,则,满足XY,那么称F逻辑黄涵XAY 或称函数依赖X→Y可由F导出。
2.属性集闭包
X=(A I X→A能够由 F根据 Armstrong 公理导出
对关系模式 R(U,F),求属性集X相对于函数依赖集F的闭包X+的算法如下:步骤1:初始,X+=X。步骤2:如果F中有某个函数依赖Y→Z满足Y属于X+=X*UZ步骤3:重复步骤2,直到不再增大为止。
3.候选键求解图示