Closed abevieiramota closed 10 years ago
Issue atrasada :)
Está mesmo? Eu li o texto
Falta resumir aqui! Assim como a de expression language!
A vantagem de se usar uma chave natural é que ela já pertence ao esquema, evitando a criação de mais uma coluna na tabela. Entretanto, como elas fazem parte do modelo que está sendo descrito, elas são muito dependentes dele, qualquer alteração no modelo que envolva a chave pode causar em restruturação de como ela funcionará.
As surrogate keys, ao contrário, não dependem do modelo, e não estão sujeitas a este tipo de mudança. A desvantagem delas é que elas não tem um significado entendível por um ser humano, o que as deixam complicadas para o usuário final, isso pode gerar a criação de mais chaves para facilitar operações de busca e edição, por exemplo.
O texto dá algumas dicas legais de como implementar a chave, ele diz que apesar de se usar chaves surrogate ainda sim deve-se colocar chaves naturais para facilitar buscas no banco. Outra que ele fala é que não se deve "naturalizar" as chaves surrogates, evitando que o end-user tenha acesso a elas, pois se ele tiver acesso a chave surrogate tem significado, acho que é o mesmo caso da matrícula da UFC.
Estudar o uso de surrogate keys, quando é recomendado que se utilize, quando é recomendado que se evite.