
Stop using Integer ID’s in your Database


The problem is that most companies don’t apply the required forethought to creating the right primary keys to allow data from different channels to be merged.
Avinash Kaushik • Web Analytics 2.0: The Art of Online Accountability and Science of Customer Centricity
That brings us to this rule: Have only one copy of any given piece of data. Instead of copying data into two places on the system, instead link data from one part of the information system to the other.
David Uhlman • Hacking Healthcare: A Guide to Standards, Workflows, and Meaningful Use
Having a unique ID number for every object can come in handy when you’re trying to determine whether two objects are the same as each other.
Joe Leo • The Well-Grounded Rubyist
This approach has typically lead to expensive, monster-sized databases that are not designed for a specific purpose and do not perform well.
Steve Williams • The Profit Impact of Business Intelligence
As in the case of human institutions, one of the points of giving objects ID numbers in Ruby is to be able to make unique identifications—and, in particular, to be able to determine when two objects are the same object.
Joe Leo • The Well-Grounded Rubyist
