2014-01-20 5 views
1

Мне было интересно, существует ли какой-то стандарт относительно наименования таблиц MySQL? В настоящее время у меня есть две таблицы, одна называется «Пользователи» и одна называется «Тренинги». Поскольку мне нужно, чтобы у них было много отношений, требуется создать таблицу, которая соединяет эти два, но я не могу думать о правильном именовании, кроме Пользователей/Тренингов.Множество ссылок на множество отношений

+3

Нет жесткого стандарта. Общим соглашением является присоединение к ним в алфавитном порядке с подчеркиванием как «trainings_users», другим соглашением является определение того, что является «первичным» из двух, то есть «которым принадлежит» другое. Поэтому, если у пользователя есть тренинги, в нем перечисляются первые «users_trainings». –

+0

Если вы работаете с любой инфраструктурой приложения, фреймворки обычно определяют соглашение и ожидают, что вы будете придерживаться его как путь наименьшего сопротивления. Независимо от того, что вы выбираете, старайтесь быть последовательным и придерживайтесь его. –

+0

Является ли «Тренинги» словом? Это решается на мои уши. – RedFilter

ответ

1

Нет официальной лучшей практики, но некоторые хорошо проверенные эвристики ... Если мой ORM или что-то не применяет его собственный стандарт, мне нравится использовать выделенную выделенную нотацию, но всегда в алфавитном порядке. Кроме того, я всегда использую единственное значение для своих классов и имен таблиц, чтобы избежать puralization futz. Многим многим по своей природе вы не можете сказать, что «имеет» другое, поэтому алфавитное правило просто упрощает.

user 
address 
zebra 
address_user 
user_zebra 

Один простой набор правил, никакой путаницы или когда-либо о том, как/что назвать вещи, и просто не объяснить.

Переход на шаг дальше, я рекомендую, если очень конкретная причина не принуждает против него:

  1. Всегда используйте нижний регистр для tablenames и имен столбцов (таким образом, вы не удивляйтесь, переходя от случая чувствительного файла система учёта регистра один - это тоже легче не запоминая ГорбатыйРегистр)
  2. имя первичного ключа для таблицы (если составные ключи) id
  3. имя внешних ключей в формате tablename_id (например, user_id, zebra_id)

Помните, что просто руководство, а не догма.

Эти рекомендации помогут улучшить вашу жизнь и жизнь вашего будущего dba.

+0

Я вижу, это имеет смысл :) Спасибо! – Taerus

+0

@Taerus см. Еще пару советов, которые я добавил в сообщение – Ray

Смежные вопросы