[AccessD] (no subject)

Jim Dettman jimdettman at verizon.net
Wed May 16 09:10:50 CDT 2007


All,
 
  First, sorry I didn't get back to this sooner and thank you all for your
comments and thoughts.
 
  Second, I'm not going to retch on anyone's ideas<g>.  Clearly this is a
complex problem and there are many shades of gray.   I intentionally left
the original message simplistic because I didn't what to imprint too much of
my thinking on the question, leaving it as wide open as possible.
 
  It was interesting to see the wide range of responses and I don't consider
anyone of them to be more right or wrong then another.  Each one of us made
choices when approaching a particular task and given the same task, anyone
of us might have done the same (or not<g>).
 
  FWIW, my original layout was the simple "flat file" approach, simply
because I could easily nest contacts as many levels as need.  It looked like
this:
 
tblContacts - Available system wide for all claims.
Contact ID - Long - PK
Date/Time Created - mm/dd/yyyy hh:mm:ss
Created By - FK to tblEmployees
Date/Time Modified - mm/dd/yyyy hh:mm:ss
Modified By - FK to tblEmployees
Company Address - y/n
Contact Type ID - Long - FK to tblLookups - Carrier, Adjuster, Employer,
Doctor, Attorney, Physical Therapist, etc.
Company Name - Text
Salutation ID - Long - FK to tblLookups
First Name - Text
Middle Initial - Text
Last Name - Text
Suffix - Text
Company/Group ID - Long - FK to tblContacts
Title - Text
Services/Specialty - Memo - 
Notes- Memo - General comments
Rating - Integer - 1- 10.
Date/Time Last Contacted - mm/dd/yyyy 
Phone - Work - (###) ###-####
Fax - Work - (###) ###-####
Ext (#####)
Phone - Home - (###) ###-####
Fax - Home - (###) ###-####
Phone - Alternate Number - (###) ###-####
e-mail - Text
Web Site URL - Text
  
 
   Of course there are a number of problems with this as well.  Obviously
the multiple phone numbers is a no-no.  However for many reasons, I don't
need more then those.   I also don't care if someone has more then one
address as I only need to keep track of their primary address.  Part of my
thinking on multiple addresses is that if I do track them, then by all
rights I should also be tracking when they are at each address or which one
is "current", all of which is way beyond what I'm attempting to achieve.
 
  What the goal is, is to simply record " a point of contact", which is a
single address and one of several possible phone numbers.  However I have
two types of contacts; individuals and companies (or groups).  So I am very
uncomfortable having everything in a single table.  Once again as with the
lookup table issue, I would be relying on the programming to abstract part
of the normalization process.  For example, if the Company Address flag is
set, the fields First Name, Last Name, etc would not be filled in, but
Company Name would.  
 
  That's not great, but would be workable.    Then I came to contact type.
For an individual, it might read "Doctor", but for a company, it would read
"Doctors Office", in which there might be one or more doctors.  So based on
the company flag, I would have to switch the lookup list.  Now I'd be doing
more then turning on and off controls, but actually having to fetch
different sets of data, which is too far over the line for me<g>.
 
  Net result is that I'm sitting with this layout at the moment:
 
tblContacts - One record per individual.
Contact ID - Long - PK
Date/Time Created - mm/dd/yyyy hh:mm:ss
Created By - FK to tblEmployees
Date/Time Modified - mm/dd/yyyy hh:mm:ss
Modified By - FK to tblEmployees
Contact Type ID - Long - FK to tblLookups - Adjuster, Doctor, Attorney,
Physical Therapist, etc.
Salutation ID - Long - FK to tblLookups
First Name - Text
Middle Initial - Text
Last Name - Text
Suffix - Text
Group ID - Long - FK to tblContactGroups
Title - Text
Services/Specialty - Memo - 
Notes- Memo - General comments
Rating - Integer - 1- 10.
Phone - Work - (###) ###-####
Ext (#####)
Fax - Work - (###) ###-####
Phone - Home - (###) ###-####
Fax - Home - (###) ###-####
Phone - Alternate Number (ie Cell) - (###) ###-####
e-mail - Text
 
tblContactGroups - One record per contact group.
Contact ID - Long - PK
Date/Time Created - mm/dd/yyyy hh:mm:ss
Created By - FK to tblEmployees
Date/Time Modified - mm/dd/yyyy hh:mm:ss
Modified By - FK to tblEmployees
Contact Type ID - Long - FK to tblLookups - Insurer, Doctor's Office,
Employer, etc.
Name - Text
Services/Specialty - Memo - 
Notes- Memo - General comments
Rating - Integer - 1- 10.
Date/Time Last Contacted - mm/dd/yyyy 
Phone - (###) ###-####
Fax - (###) ###-####
Phone - Alternate Number (ie. Backdoor number) - (###) ###-#### 
e-mail - Text
Web Site URL - Text
 
 
That still doesn't get me normalized by a long shot.   Besides the phone
numbers, etc I really should break out the relationship between individuals
and Groups as right now, I could have two Presidents.  But again I'm only
trying to keep contact information.  The Title field is just for reference
and will not be used in any meaningful way.  I really don't care about
someone's role within a group or company, just that they are associated with
it.
 
The only thing I don't like living with is the possibility of having Nulls
in a FK field (an individual with no group affiliation), so I may go ahead
and break it out anyway.  Of course by splitting groups/companies out, I've
now lost the ability for a group/company to be related to anything else
without adding a lot more tables, but for this app, I don't think it will be
an issue.  
 
I am going to go through everyone's comments again however and think about
this a little more, but I think this is it.  Of course I'm open to any
comments anyone would care to make as well.
 
Once again, thanks for the time and thoughts!
 
Jim.
 
 




More information about the AccessD mailing list