Re: A real world example
Date: 15 Aug 2006 06:51:44 -0700
Message-ID: <1155649903.685743.170520_at_i3g2000cwc.googlegroups.com>
Just as it is good to describe a person by something that will remain
consistent (for example telling someone that they will recognise 'john'
by his 'green jumper' is not particularly useful if he does actually
change his clothes once in a while), so in database design it is vital
to pick a good candidate key. Desirable properties are:
The RM does not require that anything is immutable, but clearly,
finding a key that tends to immutability is desirable for (2).
It appears to me reading the posts in this thread, that everyone is
agreed on these points, so I would like to suitably bang all your heads
Given that all are agreed that surrogates are useful, this leaves the _only_ point that seem to be in contention:
"Should a surrogate be made hidden from the user"
I'd contend no, absolutely not. Surrogates are instigated by real world
difficulties in distinguishing items even if they are generated by a
DBMS (in fact it does not matter a jot what generates them logically).
Hence if they are hidden, it is a clear violation of the information
principle, which is vital for the real world identification that
precipitated the need for them in the first place.
Received on Tue Aug 15 2006 - 15:51:44 CEST