【发布时间】:2012-12-17 00:29:32
【问题描述】:
对于具有以下功能依赖关系的关系 {A,B,C,D} -
A -> BCD
B -> C
CD -> A
使用我在其中一个站点上找到的特定方法,我将候选键作为 ABCD。那正确吗 ?什么是正确的候选键?
【问题讨论】:
-
不,这是不对的。首先,{ABCD} 是整个 relvar,所以 {ABCD} 是一个平凡的超级键。你遵循什么方法和网站?你的教科书是什么方法?
-
@Catcall :这是链接..techvyom.com/forum/Thread-How-to-find-Candidate-Keys.. ABCD 是否正确?还是我错过了什么??
-
ABCD 是一个微不足道的超级键。每个算法都必须生成 ABCD。但是 ABCD 不是这种关系中的候选键。 (根据定义,候选键是 minimal 超键。)您可以通过简单的检查来判断链接中的算法是不合适的。它不会生成 A 作为候选键,但您是 given
A -> BCD。除了 A 之外,还有两个候选键。 -
@Catcall:哦..!! :/ 你知道我在哪里可以找到正确的算法吗?
-
你的教科书。你用的是哪一个?
标签: functional-dependencies candidate-key