2016-02-27 27 views
0

给出关系式R(A,B,C,D)和函数依赖关系集合{A-> B,B-> C}。属性D未在功能依赖关系集中的任何位置列出。如何在关系数据库设计中找出候选关键字

如何在没有D的函数依赖关系中存在候选键?

+0

如果你知道关系数据库的基础知识,对OP的要求并不清楚。 –

回答

0

我见过的每个数据库教科书都至少包含一个铅笔和纸张算法,以确定给定关系的所有候选键。看看你的教科书。

非正式地讲,不属于任何函数依赖项的属性必须是的一部分,每个候选键。

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

您的评论,给出R(ABCD)和F(A-> B,A-> C,AC-> d),唯一的候选键是A.

+0

如果函数依赖关系集合如下,那么候选关键字会是什么: –

+0

如果函数关系集合如下,那么候选关键字将是什么:A-> B,A-> C Ac-> D ...现在很清楚一个候选关键是AC.can我可以包含AD作为候选键..其实这是我的疑问。 –

+0

对于R(ABCD)和功能相关性集合{A-> B,A-> C,AC-> D},AC不是候选关键字。 AD也不是。 –