While it's unlikely that a number like that would be changed by the issuing authority.
Two simple scenarios would cause you problems
What if some one made a data entry error and put the wrong number in and it took some time to discover the error? There are ways to cope, but they are much more code and testing than using a surrogate primary key and a natural unique key.
Even more likely someone comes along and says they want to put people in the system before they know what the ID number is...
Surrogate keys can seem to be a bit unnecessary, when you have a natural or compound one, but they give you low cost options when things change, and change is guaranteed.
That's not to say I haven't used a natural key myself a time or two, but I have been made to regret doing so a few times as well, and those times cost way more than the apparent extra complexity of a surrogate key.
Discussion on:
Message 4 of 41

































