Всякий раз, когда я создаю базу данных, я автоматически начинаю с автоматического генерации основного ключа GUID для каждой из моих таблиц (кроме справочных таблиц).
Я знаю, что никогда не потеряю сон над дублирующимися ключами, слияние таблиц и т.д. Для меня просто философски понятно, что любая данная запись должна быть уникальной во всех доменах и что эта уникальность должна быть представлена последовательным образом из таблица к таблице.
Я понимаю, что это никогда не будет самым эффективным вариантом, но отбросив производительность в сторону, я хотел бы знать, существуют ли философские аргументы против этой практики?
Основываясь на ответах, позвольте мне пояснить:
Я говорю о постоянном использовании ключа суррогата GUID в качестве первичного ключа - независимо от того, как и как любые естественные или последовательные ключи создаются на столе. Это мои предположения:
- Целостность данных, основанная на естественных ключах, может быть разработана, но не предполагается.
- Функция первичного ключа - это ссылочная целостность, независимо от производительности, последовательности или данных.