Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> comp.databases.theory -> Re: Surrogate Keys: an Implementation Issue

Re: Surrogate Keys: an Implementation Issue

From: Bob Badour <bbadour_at_pei.sympatico.ca>
Date: Sat, 22 Jul 2006 22:02:47 GMT
Message-ID: <bgxwg.13694$pu3.316523@ursa-nb00s0.nbnet.nb.ca>


Bernard Peek wrote:
> In comp.databases.theory Paul Mansour wrote:
>
>
>

>>The second is perhaps more profound. Consider a rollback database, or
>>a database that must provide a complete audit trail of every change.
>>For example, the database must provide the answer to "who changed
>>this SS number from  X to Y, and when did they change it? As far as I
>>can tell, if there is no way to answer this without an immutable
>>identifier. ( I suppose you could design the DB to handle specific
>>cases, but I'm interested in DBMS with native rollback and audit
>>trail support.)

>
> If what you think of as the key is mutable it's not a natural key.
> Natural keys aren't mutable, at all, ever.
>
> The problem here is that there isn't a usable natural key for
> identifying people. So all that's left are surrogates of varying
> quality. The SSN is a surrogate that works most of the time. If you
> assign someone a payroll number and tell tham that thay won't get paid
> unless they can quote it then you have a close to immutable key. But
> it's still a surrogate.
>
> I think the original post was part correct. Use a natural key when you
> have one. I'd just add to that, don't use a surrogate unless there is a
> compelling reason for it. Efficiency is unlikely to be a compelling
> argument in most cases.

What is a natural key if not a familiar surrogate key? Received on Sat Jul 22 2006 - 17:02:47 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US