Как правило, лучше использовать собственные первичные ключи (т. Е. Существующие столбцы или комбинацию столбцов) или установить в качестве первичного ключа автоматически генерируемую строку целых чисел?
РЕДАКТИРОВАТЬ:
Мне было указано, что это очень похоже на этот вопрос.
Здесь все согласны с тем, чтобы использовать суррогатные ключи, что было моим естественным желанием, но мой босс сказал мне, что я должен также использовать естественные ключи, где это возможно. Его совет может быть лучшим для этого конкретного приложения, поскольку имя в строке однозначно идентифицирует его, и нам необходимо поддерживать возможность просмотра старых данных, поэтому любые изменения имени / правила будут означать новую уникальную строку.
Хотя все ответы здесь полезны, большинство из них основано на субъективном «вот что вам следует» и не ссылаются на поддерживающие источники. Я пропустил что-то важное, или рекомендации по проектированию баз данных очень субъективны и / или зависят от приложения?