|
|
|
нужна помощь с улицами и районами
|
|||
|---|---|---|---|
|
#18+
Приветствую всех! делаю БД для проекта по недвижимости, столкнулся со следующим. Одна улица может проходить через 1-3 района в городе. Помимо этого, примкнувшие поселки, теперь расположены в районах города, и в них также встречаются повторы улиц. Плюс, в городе есть микрорайоны, в которых улица будет проходить. Помогите правильно построить логику сначала делал так: city (id_city, name) area (id_area, name, id_city) районы mkr_area (id_mkr, name, id_area) микрорайоны street (id, name, id_area, id_mkr, id_city) примерно следующее может получиться: ул. 9 января - коминтерновский р-н ул. 9 января - ленинский р-н ул. 9 января - советский р-н ул. 9 января - микрорайон "Масловка" левобережного р-на и например, в коминтерновском р-не, есть микрорайон "дубки", в котором эта улица имеется. При поиске недвижимости, юзер может искать как глобально по району, так и по микрорайонам. В БД получаются дубли, они конечно "разные", но как правильно их разграничить, особенно для поиска. И насколько грамотно хранить id через запятую? Надеюсь объяснил понятно, спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2012, 23:00 |
|
||
|
нужна помощь с улицами и районами
|
|||
|---|---|---|---|
|
#18+
TigerZaka, В районе всегда есть микрорайоны? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2012, 23:56 |
|
||
|
нужна помощь с улицами и районами
|
|||
|---|---|---|---|
|
#18+
TigerZakaПриветствую всех! делаю БД для проекта по недвижимости, столкнулся со следующим. Одна улица может проходить через 1-3 района в городе. Помимо этого, примкнувшие поселки, теперь расположены в районах города, и в них также встречаются повторы улиц. Плюс, в городе есть микрорайоны, в которых улица будет проходить. Помогите правильно построить логику сначала делал так: city (id_city, name) area (id_area, name, id_city) районы mkr_area (id_mkr, name, id_area) микрорайоны street (id, name, id_area, id_mkr, id_city) улицы могут проходить через несколько микрорайнов. Поэтому в таблицу улиц не надо добавлять поле id_mkr. А сделать таблицу-связь улицы-мкр-н (многие-ко многим) и еще можно таблицу связь - улица-район. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2012, 00:04 |
|
||
|
нужна помощь с улицами и районами
|
|||
|---|---|---|---|
|
#18+
TigerZakaИ насколько грамотно хранить id через запятую? ну если в теории - то это не соответствует первой нормальной форме. а на практике: поиск будет дольше работать, чем с таблицей-связью. Таблицу-связь можно проиндексировать по id, а несколько id в одной строке придется обрабатывать через like ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2012, 00:09 |
|
||
|
нужна помощь с улицами и районами
|
|||
|---|---|---|---|
|
#18+
TigerZakaПриветствую всех! делаю БД для проекта по недвижимости, столкнулся со следующим. Одна улица может проходить через 1-3 района в городе. Помимо этого, примкнувшие поселки, теперь расположены в районах города, и в них также встречаются повторы улиц. Плюс, в городе есть микрорайоны, в которых улица будет проходить. Помогите правильно построить логику А можно сделать всего 2 таблицы: местоположение (location): loc_id, loc_name, loc_type (тип: улица, город, район, микрор-н) связь местоположений: loc_id_1, loc_id_2, relation_type (тип связи: принадлежит, проходит, пересекает и пр.) если нужно для разных типов местоположений задавать специфичные атрибуты, то можно пойти по принципу наследования: например таблица улиц с полями street_id (=loc_id )и, например, длина улицы. Плюсы: легко добавлять новые типы без изменения структуры: поселки, округа и прочее... легко искать по названию среды разных типов. Минус: немного сложнее организовать интерфейс редактирования... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2012, 00:27 |
|
||
|
нужна помощь с улицами и районами
|
|||
|---|---|---|---|
|
#18+
PostXTigerZaka, В районе всегда есть микрорайоны? да IT-Shaman , спасибо за столь развернутый ответ )) только проснулся, сел осмыслять ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2012, 10:21 |
|
||
|
нужна помощь с улицами и районами
|
|||
|---|---|---|---|
|
#18+
TigerZakaPostXTigerZaka, В районе всегда есть микрорайоны? да IT-Shaman , спасибо за столь развернутый ответ )) только проснулся, сел осмыслять Ну тогда не нужно связывать улицы с районами, просто с одними микрорайонами, а потом уже по микрорайонам можно узнать по каким районам проходит улица. ИМХО ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2012, 12:12 |
|
||
|
нужна помощь с улицами и районами
|
|||
|---|---|---|---|
|
#18+
TigerZaka, city (id_city, name) mkr_area (id_mkr, name, id_area) микрорайоны area (id_area, name, id_city) районы street (id, name, id_city) join_str_area(id_str, id_mkr) В таком случае улицам можно будет добавлять доп. атрибуты (длина, наличие асфальта и т.д.). Вдруг придется. ИМХО ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2012, 12:57 |
|
||
|
нужна помощь с улицами и районами
|
|||
|---|---|---|---|
|
#18+
TigerZaka, Откройте для себя КЛАДР. Погуглите, если непоняли о чем. И ненужно изобретать велосипед, он уже давно изобретен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2012, 13:07 |
|
||
|
нужна помощь с улицами и районами
|
|||
|---|---|---|---|
|
#18+
или ФИАС ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2012, 16:33 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=46&tid=1541565]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
71ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 250ms |
| total: | 383ms |

| 0 / 0 |
