Article image
Christiano Santos
Christiano Santos21/03/2024 10:50
Compartilhe

Boas práticas de nomenclatura em bancos de dados SQL Server

  • #SQL Server

Padrões de Nomenclatura para Banco de Dados SQL Server

Vi no curso de SQL em alguns momentos o uso de nomes de tabelas no plural, e isso chamou minha atenção. Trabalhei em multinacionais e empresas de pequeno porte, e com bases de dados gigantescas, e se tem algo que deixa qualquer um desesperado é um banco de dados que não tem padrões claros e bem definidos, e pior ainda, sistemas legados em que há nomes de tabelas no plural e singular para a mesma entidade (ex. tabela cliente e tabela clientes).

Algumas regras básicas e gerais podem evitar enormes dores de cabeça, como:

  1. Não usar espaço em branco;
  2. Não usar hífen, acentos e caracteres especiais;
  3. Não usar palavras reservadas como: INSERT, DELETE, SELECT e etc.;
  4. Não usar mais que 30(trinta) caracteres;
  5. Aliadas a essas limitações, seguem abaixo também algumas sugestões:
  6. Não usar verbos;
  7. Escrever em maiúsculo ou minúsculo;
  8. Não utilizar palavras no plural;
  9. Não usar preposições;
  10. Não usar números;
  11. Não usar nomes próprios;
  12. Separe os nomes com underline;
  13. Crie nomes sucintos e objetivos;
  14. O nome não pode ter várias interpretações;
  15. Todos os objetos devem possuir um prefixo, com exceção das tabelas operacionais

Trabalhando com times .net, os seguintes padrões são muito utilizados.

Normas gerais:

  • Use letras minúsculas.
  • Separe palavras e prefixos com "_" (underline), nunca use espaços.
  • Qualquer tabela temporária, que poderá ser excluída após a utilização, deve acompanhar da data em seu nome ddMMyyyy. Ex: tb_sio_migracao_usuario_10112003
  • Crie uma sigla de 3 letras que possa expressar o nome do banco de dados.

Tabelas

  • Crie uma sigla de 3 letras que possa expressar o nome da tabela.
  • Toda tabela deve iniciar com “tb” seguido da sigla do sistema e o nome da tabela: Ex: tb_sia_nome_tabela  Use nomes no singular, nunca plural.
  • Evite nomes com acrônimos, abreviados ou concatenados.
  • Para uma tabela associativa (n:n), concatene o nome das duas tabelas envolvidas, ficando a tabela principal na frente. Campos/Colunas
  • A chave primária deve ter o nome da tabela com o prefixo "cod" quando for do tipo inteiro.
  • Chaves estrangeiras devem ter o mesmo nome das chaves primárias às quais elas se referem; no caso de autorrelacionamento, segue o mesmo nome e antes da sigla da tabela, deve colocar um descritivo que sinalize a sua função. Ex: cod_fornecedor_matriz_for
  • Todo nome de campo deve ser composto por 3 caracteres expressando o tipo do campo, concatenado com o nome do campo e com a sigla da tabela de origem. Ex: int_idade_pes (campo de tipo inteiro que armazena a idade na tabela pessoa)
  • Use nomes no singular, nunca plural.
  • As siglas dos tipos do campo podem conter variações predefinidas que não afetarão a leitura do desenvolvedor. Conforme tabela abaixo:

image

Views

  • As “Views” seguem as mesmas regras de Tabelas, mudando apenas o prefixo de “tb” para “vw”

Stored Procedures

  • As “stored procedures” iniciam com “sp” acompanhado da sigla do sistema, o nome da ação e da tabela envolvida.
  • As ações que acompanham o nome da “stored procedure” são:
  • Listar (pode retornar mais de 1 resultado)
  • Consultar (só pode retornar 1 resultado)
  • Incluir (terá como ação principal a inserção de 1 registro)
  • Alterar (terá como ação principal a alteração de 1 registro)
  • Excluir (terá como ação principal a exclusão de 1 registro)
  • No nome da “stored procedure” após a sigla do banco, o nome não deve ser separado por “_” (underline) e sim tudo junto com as iniciais em maiúsculo, expressando uma função e sua ação, de forma que fique bastante claro para o desenvolvedor. Ex: sp_sia_ListarNfePorCnpjEmissor

Functions

As “Functions” seguem as mesmas regras da “Stored Procedure”, mudando apenas o prefixo de “sp” para “fc”.

Compartilhe
Comentários (0)