DsCpp
DsCpp

Reputation: 2489

Lossless join decomposition property - only one lossless decomposition for a BCNF decomposition

During class the following statement has been made by the tutor:
There is only one(or none) lossless BCNF decomposition for a relation,
and two BCNF decompositions are lossless for a given R iff they are logically equal
I've tried to prove by contradiction, and assume there are two BCNF decomposition, and find the contradiction, but couldn't find any.
is there an intuitive explanation to why this is true?

Upvotes: 1

Views: 254

Answers (1)

Erwin Smout
Erwin Smout

Reputation: 18408

The tutor's statement is, strictly speaking, false.

Imagine any decomposition in which one of the schema's after decomposition is (K,D1,D2) with sole FD {K}->{D1,D2}. That's BCNF.

But that one can be further decomposed into (K,D1) with sole FD {K}->{D1} and (K,D2) with sole FD {K}->{D2}. That's BCNF too (it's even 6NF).

Meaning you have two distinct possible decompositions that are both BCNF.

(Naturally it is believed in such courses that there is just no point to such further decompositions and they are just disregarded because "no one is going to ever consider them anyway" or some such, but that is not very science-minded.)

Upvotes: 3

Related Questions