We typically design tables to 2nd and 3rd normal form when it makes sense.
However, the key to an efficient, long-lived, fast, reliable, maintainable database is to not copy data from
one table to another. As a result of this rule the structure of dependent tables is not dependent directly on the
data contained in the master or parent tables - we always use
artificial keys (autonumber fields) to link tables.
Use of artificial keys gives us the ability to never perform cascade
updates on related, subordinate tables. In our table design there,
where ever possible, there is only a single occurrence of a data item in the
database - all other occurrences use the previously mentioned autonumber fields
to point to the single-value entry .
The last and possibly most important theme is to prevent duplicate data
records where ever possible.