Re: Surrogate keys (Was: enums)

From: Michael Glaesemann <grzm(at)myrealbox(dot)com>
To: "Dann Corbit" <DCorbit(at)connx(dot)com>
Cc: Leandro Guimarães Faria Corcete Dutra <leandro(at)dutra(dot)fastmail(dot)fm>, "Jim C(dot) Nasby" <jnasby(at)pervasive(dot)com>, <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Surrogate keys (Was: enums)
Date: 2006-01-19 01:47:49
Message-ID: 636B4E05-95CB-4742-BE24-05530CD5BA20@myrealbox.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general pgsql-hackers


On Jan 19, 2006, at 10:34 , Dann Corbit wrote:

> http://www.db.ucsd.edu/cse132B/Thirdmanifesto.pdf

> "PROPOSITION 1.4: Unique Identifiers (UIDs) for records should be
> assigned by the DBMS only if a user-defined primary key is not
> available.

<snip />

> An immutable primary key has an extra advantage over a system-
> assigned unique identifier because it has a natural, human readable
> meaning. Consequently, in data interchange or debugging this may be
> an advantage. If no primary key is available for a collection,
> then it is imperative that a system-assigned UID be provided.

<snip />

Dann Corbit:

> The primary key should be immutable, meaning that its value should
> not be changed during the course of normal operations of the
> database. What natural key is immutable? The answer is that such
> an attribute does not exist. To use them for such a purpose is
> begging for trouble.

As far as I can tell, the only difference between your position,
Dann, and Date and Darwen's, is that you think no natural key is
immutable. If you *could* find an immutable natural key, would it be
an acceptable key for you? Date and Darwen say explicitly that if no
immutable (natural) (primary) key is available a system-assigned UID
is required. If you think there is no immutable natural key
available, Darwen and Date would agree that you should use a system-
generated key. Or do you think I'm misreading you or The Third
Manifesto?

Michael Glaesemann
grzm myrealbox com

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Rod Taylor 2006-01-19 02:02:28 Re: No heap lookups on index
Previous Message Dann Corbit 2006-01-19 01:34:20 Re: FW: Surrogate keys (Was: enums)

Browse pgsql-hackers by date

  From Date Subject
Next Message Dann Corbit 2006-01-19 01:51:47 Re: Surrogate keys (Was: enums)
Previous Message Dann Corbit 2006-01-19 01:34:20 Re: FW: Surrogate keys (Was: enums)