-1
$\begingroup$

I have read that 1NF, 2NF and 3NF decompositions are lossless and dependency-preserving.

Consider this example on a relation $R(A,B,C,D)$ with functional dependencies set as $FD =${ $AB \rightarrow CD, A \rightarrow C, BC \rightarrow D$ }

Here when we do 2NF decomposition we get $R_{1}(A,C)$ with $FD =${$A \rightarrow C$} and $R_{2}(A,B,D)$ with $FD =${$AB \rightarrow D$}

The functional dependency $BC \rightarrow D$ is lost when we join but we know that 2NF is dependency preserving so why is it that we are unable to preserve the original FD?

$\endgroup$
2
  • $\begingroup$ "I have read that 1NF, 2NF and 3NF decompositions are lossless and dependency-preserving." No, you haven't. Please quote an actual claim from a published competent source. $\endgroup$
    – philipxy
    Commented Apr 3, 2023 at 2:30
  • $\begingroup$ Your "I have these FDs" doesn't make sense. "These are all the FDs that hold"?--Not possible. "These are all the non-trivial FDs that hold"?--Not possible. "These are some FDs that hold"?--Question can't be answered. Find out what a cover is & what the exact conditions are to apply a particular definition/rule/algorithm. To determine CKs & NFs we must be given FDs that form a cover. Sometimes a minimal/irreducible cover. And the set of all attributes must be given. See this answer. $\endgroup$
    – philipxy
    Commented Apr 3, 2023 at 2:30

1 Answer 1

-1
$\begingroup$

Although you decomposed the table using the dependency that violates 2NF $(A\rightarrow C)$, the new tables are in BCNF, and decomposition to BCNF is not always dependency preserving.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.