modelling a contact database
- From: "Matthew" <mappleNOSPAMPLEASE@xxxxxxxx>
- Date: Wed, 5 Dec 2007 14:23:07 -0500
Maybe I should have explored this issue first.
I've designed contact databases in the past where address, telephone & email
info was stored in three different tables:
tblPeople (stores peoples' home addresses)
tblCompanies (stores companies' main addresses)
tblAffiliations (stores a person's address, tel, email where they work at
that company)
However, I've been hearing that it's better design to keep all addresses in
one table: tblAddresses. And since people aren't very different from
companies, I'm storing them in the same table: tblRecords.
So I have:
tblRecords
*RecordID
Last/CompanyName
FirstName..
tblAffiliations
*AffiliationID
ParentID (stores RecordID of company)
ChildID (stores RecordID of their employee)
UseParentAddress (Y/N)
Title
Department
tblAddresses
*AddressID
AddressTypeID
RecordID
Address
City, etc
tblEmails
*EmailID
EmailTypeID
EmailAddress
tblTypes
*TypeID
Type
tblTypes contains three records: Home/Personal, Work, Other. This way, any
address, email address or telephone number can be designated as work
address, home or other.
I like this model very much for its efficiency. The bump I'm encountering,
and maybe I'm not trying hard enough, is that it's not simple/elegant for me
to show a person's work address. If they've got UseParentAddress checked,
then how do I get the company's address to show up among that person's other
potential addresses.
I feel like I'm on the right track though, that this table design is smarter
than my previous forays. Any guidance or validation would be greatly
appreciated!!
Thanks in advance!!
Matthew
.
- Follow-Ups:
- Re: modelling a contact database
- From: Allen Browne
- Re: modelling a contact database
- Prev by Date: Re: Table design
- Next by Date: Re: MDB referencing MDE Database
- Previous by thread: A semi-unique index?
- Next by thread: Re: modelling a contact database
- Index(es):
Relevant Pages
|