Часто в таблиці, яка не має природного ключа, користувачам все ж корисно мати унікальний генерований ідентифікатор. Якщо в таблиці є сурогатний первинний ключ (і в такому випадку ви, безумовно, очікуєте, що це буде), чи повинен цей ключ піддаватися користувачеві або для цього потрібно використовувати інше поле?
Однією з причин не виставляти сурогатний ключ є те, що тепер ви не можете робити операції, які зберігають взаємозв'язок між записами, але змінюють ключові значення, такі як певні види видалення / повторної вставки, багато методів копіювання даних з однієї бази даних до інший тощо.
Основна перевага викриття сурогатного ключа - простота використання поля, яке ви все одно маєте.
За яких обставин краще безпосередньо викрити сурогатний ключ користувачам?