pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Taylor Lewick <tlewick@kc.rr.com>
To: pgsql-sql@postgresql.org
Subject: relationship/table design question
Date: Tue, 2 Dec 2003 20:45:45 -0600
Message-ID: <001c01c3b947$8cf3cb70$c0341a41@taylor> (raw)

Hi all, new to postgresql and I have a question about how to lay out my
database.

I have a database with 4 main tables, organizations, contacts, events,
grants. My thinking here is that organizations can have contacts, sponsor
events,
and sponsor grants, so it is what I would call
the main table.  I know how to set up the other tables so that they have a
reference back to org_id.  (Basically a foreign key).

How would I handle it (set up in SQL) if I want to be able to assign a
contact to an event.  In the event table, would I make a reference back to
the contact table?  Can I have more than one foreign key reference per table
going to seperate tables?  Finally, can I make the reference constraint be
able to be NULL.  Meaning, can I make it so that an event can, but doesn't
have to have a contact assigned to it?

The tables (a simplified view) would look like this...

Organization Table:
org_id
org_name

Contact Table:
contact_id
contact_name

Event Table:
event_id
event_name
reference back to org_id in org table
reference back to contact_id in contact_table but there doesn't have to be a
contact associated with this event.




view thread (2+ messages)  latest in thread

Message-ID: <001c01c3b947$8cf3cb70$c0341a41@taylor>
Permalink:  ../001c01c3b947$8cf3cb70$c0341a41@taylor/
Also on:    postgresql.org/message-id/001c01c3b947$8cf3cb70$c0341a41@taylor

 · 

reply

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: tlewick@kc.rr.com
  Subject: Re: relationship/table design question
  In-Reply-To: <001c01c3b947$8cf3cb70$c0341a41@taylor>

* 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