|  | 
| 
Помогите построить связь | |||
|---|---|---|---|
| #18+ ДД коллеги! Никак не могу сообразить как лучше сделать, имеется две таблицы "Регионы" и "Города", каждый город относится к какому-то региону, у каждого региона есть город, который является административным центром. Все идеи сводятся к тому, чтобы сделать связь многие к многим с дополнительными ограничениями, но не нравится мне это решение... Может есть идеи ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 08.09.2019, 19:51 |  | ||
| 
Помогите построить связь | |||
|---|---|---|---|
| #18+ m0m0k0Все идеи сводятся к тому, чтобы сделать связь многие к многим с дополнительными ограничениями, но не нравится мне это решение... Может есть идеи Все идеи это какие и почему? ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 08.09.2019, 20:14 |  | ||
| 
Помогите построить связь | |||
|---|---|---|---|
| #18+ iOracleDev, Идея: Сделать связь многие ко многим, дополнительно в связующей таблице добавить административный центр ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 08.09.2019, 20:27 |  | ||
| 
Помогите построить связь | |||
|---|---|---|---|
| #18+ m0m0k0, вообще-то та же Москва - самостоятельный регион ) ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 08.09.2019, 20:29 |  | ||
| 
Помогите построить связь | |||
|---|---|---|---|
| #18+ Критик, ну на МОскве города не заканчиваются ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 08.09.2019, 20:31 |  | ||
| 
Помогите построить связь | |||
|---|---|---|---|
| #18+ m0m0k0но не нравится мне это решение... Потому что оно неправильное. В зависимости от конечной задачи решения могут варьироваться, но ни одно из них не включает отношение M:N. Posted via ActualForum NNTP Server 1.5 ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 08.09.2019, 21:20 |  | ||
| 
Помогите построить связь | |||
|---|---|---|---|
| #18+ m0m0k0имеется две таблицы "Регионы" и "Города", каждый город относится к какому-то региону, у каждого региона есть город, который является административным центром. В городе ссылка на регион (у каждого города строго один регион получится), в регионе ссылка на город (он будет тоже строго один). Единственное дополнительно сделать проверку, чтобы в в поле "город"(главный город) региона нельзя было поставить город, который к этому региону не относится. Чем не нравится решение? m0m0k0Сделать связь многие ко многим, дополнительно в связующей таблице добавить административный центр Прикольный совет ) Это как? город может в 2 региона входить? Не очень хороший совет. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 08.09.2019, 21:44 |  | ||
| 
Помогите построить связь | |||
|---|---|---|---|
| #18+ m0m0k0, будьте проще: Регионыкод_регионаназвание_регионакод_админ_центра... Городакод_городаназвание_городакод_региона... ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 08.09.2019, 21:46 |  | ||
| 
Помогите построить связь | |||
|---|---|---|---|
| #18+ SergueiВ городе ссылка на регион (у каждого города строго один регион получится), в регионе ссылка на город (он будет тоже строго один). Единственное дополнительно сделать проверку, чтобы в в поле "город"(главный город) региона  нельзя было поставить город, который к этому региону не относится. Чем не нравится решение? Уроборос какой то получился, зачем кусать свой собственный хвост? ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 08.09.2019, 21:52 |  | ||
| 
Помогите построить связь | |||
|---|---|---|---|
| #18+ Gerros, Что такое код_админ_центра? ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 08.09.2019, 21:53 |  | ||
| 
Помогите построить связь | |||
|---|---|---|---|
| #18+ iOracleDevзачем кусать свой собственный хвост? Потому что это простейшее и надёжнейшее решение. Остальные идут под бритву старого араба. Posted via ActualForum NNTP Server 1.5 ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 08.09.2019, 22:09 |  | ||
| 
Помогите построить связь | |||
|---|---|---|---|
| #18+ m0m0k0, Регион - главная, город - подчиненная (связь один ко многим, в регионе много городов)... Признак центра: - или в самом городе (может быть код из классификатора 0-Адм. центр, 1-просто город, 2- деревня, ...) что проще и шире и наверное правильнее... - или в регионе код города (его ID в таблице город), тоже вариант (как у Gerros), хотя он мне и не нравится ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 08.09.2019, 22:09 |  | ||
| 
Помогите построить связь | |||
|---|---|---|---|
| #18+ iOracleDev, Foreign Key на код_города ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 08.09.2019, 22:18 |  | ||
| 
Помогите построить связь | |||
|---|---|---|---|
| #18+ Dimitry SibiryakovПотому что это простейшее и надёжнейшее решение. Остальные идут под бритву старого араба. Зацикливание самого на себя это простейшее и надежнейшее решение? В иерархическом классификаторе тоже? Чем не нравится поле/поля с типом территориального образования и типов таких типов может быть много? ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 08.09.2019, 22:26 |  | ||
| 
Помогите построить связь | |||
|---|---|---|---|
| #18+ vmag Признак центра:  - или в самом городе (может быть код из классификатора 0-Адм. центр, 1-просто город, 2- деревня, ...) что проще и шире и наверное правильнее... Если нужен именно административный центр, то это флаг 1- для административного центра и отсутствие значения для всех остальных, если нужно гарантировать чтобы таких центров в регионе не было больше одного можно построить уникальный ключ. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 08.09.2019, 22:40 |  | ||
| 
Помогите построить связь | |||
|---|---|---|---|
| #18+ iOracleDevзачем кусать свой собственный хвост? Есть такой хитрый прием - причем рабочий ;-) iOracleDevЗацикливание самого на себя это простейшее и надежнейшее решение? В иерархическом классификаторе тоже? Это не есть зацикливание. Это связи разного типа. И ничего страшного в этом нет. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 08.09.2019, 23:00 |  | ||
| 
Помогите построить связь | |||
|---|---|---|---|
| #18+ SergueiЕсть такой хитрый прием - причем рабочий ;-) 6 на 9, не самая удобная позиция SergueiЭто не есть зацикливание. Это связи разного типа. И ничего страшного в этом нет. Имеем город Б ссылающийся по внешнему ключу на регион А и в то же время регион А ссылается также внешним ключом на город Б, мне такой секас не нравится )) ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 09.09.2019, 00:28 |  | ||
| 
Помогите построить связь | |||
|---|---|---|---|
| #18+ Критиквообще-то та же Москва - самостоятельный регион ) Только вот это город, а не регион, точнее город Федерального значения и если не заводить такой регион, то уроборос останется без хвоста )) ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 09.09.2019, 00:34 |  | ||
| 
Помогите построить связь | |||
|---|---|---|---|
| #18+ отдельную таблицу запили: adm_center2region Код: sql 1. 2. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 09.09.2019, 01:21 |  | ||
| 
Помогите построить связь | |||
|---|---|---|---|
| #18+ vmag, В первом случае может быть два адм. центра у региона, не подходит ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 09.09.2019, 06:04 |  | ||
| 
Помогите построить связь | |||
|---|---|---|---|
| #18+ iOracleDev, Построить уникальный ключ на флаг, это как? ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 09.09.2019, 06:06 |  | ||
| 
Помогите построить связь | |||
|---|---|---|---|
| #18+ iOracleDevУроборос какой то получился, зачем кусать свой собственный хвост? Циклическая связь — это как раз недостаток малозначительный. Более существенно то, что с такой схемой не получится нормально добавить Москву, Санкт-Петербург или Байконур. Поэтому лучше добавить третью таблицу связей — таблица подчинения с полями (код_региона, код_столицы, тип_иерархии). Тип иерархии будет определять категорию, в которой указанный город является столицей (административная, финансовая, туристическая и т.д.). ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 09.09.2019, 09:01 |  | ||
| 
Помогите построить связь | |||
|---|---|---|---|
| #18+ Alibek B.Поэтому лучше добавить третью таблицу связей — таблица подчинения с полями (код_региона, код_столицы, тип_иерархии). Тип иерархии будет определять категорию, в которой указанный город является столицей (административная, финансовая, туристическая и т.д.). Можно и так сделать, только не уверен, что это проще, этот функционал шире чем было заявлено было. Решение предлагалось строго под потребности. И регион москва и т.д. Это не проблема. Таблица связи многие ко многим кстати этот вопрос тоже не не решает. Про моногорода я бы сделал регион с названием гМосква и у него бы поставил признак "самостоятельный регион" и запретил бы в города проставлять этот региогн более чем 1 раз. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 09.09.2019, 10:37 |  | ||
| 
Помогите построить связь | |||
|---|---|---|---|
| #18+ Alibek B.Поэтому лучше добавить третью таблицу связей — таблица подчинения с полями (код_региона, код_столицы, тип_иерархии). Тип иерархии будет определять категорию, в которой указанный город является столицей (административная, финансовая, туристическая и т.д.). Можно и так сделать, только не уверен, что это проще, этот функционал шире чем было заявлено было. Решение предлагалось строго под потребности. И регион москва и т.д. Это не проблема. Таблица связи многие ко многим кстати этот вопрос тоже не не решает. Про моногорода я бы сделал регион с названием гМосква и у него бы поставил признак "самостоятельный регион" и запретил бы в города проставлять этот региогн более чем 1 раз. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 09.09.2019, 10:57 |  | ||
| 
Помогите построить связь | |||
|---|---|---|---|
| #18+ Alibek B.с такой схемой не получится нормально добавить Москву, Санкт-Петербург или Байконур. А их и не надо добавлять "нормально". Достаточно "в соответствии с потребностями задачи". Posted via ActualForum NNTP Server 1.5 ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 09.09.2019, 12:24 |  | ||
|  | 

| start [/forum/topic.php?fid=32&msg=39859021&tid=1539910]: | 0ms | 
| get settings: | 8ms | 
| get forum list: | 14ms | 
| check forum access: | 3ms | 
| check topic access: | 3ms | 
| track hit: | 41ms | 
| get topic data: | 10ms | 
| get forum data: | 3ms | 
| get page messages: | 54ms | 
| get tp. blocked users: | 1ms | 
| others: | 230ms | 
| total: | 367ms | 

| 0 / 0 | 
