In a fairly animated discussion in my team I was made to think what most people like as primary keys. We had the following groups-
What's the best approach for PKs? It would be awesome if you could justify your opinion. Is there a better approach that the above?
EDIT: Anyone has a simple sample/algorithm to generate human readable identifiers for rows that scales well?
If you're going to be doing any syncing between databases with occasionally connected apps, then you should be using GUIDs for your primary keys. It is kind of a pain for debugging, so apart from that case I tend to stick to ints that autoincrement.
Autoincrement ints should be your default, and not using them should be justified.