我一直试图了解分解关系但没有成功的过程。我不知道它是如何工作的,我无法弄明白。我有一个例子,如果有人可以一步一步解释我的工作原理。
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 +表示什么
答案 0 :(得分:0)
您发布的内容并未分解关系。它正在寻找候选键。这里的候选键是{AB,AC}。
找到密钥是分解关系的第二步。第一步是确定所有依赖项。您将获得所有功能依赖项,因此您无需在此处执行此操作。
A + 表示“关于功能依赖关系集F的属性集A的闭包” - 可以由A确定的F属性集。
本声明
无法从其他属性中推断出A - >一个属于 键入
应该是
无法从其他属性中推断出A - >一个属于 每个候选人的钥匙