如题所述
题目要补充完整,必须给出集合U
已知R(U,F),其中 U={A,B,C,D,E}, F={A→D,E→D,D→B,BC→D,DC→A},求候选关键字。
①取L类属性(仅出现在F的函数依赖左侧的)——E,C
②求EC关于F的闭包(即由EC可以推出哪些属性)——(EC)+ = ABCDE,包含了U的全部属性,故EC为候选关键字
注: 若U={A,B,C,D,E,P},P不在F中左侧或右侧,则P为N类属性,(ECP)+ =ABCDEP,同样包含了U的全部属性,那么候选关键字就为ECP
附:
定理一:对于给定的关系模式R(U,F),若X(X属于U)是L类属性,则X必为R的任一候选码的成员(组成部分)。
推论一:已知R(U,F),若X(X属于U)是L属性,且X+F包含了R的全部属性U,则X必为R的唯一候选码。
定理二:给定R(U,F),若X(X属于U)是R类属性,则X不在任何候选码中。
定理三:给定R(U,F),若X是R的N类属性,则X必包含在R的任一候选码中。
推论二:已知R(U,F),若X是R的N类和L类属性组成的属性集,且X+包含了R的全部属性U,则X是R的唯一候选码。
E→D,所以CE→D,然后CE→CD,而DC→A,继而CE→A;
因为CE→D,且D→B所以CE→B;
至此,CE→A, CE→B, CE→D
完毕。
记得点赞哦~
候选键ACE追问
请问具体解题方法是什么
追答首先问你,知道啥叫函数依赖不?
追问知道
使用函数依赖该用什么解题过程?
追答A→D=>A
E→D=>E
就是说A,E能够决定AED3个属性集。
然后D->B,所以AE能够决定AEDB4个属性集。
加bc->D进来,所以加上C能够决定AEDBC5个属性集。
DC→A这个对属性集的闭包没影响。
解题的不步骤就是一个个函数依赖加进来,知道题目给完。
这个先给你举简单的例子,给出A->B, B->C。说出它的候选键?
因为A决定B,而B又能决定C,所以只需要A就能决定ABC三个属性,所以它的候选键就是A。
再来的例子,给出A->B, B->C, D->E说出它的候选键?
A能决定ABC,D能决定DE,所以选AD作为候选键,他能决定所有的属性集。