2

Consider the following statements:

  • A relation R, is in 3NF if every non-prime attribute of R, is fully functionally dependent on some key of R.

State True or False.

The answer given is true. But I think its false.

Example: Let R(A,B,C) be a relation with functional dependencies {A→B, B→C}.

Here A is the candidate key and both B and C are fully functionally dependent on A since A→B and also A→C right?

But this relation is clearly not in 3NF. Where am I wrong?

As per the definition I found here, the set of attributes X will be fully functionally dependent on the set of attributes Y if the following conditions are satisfied:

  • X is functionally dependent on Y and
  • X is not functionally dependent on any subset of Y.

Here C is functionally dependent on A and also C is not functionally dependent on any subset of A. So this would imply that C is fully functionally dependent on A right?

  • 1
    Yes, you are right. Are you sure the question says "A relation R is in 3NF, if every.." and not "A relation R is in 2NF, if every.."? – ypercubeᵀᴹ Jan 15 '18 at 15:54
  • It says A relation R is in 3NF, if every non-prime attribute of R, is fully functionally dependent on some key of R. – abnvanand Jan 15 '18 at 16:16
2

The exercises says:

A relation R is in 3NF, if every non-prime attribute of R, is fully functionally dependent on some key of R.

As you have noted, that definition is imprecise. Let’s try to correct it:

A relation R is in 3NF, if every non-prime attribute of R is fully functionally dependent on some (candidate) key and on nothing else.

Of course such definition should also exclude trivial dependencies or derived dependencies in which the left part contains superflous attributes.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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