Renomear coluna DB em referência à tabela (violação?)
-
21-08-2019 - |
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.
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 paraPerson
, então obviamente você não pode nomear duas colunasPersonId
. - Algumas tabelas contêm uma chave estrangeira para si, por exemplo,
Employee.manager_id
poderia ser uma referência aEmployee.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