Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como implementar IDs sem intervalos e fáceis de usar no NHibernate?


Uma opção seria manter uma tabela-chave que simplesmente armazena um valor de incremento. Isso pode apresentar alguns problemas, como possíveis problemas de bloqueio, bem como ocorrências adicionais no banco de dados.

Outra opção pode ser refinar o que você quer dizer com "ID amigável". Isso pode consistir em uma combinação de uma data/hora e uma sequência específica do cliente (ou incluir também o ID do cliente). Além disso, o ID do seu pedido não precisa necessariamente ser a chave real na mesa. Não há nada que diga que você não pode usar uma chave substituta com uma coluna "calculada" separada que representa o id do pedido.

A linha inferior é que parece que você deseja usar uma chave substituta, mas tem os benefícios de uma chave natural. Pode ser muito difícil ter as duas coisas e muito se resume a como você realmente planeja usar os dados, como os usuários interpretam os dados e preferência pessoal.