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.