Third Normal Form (3NF):
For 3NF, first, the table must be in 2NF, plus, we want to make sure that the non-key fields are dependent upon ONLY the PK, and not other non-key fields for its existence. This is very similar to to 2NF, except that now you are comparing the non-key fields to OTHER non-key fields. After all, we know that the relationship to the PK is good, because we established that in 2NF.
| Books | |||
| Name | Author's Name | Author's Nom-de Plume | # of Pages |
Again, just ask the questions:
If I know # of Pages, can I find out Author's Name? No. Can I find out Author's Nom-de Plume? No.
If I know Author's Name, can I find out # of Pages? No. Can I find out Author's Nom-de Plume? YES.
Therefore, Author's Nom-de Plume is functionally dependent upon Author's Name, not the PK for its existence. It has to go.
| Books | ||
| Name | Author's Name | # of Pages |
| Author | |
| Name | Nom-de Plume |
I take with it a copy of Author's Name, changing the field name to "Name."
Simple...
© Ken Gibson