Re: Surrogate Keys: an Implementation Issue

From: Paul Mansour <paul_at_carlislegroup.com>
Date: 20 Jul 2006 07:05:12 -0700
Message-ID: <1153404312.249455.14250_at_h48g2000cwc.googlegroups.com>


Bob Badour wrote:

>

> Paul, I think you are confusing the logical level and the physical
> level. Whether one uses some kind of pointer (or any other structure)
> that is hidden from the user is entirely a physical consideration.

Bob,

As I noted to paul c, perhaps the choice of "surrogate key" was a bad idea. I think I understand the importance of keeping the logical and physical levels separate. But when you sit down to actually implement somthing, it seems one must think of both at the same time.

In the particular DBMS implementation I'm working on I need an immutable identifer for each row due to rollback and audit requirements. The implementation of this immutable identifier is just a system column for the table, so it can do double duty if the user has not defined a natural key for a table, and it can be exposed as an auto-incrementing surrogate key. So for most tables it is not exposed, but for some it is.

I'm hoping that in the result that is presented to the user I have not confused the physical and logical models. Received on Thu Jul 20 2006 - 16:05:12 CEST

Original text of this message