>>Here at my job we have a database modeler in our group. He is insistent that all tables use 'Natural Keys' and not surrogate keys. I am not trying to start a battle or anything, but is this really even still a debate? It does not matter how much logical reason I provide him, he is propagating his plan across the company and it does not seem to matter what the impact will be. This is a global company in 140 countries with data centers all over the world.
>>
>>My only questions is: Has something changed and I missed it? We are talking about values that users see and will want to change being used as primary keys on the tables.
>
>I'd start a battle :-}
>
>AFAICS the only advantage of using a natural key occurs if there is already a candidate column in the table - and in a lot of cases that is not true - or at least will require using multiple columns. And events may occur in the future that would render the original choice unviable.
>
>GUIDS for me :-}
Thanks Viv,
That shares my opinion exactly. He is designing a data model for company wide data and some table may have candidate columns. I am suggesting he keep those as candidates and include a surrogate key. I like GUIDS also and would seem like almost a must for global database implementations.
Timothy Bryan