2

我按照 PDF中的算法查找给定函数依赖关系的所有候选键。查找关系的所有候选键

我发现我的所有属性都是中间属性,因此没有必要的属性。算法的第4步(第6页)说:Let L be the list of all non-empty subsets of M (the middle-ground attributes)。然而,我有7个中间的属性,这意味着我需要127个元素。我做错了什么?

请有人可以解释我应该如何找到一组函数依赖关系的候选键?

+0

是否有您正在使用的特定语言?如果有的话,我们可以为你重新标记问题,这样你可以得到更多的帮助。欢迎来到该网站;) –

+0

嗨,没有我知道的特定语言。我只是想学习数据库设计和约束,不知道如何计算候选键。除数据库之外无法想到任何其他标签。 – steve

+0

这是功课吗? ;) – landons

回答

0

您引用的论文确实表明您需要从具有127个元素的L开始。不要忘记,一旦发现了一组中间基本属性,可以将一组必要属性补充到候选密钥,则L的大小可以迅速减小。

0

步骤4:在PDF计算所有超密钥不是候选人key..You不会得到127个候选键..

这里是候选人和超级关键的区别:

超级键:超级密钥代表密钥的超集。 Super Key是一个或多个属性的集合,可以统一采用,并可以唯一标识所有其他属性。

候选键: 候选键是超级键对于没有真子集是一个超级的关键。换句话说,候选键是最小的超级键。

让我们考虑一个例子:
的关系是R(A,B,C,d,E)

函数依赖是:

A→BCDE这意味着属性'A'唯一确定了其他属性B,C,D,E。 BC→ADE这意味着属性'BC'共同确定关系中的所有其他属性A,D,E。

主键:一个

候选键:A,BC

超级键:A,BC,ABC,AD

ABC,AD不是因为这两个候选键是不是最小超级按键。

希望这有助于