Дизайн таблицы базы данных - PullRequest
0 голосов
/ 02 марта 2011

У меня есть таблица объявлений о недвижимости.Мне нужно добавить города в эти списки.Рекомендуется ли разбивать список городов на собственные таблицы?

Я бы хотел, чтобы при добавлении нового свойства пользователь мог выбирать из списка городов.

ПоКстати, это проект Rails.

Ответы [ 3 ]

2 голосов
/ 02 марта 2011

Если в собственности есть только один город, нет ничего страшного в том, чтобы поместить его в таблицу свойств. Если их больше, то нет другого выбора, кроме как использовать таблицу городов.

В качестве альтернативы, если вы хотите выбрать города из выпадающего списка без каких-либо добавлений, хорошей таблицей может стать таблица городов. Если вы сделаете это, то, вероятно, захотите сохранить ситид, а не название города в таблице свойств. Таким образом, когда кто-то меняет название города (что, вероятно, не часто случается), вам нужно изменить только одну запись. Конечно, если у вас есть таблица городов, вы должны иметь внешний ключ и убедиться, что city_id проиндексирован в таблице свойств, чтобы сохранить целостность ваших данных.

2 голосов
/ 02 марта 2011

Таблица поиска городов имеет смысл в этом случае.

Это также позволит вам добавить дополнительную информацию для каждого города в будущем, если это необходимо.

0 голосов
/ 02 марта 2011

Да. Как правило, рекомендуется нормализовать схему базы данных таким образом, чтобы вы не повторяли одни и те же названия городов в нескольких записях списков свойств в вашей таблице списков свойств.

В некоторых случаях вам может потребоваться денормализация по соображениям производительности. Я бы не стал рассматривать ваш случай как один из этих случаев, пока он не подтвердится (т. Е. Чтение таблиц становится очень медленным.) Даже в этом случае существуют оптимизации, которые можно предпринять до денормализации вашей схемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...