Convenções de nomenclatura para banco de dados

Convenções de nomenclatura para banco de dados

Pode ser besteira, mas em toda empresa que trabalhei ou prestei consultoria, que usavam essas regras tive pouca dificuldade em entender a modelagem.

Geral

Os nomes das tabelas e colunas devem estar minúsculas e as palavras devem ser separadas por underscore , seguindo o padrão snake case. E Os termos devem estar em inglês (não é uma prática essencial mas globaliza a informação), exceto alguns termos que não há tradução apropriada para o inglês . Sempre prefira nomes descritivos, evitando ao máximo contrações. Não use o nome da tabela como prefixo na coluna, isso é uma redundância desnecessária.

Tabelas

Os nomes das tabelas devem estar no plural .

Ex:

  • Bom : users , posts , roles , room_categories
  • Ruim : user , post , grupos , quarto_categoria

Colunas

Os nomes das colunas devem estar no singular .
No máximo até 30 caracteres.
Não use como prefixo o nome da tabela, isso é redundar informação.
Não use espaços entre as palavras.
Não inicie por números.
Evite acentos, caracteres especiais com exceção do undescore (_).
Sempre e minúsculo.

Ex:

  • Bom : cpf , name , age
  • Ruim : endereco , posts , idade

Foreign keys

Todas as foreign keys devem seguir o padrão nome_da_tabela_no_singular_id .

Por exemplo, caso a tabela users tenha um relacionameto com a tabela roles , o nome da coluna foreign key da tabela users deve ser role_id .

Primary keys

A primary key de toda tabela deve ser uma coluna de inteiros com incremento automático, chamada id .

Timestamps

Toda tabela deve definir duas colunas para colocar os timestamps: created_at e updated_at . A coluna created_at recebe automaticamente o timestamp do momento que o registro for criado. A coluna updated_at recebe automaticamente o timestamp do momento que o registro for alterado.

Quando houver logs, nesse caso essas colunas não são essenciais na tabela, pois os logs já possuem essa informação.

8 Curtidas

Um tópico muito importante para guardar na caixa de ferramentas para ser utilizado no desenvolvimento das apps show de bola Haroldo. Obrigado por compartilhar seu conhecimento.

Tabelas
Os nomes das tabelas devem estar no plural .

Este ponto é bem polêmico. Já vi em muitos lugares e livros a orientação do nome da tabela ser no singular.

Tendo seguir o padrão optado pelo projeto. Mas fica a dica de pesquisa.

Faz sentido nomes de tabelas no plural.

Tabela pedido: conota impressão que é uma tabela de apenas um pedido.

Tabela pedidos: sugere uma tabela com muitos pedidos.

Para mim faz muito sentido nome de tabelas serem no plural.

CleanCode também sugere dessa forma.

1 Curtida