powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как хранить города, регионы, страны
7 сообщений из 7, страница 1 из 1
Как хранить города, регионы, страны
    #38246943
Yura89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.

Есть таблица в которой нужно указать населенный пункт.
Заявка
ID
Place

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

Подскажите пожалуйста как лучше хранить города? Думаю либо в поле Place писать ID города, или "Беларусь, Минская обл., Минск".
...
Рейтинг: 0 / 0
Как хранить города, регионы, страны
    #38246961
Злой Бобр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yura89,

Посмотри как сделано в том же яндексе или гугле. Сначала поиск идет по населенному пункту, потом по региону, потом по стране. Т.е. с точностью до наоборот как ты описал. По идее так логичнее. Например вводишь населенный пункт, в итоге вывалит или одну позицию, или несколько. Так и ты делай.
Хранить в базе можно как угодно. Т.е. как в отдельных таблицах, так и в одной. В твоем случае наверное лучше в одной. Хотя опять таки - смотря какая субд. Если оракл или мелкомягкий - то однозначно в одной. Иначе возможно стоит подумать о разбивке, т.к. весьма сомнительно что тот же мускул при большом объеме таблицы (а он таким и будет) сможет с такой же скоростью обработать like.
...
Рейтинг: 0 / 0
Как хранить города, регионы, страны
    #38246986
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Yura89, если при вводе заявки пользователь должен указать страну, регион и, возможно, город, то храните их в трёх справочных таблицах: страны, регионы, города.
...
Рейтинг: 0 / 0
Как хранить города, регионы, страны
    #38247219
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Но лучше всё-таки - в одной. Древовидный "справочник административно-территориального
деления". Если в СУБД есть иерархические запросы, поиск становится тривиальным.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Как хранить города, регионы, страны
    #38247356
Yura89
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Злой Бобр , фишка в том что нужно искать не только по населенному пункту но и по региону, стране. Например "Минская обл., Беларусь". А в заявке добавляются с точностью до населенного пункта.

С точки зрения хранения в БД мне больше нравиться как предложил skyANA . Но тут косяк с заполнением, когда вывалиться список из 100 городов это будет не удобно.

К слову у меня сейчас так и храниться, только записывается в таблицу Заявки точный адрес "Минск, Минская обл., Беларусь" а не ID. И ищется только по городу через одно поле.

Dimitry Sibiryakov , об этом как-то и не думал, спасибо. Наверное действительно для моего варианта лучше такую структуру использовать.

Ребята, большое спасибо за помощь.
...
Рейтинг: 0 / 0
Как хранить города, регионы, страны
    #38251243
NikolayV81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

А если весь КЛАДР??? поиск одного элемента будет элементарным, но построение пулов? ( все адреса города МСК свместе с входящим в него г. Зеленоградом и т.п.
...
Рейтинг: 0 / 0
Как хранить города, регионы, страны
    #38251294
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
NikolayV81А если весь КЛАДР???У ТСа не только российские адреса.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как хранить города, регионы, страны
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]