Melorian
@Melorian
PHP, JAVA-разработчик

Разбиение базы данных КЛАДР

Здравствуйте, уважаемые хабражители!

Хочется узнать, кто-нибудь использовал когда-либо в своих проектах (для веба, в частности) базу данных КЛАДР?
И если использовали, то разбивали ли ее на таблицы или нет?

Если ее развернуть по их описанию, то получается такая структура сущностей:

Регион->Район->Город->Населенный пункт

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

Стоит ли при разбиении совмещать последние две таблицы в одну (город и населенный пункт)? И что делать с городами, которые сами в себя могут включать другие населенные пункты, не будучи привязанными к району (например, Краснодар в Краснодарском крае или Майкоп в Адыгее)?

Буду рад любому ответу)

З.Ы. Уже возникли вопросы, поэтому скажу сразу — база данных MySQL, и сервис будет достаточно высоконагруженный, следовательно, скорость запросов приоритетна)
  • Вопрос задан
  • 4358 просмотров
Пригласить эксперта
Ответы на вопрос 4
Melorian
@Melorian Автор вопроса
PHP, JAVA-разработчик
А еще, если вдруг кто знает, как организована, например, база «вконтакте» или «мой круг»? Судя по наличию городов, у контакта точно (хотя, может быть, и всего лишь частично) используется база КЛАДР, но вот как они ее организовали?
Ответ написан
Комментировать
@shsmad
В кладре ОДНА таблица на все регионы, территории, города и населенные пункты, отличие лишь в значении столбца code. Улицы — еще одна таблица. Ну и еще важная — сокращения. Зачем это резать на кучу отдельных таблиц, если и с такой архитектурой отлично можно работать? Если есть вопросы по работе с кладром — спрашивайте.
Ответ написан
Комментировать
SabMakc
@SabMakc
Использовал, но не резал.
Как раз проблема с городами без областей и под.городах у городов, не позволили «красиво» разбить. Ни когда не знаешь, к какому уровню относится нас. пункт.
Но на практике оказалось, что и с такой, одно табличной структурой, довольно просто работать.
Главное — ввести ссылку на «уровень выше», а то в коде довольно проблемно с кодами территории оперировать.
Ответ написан
Комментировать
@MikhailEdoshin
Что значит «для сайта по торговле»? Как используется адрес в вашей системе?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы