While this statement is accurate, it isn't very precise. Needs change.
Requirements change. Usage changes. Any one of these changes can
invalidate a very correct initial analysis. A wise designer anticipates
change to minimize impact on both current work *and* future development
effort. Artificial keys are a very simple and effective guard against
human assumption and protect future design robustness.
Tim
On Jun 8, 2006, at 7:59 PM, Trent Shipley wrote:
> Likewise, the stability provided by a surrogate key is arguably
> illusory. If
> N is the primary key and the values in composite key ABC change then
> the
> surrogate key N simply masks poor design. If ABC is not stable then
> the
> initial analysis was flawed and ABC was not a valid candidate for a
> primary
> key.
>
> N only provides stability if the contents of ABC change in such a way
> that ABC
> remains unique.