Re: Table relationships - Mailing list pgsql-sql

From Curtis Scheer
Subject Re: Table relationships
Date
Msg-id 031936836C46D611BB1B00508BE7345D04DC1BB5@gatekeeper.daycos.com
Whole thread Raw
In response to Table relationships  (Curtis Scheer <Curtis@DAYCOS.com>)
Responses Re: Table relationships  ("D'Arcy J.M. Cain" <darcy@druid.net>)
List pgsql-sql

->I hope you left out the foreign keys for simplicity.  Make sure they get into your database.
            Yes I left out the foreign keys for simplicity

-> 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 you add a specific address to multiple customer and/or customer detail records or is the address only assigned to one?

Many addresses can belong to many customer detail records. The customermaster table should only contain one address so that should be a one to many relationship. I guess the real problem is defining which address is the “Main Office” for a given company. So maybe making different “Types” of addresses and referencing them to the customerdetail table is the best way to go?  For instance

 

CREATE TABLE customerdetail _address

(

addressid int4, 
customerdetailid int4
addresstypeid varchar

)

CREATE TABLE testing.addresstype

(

  addresstypeid serial NOT NULL,

  shortdescription varchar(15) NOT NULL,

  description varchar(100),

  CONSTRAINT pk_addresstype_shortdescription PRIMARY KEY (shortdescription)

)

 

The only other problem I see is if a particular customer has the same address for all the departments in the company, then I guess the addressed would exist multiple times but in the customerdetail_address table but the user would only have to select that particular record rather then input the same address again.


From: Aaron Bono [mailto:postgresql@aranya.com]
Sent: Monday, January 08, 2007 4:43 PM
To: pgsql-sql@postgresql.org
Subject: Fwd: [SQL] Table relationships

 

---------- Forwarded message ----------
From: Aaron Bono <postgresql@aranya.com>
Date: Jan 8, 2007 4:42 PM
Subject: Re: [SQL] Table relationships
To: Curtis Scheer <Curtis@daycos.com>

On 1/8/07, Curtis Scheer <Curtis@daycos.com> wrote:


I hope you left out the foreign keys for simplicity.  Make sure they get into your database.

To answer your questions, I think it prudent to ask a few to get a better understanding of the meaning of your tables:

Is there a difference between an address for the customer detail and an address for the customer?

Is there some kind of significance to attaching an address to the customer detail as opposed to the customer?  Attaching the address to the detail gives it a customer by referencing through the detail.

Could you add a specific address to multiple customer and/or customer detail records or is the address only assigned to one?

What it gets down to is that you must start with the LOGICAL data model and ask yourself what are the meaning of the relationships and what relationships make sense before you get down to creating the PHYSICAL database.

--
==================================================================
   Aaron Bono
   Aranya Software Technologies, Inc.
   http://www.aranya.com
   http://codeelixir.com
==================================================================

pgsql-sql by date:

Previous
From: "Aaron Bono"
Date:
Subject: Fwd: Table relationships
Next
From: "D'Arcy J.M. Cain"
Date:
Subject: Re: Table relationships