pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Leif B. Kristensen <leif@solumslekt.org>
To: pgsql-sql@postgresql.org
Subject: Re: Need help with 'unique parents' constraint
Date: Mon, 12 Sep 2005 20:02:34 +0200
Message-ID: <200509122002.34864.leif@solumslekt.org> (raw)
In-Reply-To: <7a5b3f3e2ddebaeda6d9df07ebca943a@biglumber.com>
References: <7a5b3f3e2ddebaeda6d9df07ebca943a@biglumber.com>

On Sunday 11 September 2005 16:04, Greg Sabino Mullane wrote:

> Not just old-fashioned, it's the biological law! (among homo sapiens
> anyway). I'd approach this with a trigger, as you can do complex
> checks and get back nice customized error messages. A sample script
> follows. Hard to tell without seeing your whole schema, but I see no
> need for a relation_id primary key if you already have a unique
> constraint on child_fk and parent_fk, so I made those into the
> primary key for the relations table:

Thank you for an excellent answer. I think I will have to study your 
code for a while. But is it such a bad idea to have a separate column 
for the primary key here? I see that there are two schools on this, 
with diametrically opposed views. For my own part, I feel that it at 
least doesn't hurt to have a surrogate key. Secondly, a single key 
value is easier to reference from another table than a composite key.
-- 
Leif Biberg Kristensen
http://solumslekt.org/



view thread (7+ messages)  latest in thread

Message-ID: <200509122002.34864.leif@solumslekt.org>
Permalink:  ../200509122002.34864.leif@solumslekt.org/
Also on:    postgresql.org/message-id/200509122002.34864.leif@solumslekt.org

 · 

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: leif@solumslekt.org
  Subject: Re: Need help with 'unique parents' constraint
  In-Reply-To: <200509122002.34864.leif@solumslekt.org>

* 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