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.