Вот как я это делаю:
- Имена таблиц в нижнем регистре, подчеркивания используются для разделения слов и в единственном числе (например, 
foo,foo_barи т.д. - У меня вообще (не всегда) есть автоинкремент PK. Я использую следующее соглашение: 
tablename_id(например,foo_id,foo_bar_idи т.д.). - Когда таблица содержит столбец, который является внешним ключом, я просто копирую имя столбца этого ключа из любой таблицы, из которой он получен. Например, скажем, таблица 
foo_barимеет FKfoo_id(гдеfoo_id- это PKfoo). - При определении FK для обеспечения ссылочной целостности я использую следующее: 
tablename_fk_columnname(например, продолжая пример 3, это будетfoo_bar_foo_id). Поскольку это комбинация имени таблицы/имени столбца, она гарантированно будет уникальной в базе данных. - Я упорядочиваю столбцы следующим образом: PKs, FKs, а затем остальные столбцы в алфавитном порядке.
 
Есть ли лучший, более стандартный способ сделать это?