Thomas,
Many times you will have references to a specific row from somewhere
outside of your database. Perhaps you have a federation of web services
that collaborate or other arbitrary URL's that contain the key.
It might be harder to create remote row sets, middle tier caches, and
other similar constructs if you cannot trust that the primary key is
immutable. Such mechanisms often trust that the primary key can be used
to refetch the data and that it has been deleted if it's no longer found.
Sure. And that's a good reason to need an immutable surrogate key.
However, Dann was arguing that immutable surrogate keys are an "a
priori" good thing for all applications, in no need of justification,
which I don't buy.
That will be interesting reading. I didn't find it (yet). Can you please
post an URL here?
Sure, it was posted on -hackers earlier:
http://blogs.ittoolbox.com/database/soup/archives/007327.asp
--Josh