有损分解

时间:2017-07-03 16:30:19

标签: database normalization database-normalization

如果关系被分解为2个子关系,使得分解是有损的,那么如果父关系在bcnf中,那么这些子关系可以是任何正规形式(3nf或bcnf)吗?

考虑具有以下功能依赖性的关系R(S,T,U,V): - S-> T,T-> U,U-> V,V-> S.

现在,如果我将上述关系分解为2个关系R1和R2,使得R1交集R2为空,如R1(S,T)和R2(U,V),那么是bcnf中的分解吗?

我知道R1可以具有功能依赖性S-> T,T-> S和R2可以具有功能依赖性U-> V和V-> U,这使得它看起来像BCNF。

我的问题是我们是否将分解视为BCNF,即使它不是有效的分解?无效我指的是有损分解。

1 个答案:

答案 0 :(得分:0)

来自您(不清楚)的问题:

  

如果关系被分解为2个子关系,则分解是有损的

来自评论:

  

我刚问过如果父关系在bcnf中,是否有可能分解的关系在bcnf

如果那是你的问题,那么答案是肯定的,那就是。

考虑BCNF中具有CK(候选键){a}的变量,该变量可以保存:

a b
1 2
3 4

二进制分解{{a},{b}}对于BCNF中的组件是有损的。

(当试图证明错误时,请务必查看一些简单的案例,以防您可以找到反例作为证据。)

  

我们是否将分解视为BCNF,即使它不是有效的分解?无效我指的是有损分解。

当我们说分解在某个NF中时,这就是说它的所有成分都在那个NF中的缩写。但是当分解是无损的时候,即当"分解时,我们只使用这种速记。被理解为"无损分解"的简称,因为有损分解是没有用的。