|
|
|
задача с поиском регионов (85 штук) для 50 организаций
|
|||
|---|---|---|---|
|
#18+
приветствую! есть 85 субъектов РФ, в которых: 1. работают/не работают организации 2. поставляют/не поставляют оборудование организации организаций 50 штук и вот мне для каждого клиента нужно найти такие организации, которые под его запросы подойдут - работают в конкретном регионе, или поставляют в конкретный регион, или сразу оба два. имею 2 таблицы: регионы на 85 позиций и организации на 50 позиций задача осложняется тем, что пунктов 2: работа и поставка. с 1м было бы проще решения, вариант 1: сделать таблицу субъектов некой динамической таблицей, напихав туда 50 столбов и отмечать: 0 - нет, 1 - работает, 2 - поставляет, 3 - оба два. но что делать, если организаций станет 50000? вариант 2: напихать в каждую организацию список субъектов, с которыми он работает/поставляет (в виде hex, например), но тогда поиск будет сложным с т.з. ресурсов (я на хайлоад ориентируюсь) SELECT * FROM `org` WHERE `working` LIKE '%2f%' AND `supply` LIKE '%2f%', где 2f это номер нужного региона т.е. без индекса. оно конечно мало строк всего и грузанёт не сильно, ну а если много, то как решать такие задачи? мало того, 2f может найтись в строке 12f1 вариант 3: некая временная таблица вариант 4: ваш вариант? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2015, 21:18 |
|
||
|
задача с поиском регионов (85 штук) для 50 организаций
|
|||
|---|---|---|---|
|
#18+
По-моему, это стандартная связь M:N как в учебнике. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2015, 21:25 |
|
||
|
задача с поиском регионов (85 штук) для 50 организаций
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovПо-моему, это стандартная связь M:N как в учебнике. many 2 many это 2 объекта, а тут 3: клиент, организация, субъект ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2015, 21:56 |
|
||
|
задача с поиском регионов (85 штук) для 50 организаций
|
|||
|---|---|---|---|
|
#18+
tip78имею 2 таблицы tip78а тут 3 Ты бы эта... определился для начала. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2015, 21:59 |
|
||
|
задача с поиском регионов (85 штук) для 50 организаций
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakovtip78имею 2 таблицы tip78а тут 3 Ты бы эта... определился для начала. а на 2 строки вверх глаза не судьба поднять? tip78 и вот мне для каждого клиента нужно найти такие организации, которые под его запросы подойдут - работают в конкретном регионе, или поставляют в конкретный регион, или сразу оба два. имею 2 таблицы: регионы на 85 позиций и организации на 50 позиций ок, 3 таблицы я имею ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2015, 22:16 |
|
||
|
задача с поиском регионов (85 штук) для 50 организаций
|
|||
|---|---|---|---|
|
#18+
tip78а на 2 строки вверх глаза не судьба поднять? Смысла нет. Связь организаций с регионами всё равно N:M. Существование третьей сущности на неё не влияет. tip78ок, 3 таблицы я имею И как клиент связан с организациями или регионами? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2015, 22:30 |
|
||
|
задача с поиском регионов (85 штук) для 50 организаций
|
|||
|---|---|---|---|
|
#18+
в общем-то задача упрощается, если в организациях держать список субъектов через пробел например но есть ли покрасивее вариант? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2015, 22:31 |
|
||
|
задача с поиском регионов (85 штук) для 50 организаций
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovИ как клиент связан с организациями или регионами? ну написал же: автори вот мне для каждого клиента нужно найти такие организации, которые под его запросы подойдут - работают в конкретном регионе, или поставляют в конкретный регион, или сразу оба два. мне нужно сначала добавить организации так, чтобы в них были отмечены регионы, в которых они работают а потом клиенту находить организации с нужными регионами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2015, 22:33 |
|
||
|
задача с поиском регионов (85 штук) для 50 организаций
|
|||
|---|---|---|---|
|
#18+
tip78мне нужно сначала добавить организации так, чтобы в них были отмечены регионы, в которых они работают Это классическая связь M:N. В точности как в букваре. tip78потом клиенту находить организации с нужными регионами Это простейший запрос с двумя JOIN одним условием IN и, возможно, GROUP BY или DISTINCT. Так в чём проблема-то? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2015, 23:08 |
|
||
|
задача с поиском регионов (85 штук) для 50 организаций
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovЭто классическая связь M:N. В точности как в букваре. давай тогда предметно - что за связь, где этот букварь почитать? Dimitry SibiryakovЭто простейший запрос с двумя JOIN одним условием IN и, возможно, GROUP BY или DISTINCT. Так в чём проблема-то? проблема в том, что задачу я описываю недостаточно ясно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2015, 23:23 |
|
||
|
задача с поиском регионов (85 штук) для 50 организаций
|
|||
|---|---|---|---|
|
#18+
а ещё ты сосредоточился на поиске, а мне нужна структура базы в основном ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2015, 23:25 |
|
||
|
задача с поиском регионов (85 штук) для 50 организаций
|
|||
|---|---|---|---|
|
#18+
tip78давай тогда предметно - что за связь, где этот букварь почитать? Google: http://www.google.ru/search?nord=1&q=проектирование БД связь "M:N" Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2015, 23:29 |
|
||
|
задача с поиском регионов (85 штук) для 50 организаций
|
|||
|---|---|---|---|
|
#18+
а, ну я понял, предлагается сделать таблицу, где будет множество связей: Москва -> орг1 Москва -> орг5 Москва -> орг12 Питер -> орг1 Питер -> орг2 т.о. 85 регионов превратятся в 100585 да, я такие решения видел конечно во всяких магазинах и CMS я пытался найти решение, где можно было например в регионах перечислить все организации в одной строчке через запятую например поскольку организации редактируются крайне редко, поиск идёт по региону, то на запрос клиента с конкретным регионом я просто получаю список организаций в нём вот такое решение не лучше разве? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2015, 23:45 |
|
||
|
задача с поиском регионов (85 штук) для 50 организаций
|
|||
|---|---|---|---|
|
#18+
tip78такое решение не лучше разве? Нарушение первой нормальной формы обычно приносит больше вреда чем пользы и должно быть очень хорошо обосновано. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.02.2015, 23:54 |
|
||
|
задача с поиском регионов (85 штук) для 50 организаций
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, ок, спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.02.2015, 00:40 |
|
||
|
задача с поиском регионов (85 штук) для 50 организаций
|
|||
|---|---|---|---|
|
#18+
tip78т.о. 85 регионов превратятся в 100585 И что? Это повод, чтобы изобрести велосипед? На то она и база, чтобы хранить данные. При чем у вас простейший случай, когда вы не задумываетесь о временных периодах, на который действуют эти связки. А это неожиданно еще умножает данные. И на мой взгляд ничего страшного в этом нет. Оснований городить огород в вашем случае нет. Dimitry Sibiryakov дело говорит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.02.2015, 20:38 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=23&tid=1540642]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
46ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 240ms |
| total: | 381ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...