如何在关系数据库设计中找出候选键

时间:2016-02-27 11:39:28

标签: database relational-database

给予关系R(A,B,C,D)和一组功能依赖性{A-> B,B-> C}。属性D未在功能依赖集中的任何位置列出。

在功能依赖集中没有D的候选键怎么样?

1 个答案:

答案 0 :(得分:0)

我见过的每个数据库教科书都包含至少一种铅笔纸算法,用于确定给定关系的所有候选键。仔细阅读你的教科书。

非正式地说,不属于任何功能依赖的属性必须是每个候选键的一部分。

在您的原始问题中,给定R(ABCD)和F(A-> B,B-> C),您将平凡的函数依赖性D-> D添加到F.唯一的候选键是AD。

在你的评论中,给定R(ABCD)和F(A-> B,A-> C,AC-> D),唯一的候选键是A.