Systems Integration and Primary Keys
In this age where one system has to talk to another, and where the integration point is often at the database level, why is it not standard database practice to pull all auto-generated IDs from the same pool? Just because I store comments in the COMMENTS table and blog entries in the BLOG_ENTRIES table doesn't mean that some other database won't put them both in an ENTRIES table with TYPE='BLOG' for blog entries and TYPE='COMMENT' for comments.
Rather than simply auto-incrementing the id for a given table, all ids should be pulled from the same pool of GUIDs.
I've been mentioning this to various people, and nobody can give me a downside. My theory is that the Sales guys would say this makes it easy for customers to move off your product, and doesn't help them move in. I say that this makes your product a cinch to integrate with, and helps make it a natural choice for Golden Master database from which all other systems get their data.
But hey. What do I know?