![]() |
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. |