Aqui está como eu faço:
- Os nomes das tabelas são minúsculas, as utilizações sublinhados para separar palavras, e são singular (por exemplo
foo,foo_bar, etc. - Geralmente (nem sempre) tenho um PK de incremento automático. I usar a seguinte convenção:
tablename_id(por exemplofoo_id,foo_bar_id, etc.). - Quando uma tabela contém uma coluna que é uma chave estrangeira, apenas copio o nome da coluna dessa chave de qualquer tabela da qual ela veio. Por exemplo, digamos que a tabela
foo_bartenha o FKfoo_id(ondefoo_idestá o PK defoo). - Ao definir FKs para impor a integridade referencial, eu uso o seguinte:
tablename_fk_columnname(por exemplo, avançar o exemplo 3, seriafoo_bar_foo_id). Como essa é uma combinação de nome de tabela / nome de coluna, é garantido que seja exclusivo no banco de dados. - Eu ordeno as colunas assim: PKs, FKs e o restante das colunas alfabeticamente
Existe uma maneira melhor e mais padrão de fazer isso?
id_tableB=> oh não coluna diferente de nome id , a consistência de id_tableB=> id_tableBapenas parece mais puro ... ou como OP faz isso: foo_id=> foo_idem vez de foo_id=>id