我在合成算法和寻找候选键方面遇到了一些问题,因为我觉得我课程中提供的幻灯片仅提供了如何推断它们的示例,没有任何解释。
因此,如果我们有一个具有单一关系 R[ABCDE] 的关系模式,其函数依赖关系为:{AB->CD, C->AD, E->B},
到目前为止,我已经到了这里:规范的 shell 是:C={AB->C,C->D,E->B},候选键是:EB AE 和 EC。
1) 应用合成算法找到无损且保持依赖关系的 3NF 分解。
我知道如何检查分解是否实际上是无损的和保持依赖关系,但不知道如何到达那里。请看下面:
i) 为 F 构造一个规范覆盖 C
ii) 定义 C'={X union Y | X->Y“属于”Consol(C)} 这个我知道
iii) 将 C 定义为 C' 的子集,其中删除了所有被另一个包含的关系。这我知道我是否认为正确。
iv) 如果 C 已经包含 R 的超键,则将 C2 定义为 C。否则,将 C2 定义为 C 并集 K 的某个键 K。这一步看不懂。
2)彻底激发3)中得到的分解是否也在BCNF中。
提前致谢!