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