数据库笔记(补充)——候选码的确定方法

数据库笔记(补充)——候选码的确定方法,第1张

注: 码或者是某一函数依赖的左部, 或是一个属性组

解: 验证AB是否码, 须证明 AB→ F ABCDE是否成立?

∵AB→C(已知), 而AB→AB(自反), ∴AB → ABC(合并)

∵B→D(已知), ∴AB→AD(增广), ∴AB → ABCD(合并)

∵C→E(已知), AB→C(已知), ∴AB → E(传递)

于是 AB → ABCDE(合并)

同理可证:AC也是一个候选码

答:ACD

(1)如果有属性不在函数依赖集中出现,那么它必须包含在候选码中;

(2)如果有属性不在函数依赖集中任何函数依赖的右边出现,那么它必须包含在候选码中;

(3)如果有属性只在函数依赖集的左边出现,则该属性一定包含在候选码中。

(4)如果有属性或属性组能唯一标识元组,则它就是候选码;

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


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

原文地址: http://outofmemory.cn/sjk/6701714.html

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

发表评论

登录后才能评论

评论列表(0条)

保存