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

Popular posts from this blog

php - SPIP: From Tag directly to an article -

jquery - isAjaxRequest always return false -

ruby on rails - In a controller spec, how to find a specific tag in the generated view? -