relational database - Checking if a decompozition is in Boyce Codd Normal Form -
consider schema s=(a,b,c,d) having ab primary key, , following functional dependencies (fd) hold on it: ab --> c, ab --> d, bc --> d. following decomposition in boyce-codd normal form (bcnf)? s1=(a,b,d) & s2=(b,c,d)
attempted answer misses something: using given fds, in s1 key ab; in s2 key bc. s1 contains fd ab-->d, , left hand side contains key, ab. s2 contains fd bc-->d, , left hand side contains key, bc. hence, seems decomposition in bcnf.
however, know bcnf decompositions lossless, , 1 not. common attributes {b,d} , closure still {b,d}.
where bug then?
lossless in "lossless decomposition" means :
- any relation value of original schema
- * satisfies dependencies in original schema *
- can decomposed relational projection relation values corresponding decomposed schemata
- and natural join of decomposed relation values guaranteed yield original relation value again.
that "lossless" means, , that's all means.
it has nothing expressibility of fd's in decomposed schemas (which may indeed "lost" decomposition - case in example).
there no bug.
Comments
Post a Comment