intelligent key

intelligent key

(database)A relational database key which depends whollyon one or more other columns in the same table. Anintelligent key might be identified for implementationconvenience, where there is no good candidate key.

For example, if the three-letter initials of a group of peopleare 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 toguarantee uniqueness, and if the value on which an intelligentkey depends changes then the key must either stay the same,creating an inconsistency within the containing table, orchange, requiring changes to all other tables in which itappears as a foreign key. The correct solution is to use asurrogate key.