资料来源 : Free On-Line Dictionary of Computing
intelligent key
A {relational database} {key} which depends wholely
on one or more other columns in the same table. An
intelligent key might be identified for implementation
convenience, where there is no good {candidate key}.
For example, if the three-letter initials of a group of people
are known to be unique but only their full names are recorded,
a three letter acronym for their names (e.g. John Doe Smith ->
JDS) would be an intelligent key.
Intelligent keys are a {Bad Thing} because it is hard to
guarantee uniqueness, and if the value on which an intelligent
key depends changes then the key must either stay the same,
creating an inconsistency within the containing table, or
change, requiring changes to all other tables in which it
appears as a {foreign key}. The correct solution is to use a
{surrogate key}.
(1999-12-07)