2016-12-08 37 views

回答

0

首先,你需要知道如何确定关系中属性(或属性)的关闭。这意味着,给定一组起始属性,可以计算由该初始集合通过所有可能的函数依赖关系确定的属性总集合。为了做到这一点,你需要知道一些基本的逻辑公理,并将它们用于组合函数依赖关系。

,我们将使用的公理是身份和阿姆斯特朗的公理的规律,特别是:

  • 身份:X -> X
  • 传递:如果X -> YY -> Z然后X -> Z
  • 工会:如果X -> YX -> Z然后X -> YZ
  • 增强:如果X -> Y然后XZ -> YZ任何现在

,如果我们应用,为您的给定相对于属性E函数依赖的,我们得到:

  1. E -> E(身份)
  2. E -> AC(给)
  3. E -> D (给出)
  4. C -> BD(给出)
  5. E -> ACD(2联合和3)
  6. E -> ACDE(1联盟和5)
  7. E -> ABCDE(4传递组合物和6)

以相同的方式,我们可以计算所有的封闭R中关于给定函数依赖关系的其他属性。你应该做这个练习。通过练习,您可以快速查看哪些内容需要关注。

我们的目标通常是找到一组决定整个关系的属性。在这种情况下,EGI -> ABCDEFGHIJ,这是一个候选人(最小)密钥。你应该为自己计算这个结果来验证。一个关系可能有多个候选关键字。

还有其他的键不是最小的,比如ABCDEFGHIJ。琐碎的是,整个关系决定了它自己。候选键和整个关系的极端之间是超级键,如EFGHI-任何候选键的超集都是键,我们称之为超级键。