分解关系

时间:2014-01-30 12:23:21

标签: database relational-database

我一直试图了解分解关系但没有成功的过程。我不知道它是如何工作的,我无法弄明白。我有一个例子,如果有人可以一步一步解释我的工作原理。

Consider schema R(A;B;C;D;E) with FDs
F = {AB -> CDE; AC -> BDE; B -> C; C -> B; C -> D; B -> E}.
1. Find all keys of R.

F = {AB -> CDE; AC -> BDE; B -> C; C -> B; C -> D; B -> E}
A+ = A
B+ = BCED
- it is not possible to deduce A from the other attributes -> A belongs to key
AB+ = ABCDE - a candidate key
AC+ = ACBDE - a candidate key
AD+ = AD, 
AE+ = AE
ADE+ = ADE

我也不明白A +表示什么

1 个答案:

答案 0 :(得分:0)

您发布的内容并未分解关系。它正在寻找候选键。这里的候选键是{AB,AC}。

找到密钥是分解关系的第二步。第一步是确定所有依赖项。您将获得所有功能依赖项,因此您无需在此处执行此操作。

A + 表示“关于功能依赖关系集F的属性集A的闭包” - 可以由A确定的F属性集。

本声明

  

无法从其他属性中推断出A - >一个属于   键入

应该是

  

无法从其他属性中推断出A - >一个属于   每个候选人的钥匙