Вопрос об именах полей - PullRequest
       1

Вопрос об именах полей

1 голос
/ 16 сентября 2010

Как должно называться название для общесистемного использования.Например город.В таблице поиска города столбец называется city_id, city_name.Теперь город используется в других местах, таких как события - я назвал его event_city, который ссылается на название города.Затем в профиле пользователя есть user_city, который снова делает то же самое.Должны ли они называться одинаково или по-разному в соответствии с таблицей, даже если они все одинаковые?

Ответы [ 4 ]

3 голосов
/ 16 сентября 2010

Вы должны использовать ссылку внешнего ключа на таблицу городов, ссылающуюся на city_id.

Нет необходимости менять имя в других таблицах, просто придерживайтесь внешнего ключа city_id.

2 голосов
/ 16 сентября 2010

Из рубайятов Омара Хайяма:

Я, когда молодой, часто жадно бывал
Доктор и Святой, и услышал великий аргумент
Об этом и о; но когда-либо
Вышел через ту же дверь, что и я.

Существует множество дискуссий о том, как это сделать, и редко бывает много соглашений. Выберите правдоподобную схему и придерживайтесь ее - последовательность, вероятно, наиболее важна.

Я бы, наверное, пошел с:

  • Город (Имя, ...)
  • События (..., Город, ...)
  • UserProfile (..., Город, ...)

Я бы использовал квалифицированное имя, только если в одной таблице было два столбца, связанных с городом:

  • UserDetails (..., Home_City, ..., Work_City, ...)

В качестве отступления я опустил столбец «Идентификатор города», поскольку вы, казалось, присоединялись к названию города. Тем не менее, вам может быть лучше использовать City ID и присоединить к нему другие таблицы, используя CityID. Это позволяет одному и тому же названию города появляться в нескольких штатах , например, в США.

1 голос
/ 16 сентября 2010

Я бы изменил event_city на city_id.

(Я предполагаю, что event_city будет ссылкой на город и будет соответствовать значениям в столбце city_id.)

1 голос
/ 16 сентября 2010

Точное соглашение о наименовании менее важно, чем то, что вы придерживаетесь его, но я бы не рекомендовал называть поле «название города» в таблице событий event_city.Вместо этого я бы предложил использовать city_name, потому что это понятнее.Очевидно, что это название города события, потому что оно указано в таблице событий.

...