Quote:
1. Never post anything from Celko. Most of what he does is wrong. Yes, he is popular, but he definitely lacks fundamentals and is regularly debunked.
Quote:
Get the Fabian Pascal book, he summarizes these important points nicely.
What I can say ?
Quote:
3. There is no "always use surrogate keys" or "always use natural keys" theory. Both have their place and use, depending on the logical data model.
I agree.
There is different (for me) between an application for external users (web application, mostly) and an application for internal users (classical information systems, order entry, accounting etc)
I don't know for first type, but I know for last type of application.
For example, my employees or partners have surrogate keys (ID), but internal users use it like natural key - users know partner ID before name or address and search with id easy - what is it : natural or surrogate ? I think that all columns visible to users are natural and I show all columns to users - I don't force that you do it, this is my opinion only.