
    Новые сообщения [новые:0]
  
  Дайджест 
  
  Горячие темы
    Избранное [новые:0]
  
Форумы 
 
Пользователи 
Статистика 
Статистика нагрузки 
    Мод. лог 
  
  Поиск 
  | 
| 
 25.08.2017, 12:53 
 | 
|||
|---|---|---|---|
  
  | 
|||
Таблицы с компаниями и регионами. Связи между таблицами  | 
|||
| 
 #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, 13:06 
 | 
|||
|---|---|---|---|
Таблицы с компаниями и регионами. Связи между таблицами  | 
|||
| 
 #18+ 
  
    
  - либо развернуть иерархию город-страна в плоскую таблицу (таблицы) - либо делать ссылку на листовое поле иерархии (у вас это город) и при необходимости в запросе получать верхние уровни ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 25.08.2017, 13:21 
 | 
|||
|---|---|---|---|
  
  | 
|||
Таблицы с компаниями и регионами. Связи между таблицами  | 
|||
| 
 #18+ 
  
    
  Дедушка, спасибо за ответ! Первый вариант - не очень, на мой взгляд, хорошее решение. Ведь в дальнейшем нужно будет фильтровать компании по странам, выводить компании какой-то одной выбранной страны. В принципе все это решаемо, причем несложно, но очень сомневаюсь, что это будет оптимальное решение. К тому же избыточность данных.... Второй вариант - более интересное решение (я его имел ввиду и в своем вопросе). Но тогда чтобы получить страну при выводе компаний, придется или в sql-запросе получать страну подзапросом или в приложении отдельными запросами. Насколько это хорошо? Может быть есть еще какие-нибудь решения (касающиеся структуры таблиц)? ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
| 
 25.08.2017, 13:33 
 | 
|||
|---|---|---|---|
  
  | 
|||
Таблицы с компаниями и регионами. Связи между таблицами  | 
|||
| 
 #18+ 
  
    
  Yura1976Но тогда чтобы получить страну при выводе компаний, придется или в sql-запросе получать страну подзапросом или в приложении отдельными запросами. Насколько это хорошо? Это очень даже хорошо: придётся-таки изучить SQL. Yura1976Может быть есть еще какие-нибудь решения (касающиеся структуры таблиц)? КЛАДР PS: Ты всерьёз думаешь, что все-все компании расположены в одном-единственном городе одной-единственной страны?.. Posted via ActualForum NNTP Server 1.5 ...  | 
|||
| 
 : 
 Нравится:
      
  Не нравится:
      
  
   | 
|||
| 
  
  
   | 
  | 

start [/forum/topic.php?fid=32&mobile=1&tid=1540140]:  | 
    0ms | 
get settings:  | 
    10ms | 
get forum list:  | 
    12ms | 
check forum access:  | 
    3ms | 
check topic access:  | 
    3ms | 
track hit:  | 
    54ms | 
get topic data:  | 
    9ms | 
get forum data:  | 
    2ms | 
get page messages:  | 
    43ms | 
get tp. blocked users:  | 
    1ms | 
| others: | 250ms | 
| total: | 387ms | 

    | 0 / 0 | 

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