Qual padrão devo seguir ao nomear tabelas e visualizações? Por exemplo, é uma boa ideia colocar algo como tbl_ no início dos nomes das tabelas? Devo designar tabelas de código / pesquisa de alguma forma, como ct_, lut_ ou codes_? Existem outros prós e contras?
Estou usando o MS SQL Server e tenho muitos bancos de dados com muitas tabelas, então seria bom ter algo que possamos usar como padrão com algum suporte racional.
fonte
orders
não sejaorder
e evita ter que citar o nome da tabela toda vez que for usuário. Isso também se aplica agroup
outras palavras-chave. Felizmente, poucas palavras-chave colidem com entidades comuns.Usamos esquemas (pense neles como namespaces no SQL, talvez) para permissões e agrupamentos. Então, em vez de "tbl" etc, temos
Nenhum código entra no esquema de dados. Nenhuma tabela fica fora do esquema de dados. É claro que isso pode ser estendido para que você tenha um esquema de pesquisa ou armazenamento temporário.
Para visualizações que usamos,
vw
mas isso foi para distingui-las das tabelas no SQL Server 2000 e agora é meio legadofonte
Pessoalmente, sou um grande fã do Fanö Bedingung , o que significa que não é permitido que o nome seja o começo de outro nome válido.
E segundo, a distância de Hamming entre dois nomes é melhor do que uma letra diferente.
Sim, são regras desde tempos pré-digitais, mas tornam a vida mais fácil.
E os terceiros nomes devem ser pronunciados, ou você ficará louco quando o reconhecimento de voz se tornar verdadeiro.
fonte
Não sei se existe realmente alguma "melhor" convenção de nomes por aí, pois ela se resume a preferência pessoal e facilidade de desenvolvimento. Meu conselho é escolher uma convenção de nomenclatura e aderir a ela. Se você deseja separar palavras com um sublinhado, faça-o em todos os seus objetos de banco de dados. Se você deseja usar o camelCase, faça-o em todos os seus objetos de banco de dados.
Na minha loja, seguimos as seguintes regras:
Separamos as palavras com sublinhados e usamos todas as letras minúsculas.
Os nomes de nossas tabelas descrevem o que são: dbo.person, dbo.invoice.
Nossos nomes de tabelas muitos para muitos também descrevem o que são (com a adição de mm para indicar que um relacionamento muitos para muitos está sendo mapeado: dbo.person_mm_address. Nossos procedimentos armazenados definidos pelo usuário descrevem o objeto e a ação que está sendo executada: usp_person_select , usp_address_select_by_city Nossas visualizações e funções seguem as mesmas regras que os procedimentos armazenados.Os nossos índices incluem tabela, colunas-chave (em ordem) e uma indicação de cluster / não clusterizado: ix_person_last_name_first_name_nc
Só porque é isso que usamos em minha loja, não significa que essas regras sejam adequadas para você. Escolha algo que você e sua equipe de desenvolvimento concordem que seja útil e fácil de desenvolver, e estabeleça uma cultura de conhecimento e uso da convenção de nomenclatura que você decidir. No nosso caso, isso inclui a revisão de código para todos os objetos criados em um banco de dados. Com o tempo, a combinação de uma convenção de nomenclatura documentada e revisão de código de pares levou a menos e menos desvios da convenção.
Espero que essa "não resposta" ajude de alguma forma.
fonte
Estou contente com isso desde anos atrás
se você tiver um pacote de hospedagem compartilhada barato, precisará usar a abreviação do projeto na frente de todos os seus objetos, como, por exemplo, site de administradores de banco de dados, da_users, da_questions
fonte
product_groupv
e nãoproduct_group_v
para visões (se você insiste nessa distinção de visões e tabelas)?