Re: Normalization, Natural Keys, Surrogate Keys

From: Malcolm Dew-Jones <>
Date: 28 May 2002 13:38:47 -0800
Message-ID: <>

Bernard Peek ( wrote:
: In message <>, Kai Ponte
: <> writes

: >> Having a surrogate primary key shouldn't let you off the hook. As a
: >> rule of thumb, you always HAVE TO HAVE an alternate UNIQUE constraint.
: >I respectfully disagree with "always have to have." Yes, it may often
: >be necessary, but not always.

: Can you suggest a situation where you do not need a unique constraint in
: addition to the surrogate?

The inability to provide a unique constraint (other than a surrogate) is exactly one of the reasons why data may need a surrogate.

This happens when using old data. In addition to it being impractical to fix all old data before loading it into a new system, it may also be questionable to do so because the existing data may be a historical record, such as a license, which cannot be "corrected" within the framework of the application even if it appears to be wrong. Received on Tue May 28 2002 - 23:38:47 CEST

Original text of this message