Re: Newbie question
Date: Wed, 22 Jun 2005 09:15:16 +0200
In article <gTH5vQUczHuCFwXh_at_shrdlu.com>, bap_at_shrdlu.com says...
> >Can you elaborate on this? Why does a surrogate have to change when
> >the natural key for which it is a surrogate changes? Do you have some
> >historical (temporal) system in mind?
> Nope. The natural key identifies the object that the record refers to.
> If the natural key changes it's because the record now refers to a
> different object.
Not necessarily; it depends on the problem domain, the purpose of the database, and the nature of the change. If you change an erroneous natural key, does the "record" now refer to a "different object"? If you change the license plates of a car, does it become a "different object"? For some purposes yes, for others, no. How do you define "different object"?
Why? What breaks badly if they don't?
That depends on the problem domain and the purpose of the database.
> If you want a natural key for a person try
> the exact latitude, longitude, altitude and precise time of their birth.
That is an excellent example of the need for surrogate keys. :)
-- JonReceived on Wed Jun 22 2005 - 09:15:16 CEST