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