Relational Theory – Assessing Third Normal Form Statement

normalizationrelational-theory

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?

Best Answer

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.