|
Помогите построить связь
|
|||
---|---|---|---|
#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 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
Alibek B., Вот, решение с помощью дополнительной таблицы - гуд! ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 12:29 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Предложите ваш вариант ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 12:30 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
m0m0k0Предложите ваш вариант Вариант чего? Ты задачу-то так и не озвучил. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 12:33 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
m0m0k0Построить уникальный ключ на флаг, это как? Легко, в таблице городов комбинацию ссылки на регион и флаг административного центра можно сделать уникальной. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 12:34 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
Всё зависит от степени абстракции, с которой проектировать БД. Вариант от Gerros хороший, но его можно немного доработать. Если почитать Википедию , то в России существуют административные единицы четырех уровней. На первом уровне - 85 субъектов Федерации (области, республики, края), из них 3 города федерального значения (Москва, Санкт-Петербург и Севастополь). Город федерального значения не относится ни к какому региону, поэтому у таких городов в поле Код_Региона должно стоять NULL. Соответственно, если есть города федерального подчинения, то есть регионы без формального центра (Московская область, Ленинградская область). РегионыID_регионакод_регионаназвание_региона ID_региона и код_региона разные вещи, потому что у одного субъекта может быть несколько кодов (г. Москва - 77, 97, 99, 177 и т.д.). Поэтому нужна дополнительная таблица (связь один-ко-многим) РегионыID_регионакод_региона ГородаID_городаназвание_городакод_регионапризнак_административного_центра Таблица_административных_единиц_по_странам ( https://ru.wikipedia.org/wiki/Таблица_административных_единиц_по_странам) Кстати, область и город - не единственные административно-территориальные единицы. Есть более крупная - федеральный округ и более мелкая - районы, городские округа. Соответственно, можно развить абстракцию и дальше. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 12:44 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
m0m0k0Alibek B., Вот, решение с помощью дополнительной таблицы - гуд! Чем оно хорошо? Правильность данных обеспечивать будет так же сложно, что мешает для региона указать город не входящий в его состав? Что мешает город являющийся административным центром одного региона перевести в другой регион, в первом регионе он останется административным центром? На самом деле нужно отталкиваться от того как будет эта информация использоваться, если в отчетах по городам нужно выводить признак административный центр, то однозначно простой флаг в таблице городов, т.е. если эта информация используется для города, то помещать в таблицу городов, если в основном будет требоваться показывать город являющийся административным центром в списке регионов, тогда в таблицу регионов добавить ссылку на административный центр. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 12:48 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
Немного ошибся. Хотел предложить таблицы вот в таком варианте: РегионыID_регионаназвание_региона Коды_регионовID_регионакод_региона ГородаID_городаназвание_городакод_регионапризнак_административного_центра ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 12:54 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
ultrasonic7поэтому у таких городов в поле Код_Региона должно стоять NULL. С одной стороны вроде бы правильно, с другой не всегда, зависит от задач, возможно для реальной системы будет выгоднее продублировать города федерального значения в регионы и добавить тип записи - регион, город федерального значения. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 12:56 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
Жаль, нельзя отредактировать опубликованное сообщение. Во втором варианте в таблице "Города" вместо "код_региона" должно быть "ID_региона" ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 12:57 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
ultrasonic7Немного ошибся. Хотел предложить таблицы вот в таком варианте: Сейчас точно ошибся, почему в городах код_региона вместо ID_региона, для разных кодов одного региона будешь списки городов дублировать? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 13:01 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
iOracleDevultrasonic7поэтому у таких городов в поле Код_Региона должно стоять NULL. С одной стороны вроде бы правильно, с другой не всегда, зависит от задач, возможно для реальной системы будет выгоднее продублировать города федерального значения в регионы и добавить тип записи - регион, город федерального значения. Да, если посмотреть таблицу административных единиц, то города федерального значения, как и области, края и республики - это административные единицы первого уровня. Но только это не регионы, а субъекты РФ)) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 13:04 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
iOracleDevultrasonic7Немного ошибся. Хотел предложить таблицы вот в таком варианте: Сейчас точно ошибся, почему в городах код_региона вместо ID_региона, для разных кодов одного региона будешь списки городов дублировать? Да, уже поправил)) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 13:05 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
Отредактированная таблица городов ГородаID_городаназвание_городаID_регионапризнак_административного_центра ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 13:07 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
А почему бы не послать аффтара сразу на ФИАС-ко?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 13:13 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, "имеется две таблицы "Регионы" и "Города", каждый город относится к какому-то региону, у каждого региона есть город, который является административным центром." Этого не достаточно? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 14:41 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
iOracleDev, Могу озвучить задачу, есть определенные товары, распределенные по городам (в основном по адм. центрам), при выдаче товара клиенту, нужно проверить его наличие в городе, который клиент указал при регистрации, если товаров в этом городе нет, то берем его из города, который является адм. центром. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 14:59 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
iOracleDev, Отличная идея ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 15:01 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
iOracleDevm0m0k0Построить уникальный ключ на флаг, это как? Легко, в таблице городов комбинацию ссылки на регион и флаг административного центра можно сделать уникальной. я про эту ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 15:01 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
m0m0k0Могу озвучить задачу Ну наконец-то разродился... Для этого не нужна ни таблица регионов, ни административные центры. Для каждого города просто указывается ссылка "где искать если здесь нету". Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 15:37 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakovm0m0k0Могу озвучить задачу Ну наконец-то разродился... Для этого не нужна ни таблица регионов, ни административные центры. Для каждого города просто указывается ссылка "где искать если здесь нету". Так себе решение ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 16:51 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
m0m0k0Так себе решение Это решение конкретной задачи, которое не сломается если в один прекрасный день опорная база логистики окажется не в административном центре, а вообще в соседнем регионе. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 17:17 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
m0m0k0Могу озвучить задачу, есть определенные товары, распределенные по городам (в основном по адм. центрам), при выдаче товара клиенту, нужно проверить его наличие в городе, который клиент указал при регистрации, если товаров в этом городе нет, то берем его из города, который является адм. центром. Странная постановка задачи, немного "прибитая гвоздями". Если требуется отслеживать наличие товаров, то нужно описание складов и описание какого то графа транспортной сети и выбирать по каким то (чуть чуть более сложным) правилам откуда брать (например- по кратчайшему расстоянию). ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 17:45 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
Sergueim0m0k0Могу озвучить задачу, есть определенные товары, распределенные по городам (в основном по адм. центрам), при выдаче товара клиенту, нужно проверить его наличие в городе, который клиент указал при регистрации, если товаров в этом городе нет, то берем его из города, который является адм. центром. Странная постановка задачи, немного "прибитая гвоздями". Если требуется отслеживать наличие товаров, то нужно описание складов и описание какого то графа транспортной сети и выбирать по каким то (чуть чуть более сложным) правилам откуда брать (например- по кратчайшему расстоянию). Описание центров выдачи (складов) имеется. Всю логистику по доставке и распределению товаров по городам клиент берет на себя, необходимо считать только в разрезе городов. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 18:17 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakovm0m0k0Так себе решение Это решение конкретной задачи, которое не сломается если в один прекрасный день опорная база логистики окажется не в административном центре, а вообще в соседнем регионе. Приличный аргумент. Как бы вы релизовали данное решение? (конечно же целостность данных в проиритете). ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 18:31 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
m0m0k0Как бы вы релизовали данное решение? А какое слово из "для каждого города просто указывается ссылка" Вам непонятно? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 18:38 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakovm0m0k0Как бы вы релизовали данное решение? А какое слово из "для каждого города просто указывается ссылка" Вам непонятно? Т.е. вы предлагаете в таблице городов проставить ссылки на адм. центры? В таком случае, где гарантия, что вы не ошибетесь и такого города не окажется? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 18:42 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
m0m0k0В таком случае, где гарантия, что вы не ошибетесь и такого города не окажется? Откройте для себя всю мощь foreign key. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 18:47 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakovm0m0k0В таком случае, где гарантия, что вы не ошибетесь и такого города не окажется? Откройте для себя всю мощь foreign key. FK на ту же таблицу? Так что можно что-ли OO ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 18:55 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
m0m0k0Так что можно что-ли OO А кто запретит-то?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 19:09 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
m0m0k0ДД коллеги! Никак не могу сообразить как лучше сделать, имеется две таблицы "Регионы" и "Города", каждый город относится к какому-то региону, у каждого региона есть город, который является административным центром. Все идеи сводятся к тому, чтобы сделать связь многие к многим с дополнительными ограничениями, но не нравится мне это решение... Может есть идеи Третья таблица напрашивается:) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.09.2019, 22:07 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
Sergueiгород может в 2 региона входить? Один город может даже в две страны входить. Граница между кухней и туалетом. Прецеденты есть и в Европе, и в Южной Америке. Вообще я бы рекомендовал рассматривать и город и регион как контейнеры для более мелких объектов. И слить их в одну таблицу. А административное деление и признак центра указывать в отдельной табличке. Оно конечно для сдачи курсовой не прокатит, но в промышленной эксплуатации работать как раз будет отлично. Особенно если города и регионы грузить из внешних источников, а не садить на их ведение умственно отсталых. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2019, 08:31 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
Сергей ВаскецовОдин город может даже в две страны входить. Граница между кухней и туалетом. Прецеденты есть и в Европе, и в Южной Америке. Конкретными примерами можете поделиться? Сергей ВаскецовВообще я бы рекомендовал рассматривать и город и регион как контейнеры для более мелких объектов. И слить их в одну таблицу. Возможно нужно так рассматривать. Весь вопрос в постановке задачи) Теоретически можно хоть до номера дома расписать. Только нужно понять зачем... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2019, 10:13 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
m0m0k0, Создай одну таблицу, назови нейтрально, например, geographical_place, сделай таблицу иерархическую (дерево), В корень поставь "Россия", все регионы, включая Москву и Севастополь - в подчинение. Области так-же подчиняются узлу "Россия" В подчинении "Область" районы и города области. Для областного центра придумай какой-нибудь признак. Основное преимущество "дерева" - не надо ломать голову над созданием таблиц, если в будущем потребуется более подробная детализация. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2019, 12:21 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
m0m0k0vmag, В первом случае может быть два адм. центра у региона, не подходит В свете более-менее уточненной постановки задачи (наконец-то), может есть смысл сделать так, как это делают все нормальные сети - просто указать в регионе все реальные пункты выдачи (это как раз и есть первый случай один ко многим - регион -> пункты выдачи). Многие задачи долго простаивают и в конце концов умирают по причине того, что разработчик пытается решить все решаемые и не решаемые проблемы за счет схемы БД (как будто у него нет в и планах делать интерфейс, типа юзеры будут вбивать данные непосредственно в таблицы). Задача не стоит и выеденного яйца, - показать на карте за выбранный регион все пункты выдачи, а административный центр выделить красным. Зайди в яндекс почту, выбери карты и нарисуй за 20 минут без всяких бд... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2019, 12:51 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
vmagпросто указать в регионе все реальные пункты выдачи Не будет это работать. Возьмём реальный пример: центр выдачи в Агрызе. Регион - Татарстан, его центр - Казань. Но до Ижевска, регионального центра Удмуртии всего полчаса езды в то время как до Казани - шесть. Аффтар всерьёз уверен, что недостающий товар в Агрыз будут везти из Казани или посылать туда клиента?.. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2019, 13:13 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
Вот какая модель представляется. Сразу скажу, чего в ней нет - федеральных округов и районов. Что в ней есть - регионы, коды регионов и города, в том числе федерального значения. Таблица REGIONS связана отношением "один-ко многим" с таблицей REGION2CODE и так же отношением "один-ко многим" с таблицей CITIES. Код Создаём структуру Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57.
Заполняем Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34.
Модель довольно упрощенная, но для практических задач должно хватить. Если нужно совсем-совсем подробную модель, то попытайтесь скопировать структуру ФИАС. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2019, 13:20 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakovvmagпросто указать в регионе все реальные пункты выдачи Не будет это работать. Возьмём реальный пример: центр выдачи в Агрызе. Регион - Татарстан, его центр - Казань. Но до Ижевска, регионального центра Удмуртии всего полчаса езды в то время как до Казани - шесть. Аффтар всерьёз уверен, что недостающий товар в Агрыз будут везти из Казани или посылать туда клиента?.. +1. И чем дальше на восток, тем больше расстояния. И тем выгоднее искать доставку из другого административного образования. Схема ТС возможно актуальна для Московского региона. Может внести в базу координаты пунктов и считать расстояния? Так не пойдёт. Слишком просто. Нужна маршрутная сеть. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2019, 13:46 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
SergueiСергей ВаскецовОдин город может даже в две страны входить. Граница между кухней и туалетом. Прецеденты есть и в Европе, и в Южной Америке. Конкретными примерами можете поделиться? Тынц . Про Южную Америку сами найдёте. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2019, 13:48 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
Сергей ВаскецовSergueiпропущено... Конкретными примерами можете поделиться? Тынц . Про Южную Америку сами найдёте. Собственно говоря не катит. Это разные города. Ибо в тынце написано: https://fishki.net/2553106-neobychnaja-granica-mezhdu-belygiej-i-gollandiej.html Марион де Гон-Велентурф, бургомистр Баарле-Нассау (Нидерланды): "Объединить два муниципалитета из разных стран в единое европейское образование было бы прекрасной идеей. Но в реальности это все еще остается утопией". Лео ван Тилбург, бургомистр Баарле-Гертога (Бельгия): "Наверное мы никогда до этого не доживём. Сейчас это невозможно по закону. А если это когда-нибудь и случится, что я полностью поддерживаю, наружу вылезут культурные различия". Так же и скорее всего, в Южной Америке. Так же как и в России с Украиной (Чертково Ростовской области и Меловое Луганской) ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2019, 14:12 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
Mr.FontaineСобственно говоря не катит. Это разные города То, что их называют по-разному, сути не меняет. Есть даже комната, находящаяся в разных странах. Уж про комнату-то никак не скажете, что это разные комнаты. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2019, 14:28 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
Сергей Васкецов, чё, крестики прям по комнате проложены? ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2019, 14:35 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
Крестики для наглядности. То есть для туристов по большей части. В комнатах крестики наверняка не рисуют, незачем. В Южной Америке так точно не рисуют. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2019, 14:36 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
Сергей Васкецов, Вы лучше бы проработали вопрос нахождения одного города в разных странах на примере Солтни (Англия-Уэльс), но там думается всё проще, ибо всё-таки государство одно: объединённое королевство. Узнайте как там с главой города обстоит: один или два ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2019, 14:38 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
Mr.FontaineУзнайте как там с главой города обстоит: один или два А какое это имеет значение? А ещё там может быть сотня депутатов... Предлагаю вернуться к теме. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2019, 15:17 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
Dimitry SibiryakovНе будет это работать. Возьмём реальный пример: центр выдачи в Агрызе. Регион - Татарстан, его центр - Казань. Но до Ижевска, регионального центра Удмуртии всего полчаса езды в то время как до Казани - шесть Это как раз и будет работать, я на карте как клиент увижу, что мне ближе к Ижевску, на карте видно все пункты выдачи, в этом и весь смысл, плохо что проектировщик думает по другому... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2019, 16:04 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
такое ощущение, что никто не заказывал детали на exist те... пофиг где ты, сделал заказ, тебе показали ближайшие пункты выдачи... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2019, 16:10 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
vmagтакое ощущение, что никто не заказывал детали на exist те... пофиг где ты, сделал заказ, тебе показали ближайшие пункты выдачи... Логика видимая пользователю в exist думаю другая, чем доставка на большие расстояния.Подозреваю, что exist не обязательно возит по кратчайшему маршруту. Думаю там есть какая то схема логистики и вся привязка к ней. 100% не уверен, но мне кажется это логичным: не делать доставку одной запчасти из ближайшего магазина, если уже есть потребность доставки из более дальнего, но более крупной партии. Логично решать данную задачу не прямо "в лоб" ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2019, 21:38 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
Serguei, Согласен, просто ТС видит все со своей колокольни, а нужен глобальный подход. Перечень пунктов доставки в регионе это частный случай и интересен только с точки зрения регистрации в БД, для клиента более интересен и продуктивен полный список пунктов доставки вокруг его местоположения, независимо от принадлежности их к региону, об этом и речь... ... |
|||
:
Нравится:
Не нравится:
|
|||
10.09.2019, 23:26 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
Сергей ВаскецовMr.FontaineУзнайте как там с главой города обстоит: один или два А какое это имеет значение? А ещё там может быть сотня депутатов... Предлагаю вернуться к теме. Так-то изначально не надо было уходить от темы, и писать чушь типа Сергей ВаскецовОдин город может даже в две страны входить Сами же дали ссылку, где написано, что законодательство запрещает иметь один город в двух странах. Потому при проектировании БД ВСЕГДА следует делать, что один город привязан к одной стране. А в какой стране находится диван, а какой телевизор это никому не интересно и в структуре БД никто это отображать не будет ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2019, 06:44 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
vmagSerguei, Согласен, просто ТС видит все со своей колокольни, а нужен глобальный подход. Перечень пунктов доставки в регионе это частный случай и интересен только с точки зрения регистрации в БД, для клиента более интересен и продуктивен полный список пунктов доставки вокруг его местоположения, независимо от принадлежности их к региону, об этом и речь... В данном случае речь вообще не об описанном Вами глобальном подходе. Ибо обсуждаемая задача - это не выбор пункта выдачи пользователем. Она сидит дальше, уже после того как пользователь выбрал пункт выдачи (правда там похоже закреплено, что в одном населённом пункте всегда один пункт выдачи, но это к нашей задаче отношения не имеет) После выбора пользователем пункта выдачи и начинает работать обсуждаемый алгоритм: - проверяется наличие товара в указанном пользователем пункте выдачи - если есть товар, то лон видимо бронируется - а вот если его нет, то принимается решение откуда везти товар, чтобы пользователь его получил в указанном им пункте выдачи. Вот этот момент мы и обсуждаем. На exist.ru эта задача тоже работает, но ты её не видишь, потому давай не уходить от темы обсуждения. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2019, 07:05 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
Mr.Fontaineпотому давай не уходить от темы обсуждения. а что еще то хотите услышать? ) Выяснили: описать связи регионов и городов можно несколькими способами и все они правильные. Каждый выбирает свой путь :) ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2019, 07:41 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
Serguei, так-то вроде бы выяснили, что в данной задаче связывать города с регионами вообще не требуется. Достаточно указать из какого города надо везти, не привязываясь к регионам и их административным центрам. Как-то так. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2019, 09:02 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
Mr.Fontaineзаконодательство запрещает иметь один город в двух странах При чём тут вообще законодательство? Mr.FontaineА в какой стране находится диван, а какой телевизор это никому не интересно и в структуре БД никто это отображать не будет Если рассуждать в рамках законодательствоа, то задача вообще иначе ставится. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2019, 12:06 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
Mr.FontaineSerguei, так-то вроде бы выяснили, что в данной задаче связывать города с регионами вообще не требуется. Достаточно указать из какого города надо везти, не привязываясь к регионам и их административным центрам. Как-то так. Возможно просто есть самостоятельные региональные филиалы, потому и регионы появились и возможно везти из соседнего региона нельзя, даже если близко, именно потому что локальные пункты соседнего филиала относятся к своему региональному и в другой регион им запрещено отгружать. Тут задача скорее на организационную структуру организации, о которой ТС информации не предоставил. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2019, 12:52 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
Сергей ВаскецовПри чём тут вообще законодательство? Да при том, что даже если часть города за границей, то это уже не просто другой город, это страна другая. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2019, 12:54 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
ultrasonic7Вот какая модель представляется. Сразу скажу, чего в ней нет - федеральных округов и районов. Что в ней есть - регионы, коды регионов и города, в том числе федерального значения. Таблица REGIONS связана отношением "один-ко многим" с таблицей REGION2CODE и так же отношением "один-ко многим" с таблицей CITIES. Что-то много всего, что такое за "REGION_CODE"? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2019, 13:27 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
vmagm0m0k0vmag, В первом случае может быть два адм. центра у региона, не подходит В свете более-менее уточненной постановки задачи (наконец-то), может есть смысл сделать так, как это делают все нормальные сети - просто указать в регионе все реальные пункты выдачи (это как раз и есть первый случай один ко многим - регион -> пункты выдачи). Многие задачи долго простаивают и в конце концов умирают по причине того, что разработчик пытается решить все решаемые и не решаемые проблемы за счет схемы БД (как будто у него нет в и планах делать интерфейс, типа юзеры будут вбивать данные непосредственно в таблицы). Задача не стоит и выеденного яйца, - показать на карте за выбранный регион все пункты выдачи, а административный центр выделить красным. Зайди в яндекс почту, выбери карты и нарисуй за 20 минут без всяких бд... Причём здесь карты вообще? У меня есть вся иерархия и страны и районы и города и пункты выдачи, товары распределены по городам, логистику между пунктами выдачи на себя берет заказчик. Где вы тут увидели решение всех решаемых и не решаемых проблем? ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2019, 13:31 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
m0m0k0У меня есть вся иерархия и страны и районы и города и пункты выдачи, товары распределены по городам, логистику между пунктами выдачи на себя берет заказчик. Если логистику берёт на себя заказчик, выкинь из базы иерархию. Перегружать БД избыточной информацией очень опасно: проект обрушится под тяжестью задачи поддержания её в актуальном состоянии. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
11.09.2019, 13:42 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
Сергей ВаскецовMr.Fontaineзаконодательство запрещает иметь один город в двух странах При чём тут вообще законодательство? При том, что принадлежность населённого пункта тому или иному региону определяется законом. Ни одно государство не имеет право распоряжаться территорией вне закона . Неожиданно для Вас не правда ли? Вот когда будет закон, в котором говорится, что город Баарле является единым субъектом и управляется двумя государствами, тогда и можно будет его вписать в раздел кондоминиумов. Но в настоящее время от этих понятий отходят, не создавая новые кондоминиумы. Из территорий похоже осталось всего пара таких объектов: остров Фазанов (на котором нет населённых пунктов) и деревня Хадт (единственный населённый пункт, управляемый двумя государствами). Да и то нет нигде указаний, сколько в этой деревне населения. Так что учитывая тенденции международного права в отказе от кондоминиумов, и наличие единственного пункта во всем мире, который действительно управляется двумя государствами, говорить о том, что в БД требуется предусматривать привязку города к нескольким странам как-то нерационально. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2019, 07:26 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
SergueiЕдинственное дополнительно сделать проверку, чтобы в в поле "город"(главный город) региона нельзя было поставить город, который к этому региону не относится Не надо таких проверок. Бывают ситуации, когда административным центром района является город, который сам в этот район входит. У нас, например, в Свердловской области таких две штуки. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2019, 09:59 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
В эту тему загляните: Организация ГЕО деления для системы ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2019, 10:11 |
|
Помогите построить связь
|
|||
---|---|---|---|
#18+
iOracleDevСергей ВаскецовПри чём тут вообще законодательство? Да при том, что даже если часть города за границей, то это уже не просто другой город, это страна другая. Есть даже ОДНА КОМНАТА в ОДНОЙ КВАРТИРЕ в разных странах. ПС. Но вы конечно можете продолжать делать вид, что у Вас получается кипятить... Mr.Fontaineи деревня Хадт (единственный населённый пункт, управляемый двумя государствами) Тогда к чему этот праведный спор ни о чём? iOracleDevговорить о том, что в БД требуется предусматривать привязку города к нескольким странам как-то нерационально. Разве я такое говорил? Я обратил внимание на то, что так бывает. И даже не так, а ещё хуже. А надо это автору или нет - это пусть он сам решает. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.09.2019, 14:49 |
|
|
start [/forum/topic.php?all=1&fid=32&tid=1539910]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
46ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
98ms |
get tp. blocked users: |
1ms |
others: | 244ms |
total: | 433ms |
0 / 0 |