Fui ensinado a não usar o nome Id
da coluna de identidade de minhas tabelas, mas ultimamente apenas o uso de qualquer maneira, porque é simples, curto e muito descritivo sobre o que realmente são os dados.
Já vi pessoas sugerindo prefixar Id
o nome da tabela, mas isso parece funcionar mais para a pessoa que escreve as consultas SQL (ou o programador, se você estiver usando um ORM como o Entity Framework), principalmente em nomes de tabela mais longos, como CustomerProductId
ouAgencyGroupAssignementId
Um fornecedor terceirizado que contratamos para criar algo para nós realmente nomeou todas as suas colunas de identidade Ident
apenas para evitar o uso Id
. No começo, pensei que eles fizeram isso porque Id
era uma palavra-chave, mas, quando examinei, descobri que Id
não é uma palavra-chave no SQL Server 2005, que é o que estamos usando.
Então, por que as pessoas recomendam não usar o nome Id
para uma coluna de identidade?
Editar: para esclarecer, não estou perguntando qual convenção de nomenclatura usar, nem argumentos para usar uma convenção de nomenclatura sobre a outra. Eu só quero saber por que é recomendável não usar Id
para o nome da coluna de identidade.
Sou um único programador, não um dba, e para mim o banco de dados é apenas um local para armazenar meus dados. Como costumo criar aplicativos pequenos e normalmente uso um ORM para acesso a dados, é muito mais fácil trabalhar com um nome de campo comum para o campo de identidade. Quero saber o que estou perdendo ao fazer isso e se existem realmente boas razões para não fazer isso.