简体   繁体   English

依存关系如何分解?

[英]How decomposition is dependency preserving?

Let R (A, B, C, D) be a relational schema with the following functional dependencies : A → B, B → C, C → D and D → B. The decomposition of R into (A, B), (B, C), (B, D) 令R(A,B,C,D)为具有以下功能依赖性的关系模式:A→B,B→C,C→D和D→B.R分解为(A,B),(B ,C),(B,D)

How decomposition is dependency preserving? 依存关系如何分解?


Somewhere it explained as "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)." 在某处它解释为“给定的分解也是保持依赖关系,因为在(A,B)中存在依赖关系A-> B,在(B,C)中存在B-> C,在(B中存在D-> B ,D)和C-> D通过(B,C)中的C-> B和(B,D)中的B-> D间接存在。”

But my question is, if B→C is given then C→B need not be, right? 但是我的问题是,如果给出B→C,那么就不必给出C→B,对吗? Can you explain please. 你能解释一下吗?

In this case, C → B is determined by all the other dependencies F = {A → B, B → C, C → D, D → B} . 在这种情况下, C → B由所有其他依赖项F = {A → B, B → C, C → D, D → B}

To show this, you have to see if the closure of C with respect to F contains B . 为了说明这一点,您必须查看C相对于F的闭包是否包含B Giving the results of the intermediate steps of the algorithm for the closure of a set of attributes: 给出用于关闭一组属性的算法中间步骤的结果:

C+ = C
C+ = CD (by using the third dependency)
C+ = CDB (by using the fourth dependency)

So, since C+ contains B , then C → B can be derived from the other dependencies. 因此,由于C+包含B ,则C → B可以从其他依赖项导出。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM