分解如何保持依赖关系?
How decomposition is dependency preserving?
设 R(A、B、C、D)是具有以下函数依赖关系的关系模式:
A→B,B→C,
C → D and D → B. R分解为(A, B), (B, C), (B, D)
How decomposition is dependency preserving?
某处解释为"The given decomposition is also dependency preserving as the dependencies A->B is present in (A, B), B->C is present in (B, C), D->B is present in (B, D) and C->D is indirectly present via C->B in (B, C) and B->D in (B, D)."
But my question is, if B→C is given then C→B need not be, right?
Can you explain please.
在这种情况下,C → B
由所有其他依赖项决定 F = {A → B, B → C, C → D, D → B}
。
要证明这一点,您必须查看 C
相对于 F
的闭包是否包含 B
。给出闭包一组属性的算法中间步骤的结果:
C+ = C
C+ = CD (by using the third dependency)
C+ = CDB (by using the fourth dependency)
因此,由于C+
包含B
,因此C → B
可以从其他依赖项中导出。
设 R(A、B、C、D)是具有以下函数依赖关系的关系模式: A→B,B→C, C → D and D → B. R分解为(A, B), (B, C), (B, D)
How decomposition is dependency preserving?
某处解释为"The given decomposition is also dependency preserving as the dependencies A->B is present in (A, B), B->C is present in (B, C), D->B is present in (B, D) and C->D is indirectly present via C->B in (B, C) and B->D in (B, D)."
But my question is, if B→C is given then C→B need not be, right? Can you explain please.
在这种情况下,C → B
由所有其他依赖项决定 F = {A → B, B → C, C → D, D → B}
。
要证明这一点,您必须查看 C
相对于 F
的闭包是否包含 B
。给出闭包一组属性的算法中间步骤的结果:
C+ = C
C+ = CD (by using the third dependency)
C+ = CDB (by using the fourth dependency)
因此,由于C+
包含B
,因此C → B
可以从其他依赖项中导出。