Часто в таблице, которая не имеет естественного ключа, пользователям по-прежнему полезно иметь уникально сгенерированный идентификатор. Если таблица имеет суррогатный первичный ключ (и в этом случае вы, конечно, ожидаете этого), должен ли этот ключ быть открыт пользователю или для этой цели должно использоваться другое поле?
Одна из причин не раскрывать суррогатный ключ состоит в том, что теперь вы не можете выполнять операции, которые сохраняют связь между записями, но изменять значения ключа, такие как определенные виды удаления / повторной вставки, многие методы копирования данных из одной базы данных в другой и т. д.
Основным преимуществом раскрытия суррогатного ключа является простота использования поля, которое у вас есть.
При каких обстоятельствах лучше напрямую предоставлять суррогатный ключ пользователям?