|
Таблицы с компаниями и регионами. Связи между таблицами
|
|||
---|---|---|---|
#18+
Есть 2 таблицы regions и companies. Мне необходимо в приложении выводить страну и город компании. В таблице regions - дерево (id, root, lft, rgt, lvl, name). Как лучше организовать связь между regions и companies? Если в таблице companies создать поле region_id, которое будет являться внешним ключом (фактически это будет город), по которому будет связь с таблицей companies, то страну придется вычислять в коде приложения либо подзапросом в sql-запросе. Если же в таблице companies делать 2 поля (country_id и city_id), то в приложении не нужно будет вычислять страну, но в таком случае то как сделать связь по этим двум полям с таблицей regions? Подскажите, пожалуйста, как правильнее все это реализовать ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2017, 12:53 |
|
Таблицы с компаниями и регионами. Связи между таблицами
|
|||
---|---|---|---|
#18+
- либо развернуть иерархию город-страна в плоскую таблицу (таблицы) - либо делать ссылку на листовое поле иерархии (у вас это город) и при необходимости в запросе получать верхние уровни ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2017, 13:06 |
|
Таблицы с компаниями и регионами. Связи между таблицами
|
|||
---|---|---|---|
#18+
Дедушка, спасибо за ответ! Первый вариант - не очень, на мой взгляд, хорошее решение. Ведь в дальнейшем нужно будет фильтровать компании по странам, выводить компании какой-то одной выбранной страны. В принципе все это решаемо, причем несложно, но очень сомневаюсь, что это будет оптимальное решение. К тому же избыточность данных.... Второй вариант - более интересное решение (я его имел ввиду и в своем вопросе). Но тогда чтобы получить страну при выводе компаний, придется или в sql-запросе получать страну подзапросом или в приложении отдельными запросами. Насколько это хорошо? Может быть есть еще какие-нибудь решения (касающиеся структуры таблиц)? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2017, 13:21 |
|
Таблицы с компаниями и регионами. Связи между таблицами
|
|||
---|---|---|---|
#18+
Yura1976Но тогда чтобы получить страну при выводе компаний, придется или в sql-запросе получать страну подзапросом или в приложении отдельными запросами. Насколько это хорошо? Это очень даже хорошо: придётся-таки изучить SQL. Yura1976Может быть есть еще какие-нибудь решения (касающиеся структуры таблиц)? КЛАДР PS: Ты всерьёз думаешь, что все-все компании расположены в одном-единственном городе одной-единственной страны?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2017, 13:33 |
|
|
start [/forum/topic.php?fid=32&fpage=10&tid=1540140]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 137ms |
0 / 0 |