简体   繁体   中英

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)

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)."

But my question is, if B→C is given then C→B need not be, right? 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} .

To show this, you have to see if the closure of C with respect to F contains 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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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