Pergunta

Say Eu tenho esta tabela:

Person table
--------------
PersonId

Address table
------------
AddressId
PersonAddressId

onde PersonAddressId é PersonId e a chave estrangeira. Existe algum tipo de banco de dados violação em renomear a chave estrangeira? Ela pode se tornar muito confuso para trabalhar com quando têm nomes diferentes.

Foi útil?

Solução

Em geral, é útil para nomear a coluna de chave estrangeira a mesma que a coluna de chave primária de TI referências, sempre que possível.

Claro que, às vezes não é possível:

  • Duas colunas em Address pode ser tanto chaves estrangeiras para Person, então obviamente você não pode nomear duas colunas PersonId.
  • Algumas tabelas contêm uma chave estrangeira para si, por exemplo, Employee.manager_id poderia ser uma referência a Employee.employee_id. Mais uma vez, você não pode nomear a coluna o mesmo que a chave primária referenciada neste cenário.

Não existem convenções de nomenclatura estritas em SQL. Uma fonte para convenções de nomenclatura de metadados sugeridas é ISO 11179 .

Outras dicas

Acordado e é por isso que a convenção é nomear PersonAddressId como PersonId.

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