powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Сети. Вопрос по нормализации.
25 сообщений из 56, страница 1 из 3
Сети. Вопрос по нормализации.
    #35565409
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Постановка задачи.
Имеется БД, описывающая стевую структуру, а конкретнее распределительную электрическую сеть. Т.е. имеется граф.
Основа базы - таблица описателей объектов коммутационная аппаратура, трансформаторы и т.п.

Код: plaintext
1.
2.
3.
4.
5.
create table objects(
  object_id int not null primary key,
  -- у объектов предусмотрена иерархия, ссылка на родительский объект
  parent_id int null foreign key references objects(object_id),
  ........
)
Связь объектов в таблице links
Код: plaintext
1.
2.
3.
4.
5.
create table objects(
  link_id int,
  idStart int null foreign key references objects(object_id),
  idFinish int null foreign key references objects(object_id),
  ........
)
Порядок связывания объектов вобщем-то совпадает с тем, что привычен операторам и совсем не совпадает с направлением движения тока по сети.
Вопрос: как лучше описать распространение электричества по графу? Не хотелось бы добавлять еще одну таблицу, аналог таблицы links. Будет ли это нарушением НФ (какой-нибудь:))?
...
Рейтинг: 0 / 0
Сети. Вопрос по нормализации.
    #35565437
Kirill Razuvaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>> Вопрос: как лучше описать распространение электричества по графу?
А для чего Вы хотите его описывать?
Если у Вас корректно описаны все связываемые объекты с точки зрения
"источник-потребитель", по крайне мере "генерирующие" (источники тока,
трансформаторы), то находясь в любой точке графа можно найти ближайший
"источник", а от него направление легко определяется...
IMHO, нет смысла в базе это хранить отдельно, ибо это вопроизводимые данные.
Ну, или нужно сразу нормализовывать связи на этапе ввода.


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Сети. Вопрос по нормализации.
    #35565485
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kirill RazuvaevЕсли у Вас корректно описаны все связываемые объекты с точки зрения
"источник-потребитель", по крайне мере "генерирующие" (источники тока,
трансформаторы), то находясь в любой точке графа можно найти ближайший
"источник", а от него направление легко определяется...
Согласен на все 100%. Или на 99% :). Дело в том, что обход графа с использованием CTE может приводить к зацикливанию, поскольку в силу случайности направления дуг приходиться использовать соединения типа
Код: plaintext
  join objects on links.idStart = objects.object_id OR links.idFinish = objects.object_id
Идея такова, что при совпадении направленности дуг с направлением движением тока можно будет избежать "зацикливания". Точнее, если это и произошло при обходе, то это само по себе уже будет означать ошибочность стуктуры.
...
Рейтинг: 0 / 0
Сети. Вопрос по нормализации.
    #35565561
Kirill Razuvaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IMHO, это клиентская задача... на нем ее и решить проще! Попутно стукнув
оператора по репе... :-)

P.S. А вообще, направление движения тока - вещь спорная... :-))))


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Сети. Вопрос по нормализации.
    #35565582
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kirill RazuvaevIMHO, это клиентская задача... на нем ее и решить проще! Попутно стукнув
оператора по репе... :-) Есть требование, по которому бизнес-праивла должны быть реализованы в БД. Правда, с оговоркой "основная часть" :)
Kirill RazuvaevПопутно стукнув оператора по репе... :-) Пока получается наоборот. Вряд ли что то изменится в обозримом будущем
А если серьезно, то не совсем правильно выразился, что "операторам привычнее". Просто порядок присоединения не совпадает с порядком, в котором запитываются линии. Согласитесь, это не дело, когда в, допустим, в программе паспортизации скачет порядок ячеек ТП и только потому, что переключили рубильник.
Kirill RazuvaevНу, или нужно сразу нормализовывать связи на этапе ввода. Тогда сталкиваемся с другой проблемой, которая описана в предыдщем высказывании
...
Рейтинг: 0 / 0
Сети. Вопрос по нормализации.
    #35565607
Kirill Razuvaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>> Есть требование, по которому бизнес-праивла должны быть реализованы в БД.
>> Правда, с оговоркой "основная часть" :)
Так вот же оно, ключевое слово! :-))

>> Согласитесь, это не дело, когда в, допустим, в программе паспортизации
>> скачет порядок ячеек ТП и только потому, что переключили рубильник.
Не понял, Вы хотите еще состояние оборудования отслеживать на этом этапе?

>> >> Ну, или нужно сразу нормализовывать связи на этапе ввода.
>> Тогда сталкиваемся с другой проблемой, которая описана в предыдщем
>> высказывании
А если "нормализацию" фрагмента схемы проводить по факту присоединения?


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Сети. Вопрос по нормализации.
    #35565647
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kirill Razuvaev
>> Есть требование, по которому бизнес-праивла должны быть реализованы в БД.
>> Правда, с оговоркой "основная часть" :)
Так вот же оно, ключевое слово! :-))
Это целых два слова
Kirill Razuvaev>> Согласитесь, это не дело, когда в, допустим, в программе паспортизации
>> скачет порядок ячеек ТП и только потому, что переключили рубильник.
Не понял, Вы хотите еще состояние оборудования отслеживать на этом этапе?
Именно! БД управления распределительной сети. переключения из одной программы, паспортизация/редактирование структуры - из другой.
Kirill Razuvaev
>> >> Ну, или нужно сразу нормализовывать связи на этапе ввода.
>> Тогда сталкиваемся с другой проблемой, которая описана в предыдщем
>> высказывании
А если "нормализацию" фрагмента схемы проводить по факту присоединения?

Хмм.... Имеете ввиду, если производим отключение одного рубильника и включение другого, то надо будет "переориентировать" направления дуг в соответствии с изменившимся "направлением распространения тока"? Специально использовал туманную характеристику, поскольку с переменным током знаком ;)
Эту мысль надо обдумать и переварить
...
Рейтинг: 0 / 0
Сети. Вопрос по нормализации.
    #35565682
Kirill Razuvaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>> >> А если "нормализацию" фрагмента схемы проводить по факту
>> >> присоединения?
>> Хмм.... Имеете ввиду, если производим отключение одного рубильника и
>> включение
>> другого, то надо будет "переориентировать" направления дуг в соответствии
>> с
>> изменившимся "направлением распространения тока"? Специально использовал
>> туманную характеристику, поскольку с переменным током знаком ;)
Ну, по факту отключения, думаю, ни фига делать не надо...
По включени - видимо, да. Хотя я в том посте имел ввиду, если есть две части
распределения и в первой ТП с рубильниками, а во второй - потребители, и
части не соединены друг с другом. Т.е. во второй нет источников. То нет
смысла пытаться расставлять направления в ней. Т.е. при добавлении связи -
смотрим, есть ли от чего плясать, если есть - то пляшем... Аналогично и при
включении рубильника будет.
Хотя, если хотим мониторить и отключения оборудования - стоит в отключаемых
фрагментах сбрасывать какой-то флаг. Накладные расходы при добавлении
элементов ниже будут. Т.е. если появляется связь схемы без источника с
другой схемой, в которой тоже не показан (отключен) источник, мы сразу это
увидим, без прохода по графу...


P.S. Эх.. Если б еще при отключении рубильника табличка "Работают люди"
автоматом появлялась... :-)))))))))


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Сети. Вопрос по нормализации.
    #35565725
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kirill Razuvaev Надо будет переварить. Но вопрос о "пляшущем" порядке элементов схемы остается открытым.
Kirill RazuvaevP.S. Эх.. Если б еще при отключении рубильника табличка "Работают люди"
автоматом появлялась... :-))))))))) А она появляется Т.е. не табличка и не "автоматом", а признак, что на ТП запланировано переключение или другой вид работ.
Это называется Журнал работ, но это совсем другая песня, другой модуль :)

P.S. А Вы случаем с такими задачами не сталкивались лично?
...
Рейтинг: 0 / 0
Сети. Вопрос по нормализации.
    #35565729
Kirill Razuvaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>> P.S. А Вы случаем с такими задачами не сталкивались лично?
К счастью, нет...
Знакомый электрик есть просто, коий наличие запитанных шин слюнявым пальцем
проверяет... Уже много лет... :-)))


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Сети. Вопрос по нормализации.
    #35565740
goodron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kirill Razuvaev
"источник", а от него направление легко определяется...

Легко? Это если фидер в виде дерева. (Фидер - набор элементов, которые электрически соединены друг с другом). А если в виде графа, то как вы будете определять движение тока в данной точке?

Senya_LИдея такова, что при совпадении направленности дуг с направлением движением тока можно будет избежать "зацикливания". Точнее, если это и произошло при обходе, то это само по себе уже будет означать ошибочность стуктуры.
А вот переключат рубильник и ток потечёт в другую сторону и что тогда? Будете update всего графа делать?
...
Рейтинг: 0 / 0
Сети. Вопрос по нормализации.
    #35565767
goodron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Имхо, никак нельзя описать движение тока в БД. Точнее можно, например, каким-нибудь битовым полем, но лучше этого не делать. К тому же Вам важен будет не только факт наличия тока, но и его значение. Кроме того, наличие напряжения <> наличию тока. Напряжение может быть, а вот тока может и не быть (нагрузка = 0).
...
Рейтинг: 0 / 0
Сети. Вопрос по нормализации.
    #35565784
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
goodron Senya_LИдея такова, что при совпадении направленности дуг с направлением движением тока можно будет избежать "зацикливания". Точнее, если это и произошло при обходе, то это само по себе уже будет означать ошибочность стуктуры.
А вот переключат рубильник и ток потечёт в другую сторону и что тогда? Будете update всего графа делать?Зачем же всего графа? Только то, что изменилось. Фидера, например, того же
...
Рейтинг: 0 / 0
Сети. Вопрос по нормализации.
    #35565865
goodron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Senya_LЗачем же всего графа? Только то, что изменилось. Фидера, например, того же
А этого мало?
...
Рейтинг: 0 / 0
Сети. Вопрос по нормализации.
    #35566008
goodron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Senya_L
P.S. А Вы случаем с такими задачами не сталкивались лично?
А Вы где работаете? Уж больно похоже на то, чем занимаюсь я.
Kirill Razuvaev
Знакомый электрик есть просто, коий наличие запитанных шин слюнявым пальцем
проверяет... Уже много лет... :-)))

Ха-ха :) Он резиновый?
...
Рейтинг: 0 / 0
Сети. Вопрос по нормализации.
    #35566027
Bely
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Senya_LПорядок связывания объектов вобщем-то совпадает с тем, что привычен операторам и совсем не совпадает с направлением движения тока по сети.Если так хочется хранить направление тока, то проще всего будет добавить к структуре графа еще одно поле - направление. Прямое (совпадает с направлением ребра START->FINISH) и обратное.
...
Рейтинг: 0 / 0
Сети. Вопрос по нормализации.
    #35566266
Kirill Razuvaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>>А если в виде графа, то как вы будете определять движение тока в данной
>>точке?
Ток, к счастью, в точке не течет... А течет он именно в линиях связи
графа...


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Сети. Вопрос по нормализации.
    #35566271
Kirill Razuvaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>> Ха-ха :) Он резиновый?
Не знаю. Сам не верил, пока не увидел в живую. Не удержался даже, чтоб
контрольку не включить!


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Сети. Вопрос по нормализации.
    #35566336
goodron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kirill Razuvaev
Ток, к счастью, в точке не течет... А течет он именно в линиях связи
графа...

Ну не суть...
Под точкой я имел в виду элемент электрической цепи, который может быть промоделирован дугой
...
Рейтинг: 0 / 0
Сети. Вопрос по нормализации.
    #35566345
Kirill Razuvaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>> Если так хочется хранить направление тока, то проще всего будет добавить
>> к структуре графа
>> еще одно поле - направление. Прямое (совпадает с направлением ребра
>> START->FINISH) и обратное.
Как хранить - не вопрос. Однозначно - в БД! :-))
Основной вопрос в том, как определить правильное с учетом аппаратной
коммутации и переконфигурации системы.


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Сети. Вопрос по нормализации.
    #35566356
Kirill Razuvaev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>> Ну не суть...
>> Под точкой я имел в виду элемент электрической цепи, который может быть
>> промоделирован дугой
Ну, это делтали...

>> А вот переключат рубильник и ток потечёт в другую сторону и что тогда?
>> Будете update всего графа делать?
Насколько я понимаю, в силовой энергетике крайне редко от переключения
рубильника ток в другую сторону течь начинает... :-)

Тут многое зависит от того, что человеку надо на выходе получить. Если нужна
on-line картина, какие участки запитаны, какие - нет, это - одно. Тут проще
граф апдейтить. А если - статистика сугубо, там другой подход возможен.
Анализируем "подключенность" конкретного участка к источнику тока. Тут можно
и направления не учитывать и вообще простым обходом дерева пойти...


Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Сети. Вопрос по нормализации.
    #35566434
Николай1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kirill Razuvaev
IMHO, это клиентская задача... на нем ее и решить проще! Попутно стукнув
оператора по репе... :-)

P.S. А вообще, направление движения тока - вещь спорная... :-))))


Posted via ActualForum NNTP Server 1.4

Да ладно. Уравнение Кирхгофа - и направление в кармане.
...
Рейтинг: 0 / 0
Сети. Вопрос по нормализации.
    #35566439
Николай1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Николай1 Kirill Razuvaev
IMHO, это клиентская задача... на нем ее и решить проще! Попутно стукнув
оператора по репе... :-)

P.S. А вообще, направление движения тока - вещь спорная... :-))))


Posted via ActualForum NNTP Server 1.4

Да ладно. Уравнение Кирхгофа - и направление в кармане.

В комплексных переменных, разумеется :)
...
Рейтинг: 0 / 0
Сети. Вопрос по нормализации.
    #35566492
goodron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kirill Razuvaev
Насколько я понимаю, в силовой энергетике крайне редко от переключения
рубильника ток в другую сторону течь начинает... :-)

Нет. Это вполне типичная ситуация.
...
Рейтинг: 0 / 0
Сети. Вопрос по нормализации.
    #35566495
goodron
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При любой аварии, когда включается дополнительное питание (замыкаются так называемые "нормальные разрывы"), ток как раз таки течет на участки, оставшиеся без напряжения и зачастую именно в обратном направлении.
...
Рейтинг: 0 / 0
25 сообщений из 56, страница 1 из 3
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Сети. Вопрос по нормализации.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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