Существует ли соглашение об именах для MySQL?

Вот как я это делаю:

  1. Имена таблиц в нижнем регистре, используют подчеркивания для разделения слов и в единственном числе (например, foo, foo_bar и т. Д.
  2. ] Обычно у меня (не всегда) есть автоматическое увеличение PK. Я использую следующее соглашение: tablename_id (например, foo_id, foo_bar_id и т. Д.).
  3. Когда таблица содержит столбец, который внешний ключ, я просто копирую имя столбца этого ключа из любой таблицы, к которой он пришел. Например, скажем, таблица foo_bar имеет FK foo_id (где foo_id - это PK из foo).
  4. При определении FK для обеспечения ссылочной целостности я использую следующее: tablename_fk_columnname (например, для дальнейшего примера 3 это будет foo_bar_foo_id). Поскольку это комбинация имени таблицы / имени столбца, она гарантированно будет уникален в базе данных.
  5. Я упорядочиваю столбцы следующим образом: PK, FK, а затем остальные столбцы в алфавитном порядке

Есть ли лучший, более стандартный способ сделать это?

145
задан alex 25 September 2019 в 19:32
поделиться