Re: constraints for ensuring relationships

From: Stephan Szabo <sszabo(at)megazone23(dot)bigpanda(dot)com>
To: Markus Wagner <wagner(at)imsd(dot)uni-mainz(dot)de>
Cc: <pgsql-sql(at)postgresql(dot)org>
Subject: Re: constraints for ensuring relationships
Date: 2002-05-21 14:43:59
Message-ID: 20020521073832.K11485-100000@megazone23.bigpanda.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql


On Tue, 21 May 2002, Markus Wagner wrote:

> I wonder if I can use constraints to ensure some special integrity.
>
> Suppose there is a table "Type" of item types:
>
> CREATE TABLE "Type"
> (
> "index" SERIAL PRIMARY KEY,
> "name" TEXT,
> "multiple" BOOL
> );
>
> Suppose there is a table "Item" like this:
>
> CREATE TABLE "Item"
> (
> "index" SERIAL PRIMARY KEY,
> "type" INT REFERENCES "Type",
> "data" TEXT
> );
>
> Supose there is a table "SubItem" that contains special details about our
> items:
>
> CREATE TABLE "SubItem"
> (
> "index" SERIAL PRIMARY KEY,
> "Item" INT REFERENCES "Item",
> "Data" TEXT
> );
>
> And now the constraint:
>
> Each Item should be allowed to have more than one subitem, if and only if its
> type allows for multiple instances, i. e. the type the item is linked to must
> have 't' in its field 'multiple'.
>
> Can I attach constraints to some of the tables (e. g. "SubItem") that ensure
> this?

Given your schema, you might be able to get away with triggers that do the
check or a bunch of check constraints that call a function that does the
check. You need to worry about updates on Type and Item and inserts and
updates on SubItem I think.

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Thomas Lockhart 2002-05-21 15:24:06 Re: [SQL] Bug with Daylight Savings Time & Interval
Previous Message Joel Burton 2002-05-21 13:10:10 Re: drop constraint problem