Dependency preserving

最后都变了- 提交于 2019-12-04 05:28:28

Lossless Join doesn't mean that any of the tuples are lost, or cannot be recovered after a join. Lossless join means generation of spurious tuples which lead to "extra" rows (tuples) and "information" is said to be lost.

Putting it simply I think dependency is preserved when we find both sides of the FD in the attributes of one sub-schema. (someone please correct me if I'm wrong).

akashchandrakar

Decomposition of a relation R into R1 and R2 is Lossless join decomposition if you can construct back R by joining the relation R1 and R2(form R1 ⋈ R2 you can obtain R).

For a decomposition of Relation R into R1 and R2 to be lossless, it must satisfy any of 2 condition:

 1. R1 ∩ R2 -> R1
 2. R1 ∩ R2 -> R2

If the above relation doesn't make any sense then think of it like this, when you are intersecting 2 relation R1 and R2 and obtaining common attributes then if the common attributes are able to determine any one of the relation then this (these) common attribute(s) is (are) candidate key(s) for the obtained relation(think why ?) and hence you can join using this candidate key the other relation to obtain R.

Regarding dependency preserving, a decomposition of relation R is dependency preserving if the Functional dependency of R can be obtained by taking the union of the functional dependency of all the decomposed relation.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!