Em relação aos nomes das tabelas, maiúsculas e minúsculas, etc, a convenção predominante é:
- Palavras-chave SQL:
UPPER CASE
- identificadores (nomes de bancos de dados, tabelas, colunas, etc):
lower_case_with_underscores
Por exemplo:
UPDATE my_table SET name = 5;
Isso não está escrito em pedra, mas a parte sobre identificadores em letras minúsculas é altamente recomendado, IMO. O Postgresql trata os identificadores sem distinção entre maiúsculas e minúsculas quando não são citados (na verdade, ele os dobra para minúsculas internamente) e com distinção entre maiúsculas e minúsculas quando citados; muitas pessoas não estão cientes dessa idiossincrasia. Usando sempre minúsculas você está seguro. De qualquer forma, é aceitável usar
camelCase
ou PascalCase
(ou UPPER_CASE
), desde que você seja consistente:cite identificadores sempre ou nunca (e isso inclui a criação do esquema!). Não estou ciente de muitas outras convenções ou guias de estilo. As chaves substitutas são normalmente feitas a partir de uma sequência (geralmente com o
serial
macro), seria conveniente manter essa nomenclatura para essas sequências se você as criasse manualmente (tablename_colname_seq
). Veja também algumas discussões aqui, aqui e (para SQL geral) aqui, todas com vários links relacionados.
Nota:Postgresql 10 introduziu
identity
colunas como uma substituição compatível com SQL para serial .