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