13.2 Comparison between 2NF and 3NF


The difference between 2NF and 3NF is small but important.
2NF is concerned with eliminating partial dependency of non-key attributes on the table’s composite key.
Thus, it could be the case that a non-key attribute depends on (a fact about) part of the key (not all its attributes).
On the other hand, 3NF is concerned with eliminating transitive dependency of non-key attributes on the primary key.
In this case, a non-key attribute does not depend on (is not a fact of) the primary key at all but it depends on another non-key attribute in the table.
Normalization to both 2NF and 3NF involves moving the offending attribute to another table as discussed in this lecture and in Lecture 12.