3NF: Don't Litter

Normalization involves a series of rules. The third rule is that all data fields must be independent of the other data fields in the table. They don't need to be independent of the primary key. They just need to be independent of the non-PK fields.

The implications of the third rule are:

All of the unnecessary fields are like database litter. They may not kill the user, but they make the database a bit messier (and larger) than it should be. The third rule of normalization eliminates the litter.

For instance, you should not store an employee's AnnualSalary and MonthlySalary. Pick one and discard the other. You can compute the discarded value when needed. You should not store an employee's DOB and Age (in years). Store the DOB and discard the Age. You can compute it when needed. You should not store an employee's City, State and Zip. You should only store the Zip (as a foreign key). You can look up the City and State in a new (parent) table when needed.

A database is said to be in third normal form (3NF) if all of the tables satisfy the first three rules.

More FAQs