On Mon, Oct 25, 2010 at 15:11, Peter Eisentraut <pete...@gmx.net> wrote:

> Example #4: PK is period, FK is timestamp.  FK must be contained in some
> PK period.
>
> CREATE TABLE pk (a period PRIMARY KEY, ...);
>
> CREATE TABLE fk (x timestamp REFERENCES pk (a), ...);
>
> As above, we can probably arrange the operator knowledge to make these
> checks.  But I think additionally, you'd need an exclusion constraint on
> the PK side to ensure nonoverlapping arrays/periods so that on
> update/delete restrict as well as cascading deletes work.
>

Additional interesting examples involve IP network containment using
> inet/cidr or ip4/ip4r.  There, you'd probably need additional syntax to
> tell the system explicitly which operators to use.
>

There are a large number of use-cases for this type of foreign key with
geometry ( PostGIS ) types as well. Point references Area or Line, Area
references Area, etc.

Reply via email to