分解如何保持依赖关系?

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可以从其他依赖项中导出。