Pergunta

Sei que as chaves primárias substitutas são geralmente recomendadas sobre as chaves primárias naturais, mas existem argumentos a favor das chaves primárias substitutas quando se trata de nomes de usuário?

Foi útil?

Solução

Se você não quiser obter nomes de usuário duplicados, crie um UNIQUE constraint.

E se DWong1145 quer mudar seu nome de usuário? Você vai fazer com que todos os relacionamentos de banco de dados sejam UPDATE CASCADE?

Outras dicas

NÃO, você deve Use o nome de usuário apenas como uma chave/constante única. O nome de usuário pode ser alterado, justo e exemplo: pode ser uma marca registrada e o proprietário solicita que você o solte.

É um bom candidato, em certo sentido, no entanto, você deve considerar se realmente deseja fazê -lo. Por exemplo, você tem um usuário com um determinado nome de usuário e o usuário é "excluído" (ou marcado como excluído). Portanto, na verdade, não há razão para não permitir criar outro usuário com o mesmo nome de usuário, mas já está "levado", pois é uma chave primária.

Do ponto de vista do cliente, você aposta. Não quero que meu nome de usuário seja Dwong1145.

Uma grande desvantagem de ter uma corda como chave primária, independentemente de ser um nome de usuário ou outra coisa, é que todas as colunas de chave estrangeira que referenciam a tabela também terão que ser cordas, que são mais lentas e resíduos mais espaço.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top