I've got an unusual table structure issue and I thought I'd get some outside opinions.
I'm putting together a contacts database. Each contact has a record in the Contacts table; each contact also can have multiple addresses, phone numbers, email, etc., so each of those gets their own table. Now for the weird part: some of the contacts have assistants, who in turn have their own set of addresses, phone numbers, etc. Relating the assisstant to the contact is problematic.
If I make a completely different table for assisstants, I'm basically duplicating a table for no real reason other than to differentiate the type of contact. It works, but it feels totally wrong to me.
If I treat assisstants as just another contact, then I run into all sorts of problems. Consider:
CONTACTS (Contact_ID, Last_Name, First_Name, Assisstant, etc.)
The assisstant field would end up referencing Contact_ID, which would mean as far as relationships are concerned two fields in the same record are the same, even though the data would be different. I could completely ignore referential integrity and it should technically work, but that also feels totally wrong to me.
Does anyone have any thoughts/suggestions? Has anyon encountered a situation like this before?
I'm putting together a contacts database. Each contact has a record in the Contacts table; each contact also can have multiple addresses, phone numbers, email, etc., so each of those gets their own table. Now for the weird part: some of the contacts have assistants, who in turn have their own set of addresses, phone numbers, etc. Relating the assisstant to the contact is problematic.
If I make a completely different table for assisstants, I'm basically duplicating a table for no real reason other than to differentiate the type of contact. It works, but it feels totally wrong to me.
If I treat assisstants as just another contact, then I run into all sorts of problems. Consider:
CONTACTS (Contact_ID, Last_Name, First_Name, Assisstant, etc.)
The assisstant field would end up referencing Contact_ID, which would mean as far as relationships are concerned two fields in the same record are the same, even though the data would be different. I could completely ignore referential integrity and it should technically work, but that also feels totally wrong to me.
Does anyone have any thoughts/suggestions? Has anyon encountered a situation like this before?
Last edited: