数据库中如何求候选码

步骤:
(1)只在F左部出现的属性,一定存在于某候选码当中
(2)只在F右部出现的属性,不属于候选码
(3)外部属性一定存在于任何候选码当中[两边都没有出现的属性]
(4)其他属性逐个与2、3的属性组合,求属性闭包,直至X的闭包等于全集U,此时的X则为候选码
例题
例1:R<U,F>,U=(A,B,C,D,E,G),F={AB–>C,CD–>E,E–>A.A–>G},求候选码。
1: 在题中先在到只在左边出现的元素 就是BD
2: BD 肯定是在候选键中,那它是不是候选键呢?我们利用闭包来检查一下,(BD)† = BD
现在BD推不出全部的元素
3:现在在继续看,G ,出现在右边,那它肯定不是候选键
4: 现在找在右边出现的元素(但是不包含只在右边出现的元素) 那就是ACE 这三个可能是候选键,要检查检查,让他们分别和BD结合,求闭包看能不能推出全部的元素

  • 开始检查:
  • ABD, 利用闭包检查,(ABD)† = ABCDEG
  • CBD, 利用闭包检查 ,(CBD)† = ABCDEG
  • BDE, 利用闭包检查, (BDE)† = ABCDEG
    则这个题中的三个候选键就是 ABD,CBD,BDE。
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 1024 设计师: 上身试试
应支付0元
点击重新获取
扫码支付

支付成功即可阅读