数据库——如何求出候选码
·
例题:R<U,Q>,U=(A,B,C,D,E,F,G),Q={AB→C,CD→E,E→A,A→G},求候选码。
第一步:
只出现在→左边的一定是候选码
只出现在→右边的一定不是候选码
→左右都不出现的一定是候选码
→左右都出现的不一定是候选码
只在右:G
只在左:B,D
左右都在:A,C,E
左右都不在:F
所以一定是候选码的有:BDF
第二步:
查看与每个其他属性结合成的子集能否推出其他所有属性,找出元素数量最少的即为候选码。
BDF→BDF
ABDF→ABCDEFG
BCDF→ABCDEFG
BDEF→ABCDEFG
由于本题仅添加一个属性即可推出所有属性,而且候选码为最少属性数量的集合,因此候选码可以为ABDF或BCDF或BDEF。
如果添加一项不能推出所有属性,可以添加两项继续排查,直至找出能推出所有属性的最少属性集合。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)