数据库函数依赖与候选码题目?

数据库函数依赖与候选码题目?,第1张

因为A→B 所以根据定理有AC→BC 由于BC→D 则有AC→D 由于ACE→DE 这样ACE→A ACE→B ACE→C ACE→D ACE→E 都成立 ACE可以作为候选码

A不能做候选码的原因是A→C,D,E均不成立

AC不能做候选码的原因是 虽然AC→A,B,C,D都成立,但没有A→E

AE不能做候选码的原因是AE→C,D都不成立

ACE、BCE、DCE

解析:观察函数右侧,CE不可能被任何函数决定,因此候选码必须包含CE。

在{C,E}中增加属性,第一次增加一个,发现增加A,B,D均可决定所有属性,即为所求解。

当然,如果并非所有情况都存在,需要增加两个甚至更多。

题目要补充完整,必须给出集合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的唯一候选码。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/10717999.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存