При прочтении Быть в спящем режиме документации я продолжаю видеть ссылки на понятие естественного идентификатора.
Это просто означает идентификатор, который объект имеет из-за природы данных, которые это содержит?
Например, имя пользователя + пароль + возраст + что-то используется в качестве составного объекта identitifier?
Что естественно идентифицирует сущность. Например, мой адрес электронной почты.
Однако длинная строка переменной длины не является идеальным ключом, поэтому вы можете определить суррогатный идентификатор
AKA Естественный ключ в реляционном дизайне
Естественный идентификатор - это то, что используется в реальном мире в качестве идентификатора. Примером может служить номер социального страхования или номер паспорта.
Обычно использование естественных идентификаторов в качестве ключей на уровне сохраняемости - плохая идея, потому что а) они могут быть изменены вне вашего контроля, и б) они могут закончиться up не является уникальным из-за ошибки в другом месте, и тогда ваша модель данных не сможет с этим справиться, и ваше приложение взорвется.
Номер социального страхования может быть естественным идентификатором или, как вы сказали, хеш-кодом информации пользователя. Альтернативой является суррогатный ключ , например Guid / UID.