Re: Any *real* reason to choose a natural, composite PK

From: Brent Wood <b(dot)wood(at)niwa(dot)co(dot)nz>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: Any *real* reason to choose a natural, composite PK
Date: 2006-06-09 00:19:48
Message-ID: 20060609121307.L7739@storm-user.niwa.co.nz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Agent M 2006-06-09 00:31:28 Re: Fabian Pascal and RDBMS deficiencies in fully implementing the relational model
Previous Message Alex Turner 2006-06-08 23:14:01 Re: Problems with database bloat