I am designing a database to hold details of people we have used for research and people we may want to use in the future. Their contact details are very important to us.
I have studied normalization, 3NF etc, and the arguments against strict implementation of it. My question is, what is the best way to deal with the phone numbers for the people I want to hold records on?
One idea I had was to group all their "contact details" together, so I had:
RESPID
H_Phone
W_Phone
M_Phone
Fax
E_Mail
Best (the preferred contact number).
My difficulty is that many of the people on the database are their because of their job e.g. IT Managers. For these people we don't have a home address and phone no. Further, it is not inconceivable that in the future the database will hold records of people who don't work and therefore W_Phone is irrelevant to them.
I choose the first grouping based on logic. Should I normalize the data formally/differently? Should I put H_phone in the table with home addresses; W_Phone in with job details, M_Phone in with personal details, and Fax and email whereever.
I can't work out the relative merits, apart from when I try to model the data with contact details grouped together it gets tricky because some belong to work and some to the individual.
I would be grateful for any insight anyoone can give me on this.
I have studied normalization, 3NF etc, and the arguments against strict implementation of it. My question is, what is the best way to deal with the phone numbers for the people I want to hold records on?
One idea I had was to group all their "contact details" together, so I had:
RESPID
H_Phone
W_Phone
M_Phone
Fax
E_Mail
Best (the preferred contact number).
My difficulty is that many of the people on the database are their because of their job e.g. IT Managers. For these people we don't have a home address and phone no. Further, it is not inconceivable that in the future the database will hold records of people who don't work and therefore W_Phone is irrelevant to them.
I choose the first grouping based on logic. Should I normalize the data formally/differently? Should I put H_phone in the table with home addresses; W_Phone in with job details, M_Phone in with personal details, and Fax and email whereever.
I can't work out the relative merits, apart from when I try to model the data with contact details grouped together it gets tricky because some belong to work and some to the individual.
I would be grateful for any insight anyoone can give me on this.