It is important to distinguish between a primary key that should uniquely identify a row in a table and some kind of smart key that products in catalogs usually have.
For the primary key, use auto-incrementing integer - there are very few exceptions to this.
Add columns for the things that you're trying to present in this intelligent key, eg Person, Project, Responseetc.
Add a separate column for this key and process it like any other field in the table - this should contain people who are used to this kind of thinking.
The smart key is wrong here, from the db development point, this key is pretty dumb.
source
share