B
Brian Kastel
I took people's names out of my Employees and Contacts tables, and created a
Names table with the PK linked to a FK in each of the two original tables.
I did this because sometimes the employee could also be the contact, or
vice-versa. But I didn't stop there. I created four tables; one for name
prefixes (Mr., Ms., etc.), one for name suffixes (Esq., Ph.D., etc.), one
for forenames (for first and middle names), and one for surnames. So now I
have nothing in the Names table except for its own PK and the five FKs
linking with the simple tables (First and Middle names both being linked to
the Forenames table). I know this is decidedly 3NF, but does anyone think
that I am overdoing it?
The madness doesn't end there, either. Employees, Contacts, Job Sites, and
Clients can all share one address. Of course, I now have one Addresses
table linked to those four, but I found I had to assign each address a
"title" to allow for practical selection of the address from a list or
combo. Again, am I overdoing it? Laziness prompted me to create this
structure: since I would be the one doing the data entry, I simply didn't
want to enter data more than once, ever.
Names table with the PK linked to a FK in each of the two original tables.
I did this because sometimes the employee could also be the contact, or
vice-versa. But I didn't stop there. I created four tables; one for name
prefixes (Mr., Ms., etc.), one for name suffixes (Esq., Ph.D., etc.), one
for forenames (for first and middle names), and one for surnames. So now I
have nothing in the Names table except for its own PK and the five FKs
linking with the simple tables (First and Middle names both being linked to
the Forenames table). I know this is decidedly 3NF, but does anyone think
that I am overdoing it?
The madness doesn't end there, either. Employees, Contacts, Job Sites, and
Clients can all share one address. Of course, I now have one Addresses
table linked to those four, but I found I had to assign each address a
"title" to allow for practical selection of the address from a list or
combo. Again, am I overdoing it? Laziness prompted me to create this
structure: since I would be the one doing the data entry, I simply didn't
want to enter data more than once, ever.