agiledata.org
Choosing a Primary Key: Natural or Surrogate?
This article overviews strategies for assigning primary keys to a table within a relational database. In particular, it focuses on the issue of when to use natural keys and when to use surrogate keys.