Re: Any *real* reason to choose a natural, composite PK - Mailing list pgsql-general

From Brent Wood
Subject Re: Any *real* reason to choose a natural, composite PK
Date
Msg-id 20060609121307.L7739@storm-user.niwa.co.nz
Whole thread Raw
In response to Re: Any *real* reason to choose a natural, composite PK over a surrogate, simple PK?  (dananrg@yahoo.com)
List pgsql-general

A bit simplistic, but in a nutshelll....


They are used for different things. A natural PK is used for data
integrity purposes, and if it is a single attr, it can also be a
performance enhancing index.

An artificial key is used to speed up queries, by allowing joins on a
single indexed attribute.

So use your composite, data driven, unique index as an integrity rule to
prevent duplicates, and use an artificial PK to enhance performance on
queries & joins. When you need to enhance performance is largely up to
you, unless you require your design to always maximise efficiency.


HTH,

 Brent Wood

pgsql-general by date:

Previous
From: "pobox@verysmall.org"
Date:
Subject: Re: 010.pgsql.sh does not react
Next
From: Alban Hertroys
Date:
Subject: Re: 010.pgsql.sh does not react