Let a prime attribute be one that appears in at least one candidate key. Let and be sets of attributes such that holds, but does not hold. Let be an attribute that is not in , is not in , and for which holds. We say that is transitively dependent on . We can restate the definition of 3NF as follows: A relation schema is in 3NF with respect to a set of functional dependencies if there are no nonprime attributes in for which is transitively dependent on a key for . Show that this new definition is equivalent to the original one.


Suppose is in 3NF according to the textbook definition. We show that it is in 3NF according to the definition in the exercise. Let be a nonprime attribute in that is transitively dependent on a key for . Then there exists such that , , , and does not hold. But then violates the textbook definition of 3NF since

  • implies is nontrivial.
  • Since does not hold, is not a superkey.
  • is not in any candidate key, since is nonprime.

Now we show that if is in 3NF according to the exercise definition, it is in 3NF according to the textbook definition. Suppose is not in 3NF according to the textbook definition. Then there is a functional dependency that fails all three conditions. Thus,

  • is nontrivial.
  • is not a superkey for .
  • Some in is not in any candidate key.

This implies that is nonprime and . Let be a candidate key for . Then does not hold (since is not a superkey), , and (since is nonprime). Thus is transitively dependent on , violating the exercise definition.