Adi*_*idu 4 database-design decomposition database-normalization functional-dependencies
他们中的任何一个都暗示另一个吗?
我的逻辑是,如果保留所有依赖项,则不会丢失信息,同样,如果分解是无损的,则一定不会违反功能依赖项。
所以本质上,依赖保留是一种确保您的分解无损的方法。
我很难接受/拒绝它。那么这两者是相互保证的,还是有一种情况可以在没有另一个的情况下实现?
一般来说,这是两个独立的东西:您可以进行不保留依赖关系的无损分解,以及保留依赖关系但不是无损的分解。
所以,你的第一个问题的答案是否定的,它们都没有暗示另一个。
但是,这两个属性可以通过以下基本结果“连接”起来,这给出了一个充分(即使不是必要)条件来确定依赖保留分解是否也是无损的:
让 ?= {R(T i ,F i )} 保留依赖关系的关系模式 R(T,F) 的分解。如果对于某些 j,T j是 R(T,F) 的超键,那么分解 ? 是无损的。
实际上,这个性质应用于分解 3NF 关系的“合成”算法的最后一步:如果在前面的步骤中获得的模式没有包含原始关系的超键,则添加一个新模式,其中包含该关系的任何候选键。原始关系。
这保证了算法产生的分解既无损又保留了依赖关系,而另一方面,众所周知,在 BCNF 中分解关系的“分析”算法在某些情况下会产生功能损失依赖关系。
| 归档时间: |
|
| 查看次数: |
2625 次 |
| 最近记录: |