powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Помогите построить связь
25 сообщений из 87, страница 2 из 4
Помогите построить связь
    #39859278
m0m0k0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alibek B.,
Вот, решение с помощью дополнительной таблицы - гуд!
...
Рейтинг: 0 / 0
Помогите построить связь
    #39859281
m0m0k0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,
Предложите ваш вариант
...
Рейтинг: 0 / 0
Помогите построить связь
    #39859284
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m0m0k0Предложите ваш вариант

Вариант чего? Ты задачу-то так и не озвучил.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите построить связь
    #39859286
iOracleDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m0m0k0Построить уникальный ключ на флаг, это как?
Легко, в таблице городов комбинацию ссылки на регион и флаг административного центра можно сделать уникальной.
...
Рейтинг: 0 / 0
Помогите построить связь
    #39859289
ultrasonic7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всё зависит от степени абстракции, с которой проектировать БД. Вариант от Gerros хороший, но его можно немного доработать. Если почитать Википедию , то в России существуют административные единицы четырех уровней. На первом уровне - 85 субъектов Федерации (области, республики, края), из них 3 города федерального значения (Москва, Санкт-Петербург и Севастополь). Город федерального значения не относится ни к какому региону, поэтому у таких городов в поле Код_Региона должно стоять NULL.

Соответственно, если есть города федерального подчинения, то есть регионы без формального центра (Московская область, Ленинградская область).


РегионыID_регионакод_регионаназвание_региона

ID_региона и код_региона разные вещи, потому что у одного субъекта может быть несколько кодов (г. Москва - 77, 97, 99, 177 и т.д.). Поэтому нужна дополнительная таблица (связь один-ко-многим)
РегионыID_регионакод_региона

ГородаID_городаназвание_городакод_регионапризнак_административного_центра

Таблица_административных_единиц_по_странам
( https://ru.wikipedia.org/wiki/Таблица_административных_единиц_по_странам)

Кстати, область и город - не единственные административно-территориальные единицы. Есть более крупная - федеральный округ и более мелкая - районы, городские округа. Соответственно, можно развить абстракцию и дальше.
...
Рейтинг: 0 / 0
Помогите построить связь
    #39859290
iOracleDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m0m0k0Alibek B.,
Вот, решение с помощью дополнительной таблицы - гуд!
Чем оно хорошо?

Правильность данных обеспечивать будет так же сложно, что мешает для региона указать город не входящий в его состав? Что мешает город являющийся административным центром одного региона перевести в другой регион, в первом регионе он останется административным центром?

На самом деле нужно отталкиваться от того как будет эта информация использоваться, если в отчетах по городам нужно выводить признак административный центр, то однозначно простой флаг в таблице городов, т.е. если эта информация используется для города, то помещать в таблицу городов, если в основном будет требоваться показывать город являющийся административным центром в списке регионов, тогда в таблицу регионов добавить ссылку на административный центр.
...
Рейтинг: 0 / 0
Помогите построить связь
    #39859294
ultrasonic7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Немного ошибся. Хотел предложить таблицы вот в таком варианте:
РегионыID_регионаназвание_региона

Коды_регионовID_регионакод_региона

ГородаID_городаназвание_городакод_регионапризнак_административного_центра
...
Рейтинг: 0 / 0
Помогите построить связь
    #39859295
iOracleDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ultrasonic7поэтому у таких городов в поле Код_Региона должно стоять NULL.
С одной стороны вроде бы правильно, с другой не всегда, зависит от задач, возможно для реальной системы будет выгоднее продублировать города федерального значения в регионы и добавить тип записи - регион, город федерального значения.
...
Рейтинг: 0 / 0
Помогите построить связь
    #39859297
ultrasonic7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Жаль, нельзя отредактировать опубликованное сообщение. Во втором варианте в таблице "Города" вместо "код_региона" должно быть "ID_региона"
...
Рейтинг: 0 / 0
Помогите построить связь
    #39859299
iOracleDev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ultrasonic7Немного ошибся. Хотел предложить таблицы вот в таком варианте:
Сейчас точно ошибся, почему в городах код_региона вместо ID_региона, для разных кодов одного региона будешь списки городов дублировать?
...
Рейтинг: 0 / 0
Помогите построить связь
    #39859301
ultrasonic7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iOracleDevultrasonic7поэтому у таких городов в поле Код_Региона должно стоять NULL.
С одной стороны вроде бы правильно, с другой не всегда, зависит от задач, возможно для реальной системы будет выгоднее продублировать города федерального значения в регионы и добавить тип записи - регион, город федерального значения.

Да, если посмотреть таблицу административных единиц, то города федерального значения, как и области, края и республики - это административные единицы первого уровня. Но только это не регионы, а субъекты РФ))
...
Рейтинг: 0 / 0
Помогите построить связь
    #39859302
ultrasonic7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iOracleDevultrasonic7Немного ошибся. Хотел предложить таблицы вот в таком варианте:
Сейчас точно ошибся, почему в городах код_региона вместо ID_региона, для разных кодов одного региона будешь списки городов дублировать?

Да, уже поправил))
...
Рейтинг: 0 / 0
Помогите построить связь
    #39859303
ultrasonic7
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Отредактированная таблица городов
ГородаID_городаназвание_городаID_регионапризнак_административного_центра
...
Рейтинг: 0 / 0
Помогите построить связь
    #39859305
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А почему бы не послать аффтара сразу на ФИАС-ко?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите построить связь
    #39859354
m0m0k0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov,
"имеется две таблицы "Регионы" и "Города", каждый город относится к какому-то региону, у каждого региона есть город, который является административным центром."
Этого не достаточно?
...
Рейтинг: 0 / 0
Помогите построить связь
    #39859371
m0m0k0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iOracleDev,

Могу озвучить задачу, есть определенные товары, распределенные по городам (в основном по адм. центрам), при выдаче товара клиенту, нужно проверить его наличие в городе, который клиент указал при регистрации, если товаров в этом городе нет, то берем его из города, который является адм. центром.
...
Рейтинг: 0 / 0
Помогите построить связь
    #39859373
m0m0k0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iOracleDev,

Отличная идея
...
Рейтинг: 0 / 0
Помогите построить связь
    #39859374
m0m0k0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iOracleDevm0m0k0Построить уникальный ключ на флаг, это как?
Легко, в таблице городов комбинацию ссылки на регион и флаг административного центра можно сделать уникальной.

я про эту
...
Рейтинг: 0 / 0
Помогите построить связь
    #39859401
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m0m0k0Могу озвучить задачу

Ну наконец-то разродился... Для этого не нужна ни таблица регионов, ни административные
центры. Для каждого города просто указывается ссылка "где искать если здесь нету".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите построить связь
    #39859446
m0m0k0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakovm0m0k0Могу озвучить задачу

Ну наконец-то разродился... Для этого не нужна ни таблица регионов, ни административные
центры. Для каждого города просто указывается ссылка "где искать если здесь нету".


Так себе решение
...
Рейтинг: 0 / 0
Помогите построить связь
    #39859461
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m0m0k0Так себе решение

Это решение конкретной задачи, которое не сломается если в один прекрасный день опорная
база логистики окажется не в административном центре, а вообще в соседнем регионе.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Помогите построить связь
    #39859477
Serguei
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m0m0k0Могу озвучить задачу, есть определенные товары, распределенные по городам (в основном по адм. центрам), при выдаче товара клиенту, нужно проверить его наличие в городе, который клиент указал при регистрации, если товаров в этом городе нет, то берем его из города, который является адм. центром.

Странная постановка задачи, немного "прибитая гвоздями". Если требуется отслеживать наличие товаров, то нужно описание складов и описание какого то графа транспортной сети и выбирать по каким то (чуть чуть более сложным) правилам откуда брать (например- по кратчайшему расстоянию).
...
Рейтинг: 0 / 0
Помогите построить связь
    #39859499
m0m0k0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sergueim0m0k0Могу озвучить задачу, есть определенные товары, распределенные по городам (в основном по адм. центрам), при выдаче товара клиенту, нужно проверить его наличие в городе, который клиент указал при регистрации, если товаров в этом городе нет, то берем его из города, который является адм. центром.

Странная постановка задачи, немного "прибитая гвоздями". Если требуется отслеживать наличие товаров, то нужно описание складов и описание какого то графа транспортной сети и выбирать по каким то (чуть чуть более сложным) правилам откуда брать (например- по кратчайшему расстоянию).

Описание центров выдачи (складов) имеется.
Всю логистику по доставке и распределению товаров по городам клиент берет на себя, необходимо считать только в разрезе городов.
...
Рейтинг: 0 / 0
Помогите построить связь
    #39859505
m0m0k0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakovm0m0k0Так себе решение

Это решение конкретной задачи, которое не сломается если в один прекрасный день опорная
база логистики окажется не в административном центре, а вообще в соседнем регионе.


Приличный аргумент. Как бы вы релизовали данное решение? (конечно же целостность данных в проиритете).
...
Рейтинг: 0 / 0
Помогите построить связь
    #39859509
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m0m0k0Как бы вы релизовали данное решение?

А какое слово из "для каждого города просто указывается ссылка" Вам непонятно?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25 сообщений из 87, страница 2 из 4
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Помогите построить связь
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]