multi-table unique index

From: Markus Bertheau <twanger(at)bluetwanger(dot)de>
To: PGSQL-SQL <pgsql-sql(at)postgresql(dot)org>
Subject: multi-table unique index
Date: 2003-06-23 13:58:20
Message-ID: 1056376700.2037.2.camel@fluor
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

-- Suppose I have several types of foos

create table foo_types (
foo_type_id serial primary key,
foo_name text not null
);

-- And the foos itself:

create table foo (
foo_id serial primary key,
foo_type_id int not null references foo_types,
foo_general_data1 text
);

-- 1st special foo:

create table foo_1 (
foo_1_id serial primary key,
foo_id int not null references foo,
foo_1_data1 int,
foo_1_data2 text
);

-- 2nd special foo:

create table foo_2 (
foo_2_id serial primary key,
foo_id int not null references foo,
foo_2_data1 numeric(8,2),
foo_2_data2 timestamp
);

-- And I have bars that each have zero or more (special) foos.

create table bar (
bar_id serial primary key
);

create table bar_foos (
bar_id int not null references bar,
foo_id int not null references foo
);

-- Now how do I prevent that I can insert a foo_1 and a foo_2 with
-- the same foo_id? Or is the design errorneous itself?

--
Markus Bertheau
Berlin, Berlin, Germany

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Rod Taylor 2003-06-23 14:00:32 Re: convert_numeric_to_scalar: unsupported type 354210
Previous Message btober 2003-06-23 12:57:01 Re: Informing end-user of check constraint rules