From: D'Arcy J.M. Cain <darcy@druid.net>
To: Curtis Scheer <Curtis@DAYCOS.com>
Cc: pgsql-sql@postgresql.org
Cc: postgresql@aranya.com
Subject: Re: Table relationships
Date: Tue, 9 Jan 2007 09:41:13 -0500
Message-ID: <20070109094113.064bae02.darcy@druid.net> (raw)
In-Reply-To: <031936836C46D611BB1B00508BE7345D04DC1BB5@gatekeeper.daycos.com>
References: <031936836C46D611BB1B00508BE7345D04DC1BB5@gatekeeper.daycos.com>
On Mon, 8 Jan 2007 17:07:56 -0600
Curtis Scheer <Curtis@DAYCOS.com> wrote:
> -> Is there a difference between an address for the customer detail and an
> address for the customer?
>
> Not really an address is an address, it's a matter of specify an address for
> the customer master record which basically represents an entire customer
> while the customerdetail represents departments within that company that
> might be at a different address then the company's main office for instance.
Could be that you need another table. Sounds like you have something
like;
company <===> address <===> detail
Now you just have to indicate which address is the primary or head
office. You can do that with a bool in the address table. You can
even add a unique, partial index to address to assure that you only
have one head office per company.
Another alternative is to add another table which just holds the
address:
company <===> department <===> detail
^ ^
| |
\==> address <==/
Obviously the address attached to the company is the head office. For
departments you can either duplicate the reference to the address table
or have NULL indicate a default to the head office.
There are many possibilities. Which one is best will depend on
analysing your particular business model.
--
D'Arcy J.M. Cain <darcy@druid.net> | Democracy is three wolves
http://www.druid.net/darcy/ | and a sheep voting on
+1 416 425 1212 (DoD#0082) (eNTP) | what's for dinner.
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: darcy@druid.net, Curtis@DAYCOS.com, postgresql@aranya.com
Subject: Re: Table relationships
In-Reply-To: <20070109094113.064bae02.darcy@druid.net>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox