Chapter 1. Where are my keys?
If you walk into a room full of DBAs or DB developers and you feel like having the same kind of fun as setting fire to a dry hayfield, just drop this question: “What’s a better design, using natural keys or artificial keys?” Satisfaction guaranteed. When I started to study database design, this was one of the first hot controversies I encountered. If you Google the phrase “natural vs. artificial keys,” you’ll come up with more than 150 million results, including endless debates, numerous articles, blog posts with passionate replies, long theoretical and practical arguments, and even the occasional profanity. In this chapter, I would like to take you on a tour, very much the same way I have traveled with this dispute, and I hope that together we can reach some useful insights into the essence of both positions. Who can tell? Perhaps things won’t look as stark afterward.