Re: Primary and Foreign Key?

Поиск
Список
Период
Сортировка
Искать
От
Oliver Elphick
Тема
Re: Primary and Foreign Key?
Дата
Msg-id
1127561508.10691.11.camel@linda.lfix.co.uk
Ответ на
Список
Дерево обсуждения
Primary and Foreign Key? "A. Banks" <abanks@insightbb.com>
Re: Primary and Foreign Key? Oliver Elphick <olly@lfix.co.uk>
Re: Primary and Foreign Key? "Wayne Unruh" <waynepunruh@hotmail.com>
On Wed, 2005-09-21 at 19:46 -0500, A. Banks wrote:
> I have the following related tables:
> 
> PEOPLE
> --------------
> peopleid pkey,
> name,
> etc
> 
> 
> GROUPS
> -------------
> groupid pkey,
> description,
> etc
> 
> 
> PEOPLEGROUPS
> -------------------
> peopleid pkey/fkey,
> groupid pkey/fkey
> 
> 
> What is the CORRECT way (in Postgres) to define the PEOPLEGROUPS table so
> that it has both the double primary key AND still acts as a foreign key for
> people.peopleid and groups.groupid? Can i specify both or is this not
> necessary? Any suggestions would be appreciated.

Your terminology is a bit wrong; there can only ever be one primary key
for a table; what you want is probably a single primary key made up of
two columns.

Your definition will look like this:

CREATE TABLE people (
   peopleid	SERIAL PRIMARY KEY,  -- SERIAL is an INTEGER that autoincrements
                                     -- if no value is supplied on insertion
   name		TEXT NOT NULL,
   ...
);

CREATE TABLE groups (
   groupid	SERIAL PRIMARY KEY,
   name		TEXT NOT NULL,
   ...
);

CREATE TABLE peoplegroups (
   peopleid	INTEGER
                REFERENCES people (peopleid)
                   ON UPDATE CASCADE ON DELETE NO ACTION,
   groupid	INTEGER
                REFERENCES people (peopleid)
                   ON UPDATE CASCADE ON DELETE NO ACTION,
   PRIMARY KEY (peopleid, groupid)
);
-- 
Oliver Elphick                                          olly@lfix.co.uk
Isle of Wight                              http://www.lfix.co.uk/oliver
GPG: 1024D/A54310EA  92C8 39E7 280E 3631 3F0E  1EC0 5664 7A2F A543 10EA
                 ========================================
   Do you want to know God?   http://www.lfix.co.uk/knowing_god.html

В списке pgsql-novice по дате отправления
От: Wayne Unruh
Дата:
Сообщение: Re: Primary and Foreign Key?
От: Announce
Дата:
Сообщение: Re: Primary and Foreign Key?
FAQ