Re: Discussion wanted: 'Trigger on Delete' cascade. - Mailing list pgsql-general

From Pierre-Frédéric Caillaud
Subject Re: Discussion wanted: 'Trigger on Delete' cascade.
Date
Msg-id opsbuhzpp3cq72hf@musicbox
Whole thread Raw
In response to Discussion wanted: 'Trigger on Delete' cascade.  (R.Welz <linuxprodukte@gmx.de>)
List pgsql-general
Display all headersTo: "R.Welz" <linuxprodukte@gmx.de>
Subject: Re: [GENERAL] Discussion wanted: 'Trigger on Delete' cascade.
Date: Wed, 28 Jul 2004 13:24:26 +0200
From: Pierre-Frédéric Caillaud <lists@boutiquenumerique.com>
Organization: La Boutique Numérique



 From what you say, your do not need a link table.
A link table is useful to link several items of a table to several items
of another table (many-to-
many relationship).

Example : items and categories.

1- An item belongs to a category
No need for a link table.
table categories ( id serial primary key );
table items ( category_id integer references categories( id ) on delete
cascade );

1- An item belongs to several categories
table categories ( id serial primary key );
table items ( id serial primary key );
table links (
category_id integer references categories( id ) on delete cascade,
item_id integer references items( id ) on delete cascade,
  );
In this case you do need a link table.

You also need triggers to delete items when
- a link is deleted from the links table
- no more links to this item exist
which is, in fact, reference counting.













pgsql-general by date:

Previous
From: jseymour@linxnet.com (Jim Seymour)
Date:
Subject: Re: no value fetch
Next
From: val@webtribe.net
Date:
Subject: Indexes on Character Types