powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как лучше хранить расписание (начало-конец) работы ТВ канала?
18 сообщений из 18, страница 1 из 1
Как лучше хранить расписание (начало-конец) работы ТВ канала?
    #35923263
junixar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет.

Есть задача: множество телевизионных каналов, для каждого нужно хранить все отрезки времени, в которые он вещает. Т.е. например в зимний сезон он работает с 06:00 до 23:30 с вс по чт и с 08:00 до 03:00 в пятницу и субботу. А летом совсем другое расписание. А в праздники - третье. А вот такого-то числа профилактика и вообще с 12 до 18 не работает канал.

А тут послание президента в прямом эфире и канал срочно изменил расписание и выключился не в 23:30, а когда закончилось послание. Никто наперёд не знал, когда это будет.

Как организовать хранение такого расписания в БД наиболее оптимально? Чтобы было удобно задавать, хранить, менять? И чтобы удобно было анализировать в работе потом и кэшировать.

Как вариант - конфигурировать поудобнее, а в БД потом хранить все итоговые промежутки работы канала. Т.е. таблица с двумя полями - начало, конец. И для каждого дня запись. Конфигурируем красиво и удобно, потом размножаем по всем дням и правим, в случае необходимости.

Подскажите хорошие варианты.


Всем заранее спасибо.
...
Рейтинг: 0 / 0
Как лучше хранить расписание (начало-конец) работы ТВ канала?
    #35923454
Фотография proposed amendment
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
junixar

Подскажите хорошие варианты.
.

регистрировать только изменения состояний

tblChangeChanellState

ChangeStateID - PK
ChanellCode - FT к таблице каналов
ChangeDateTime - Дата и время изменения состояния
ChanellState - состояние - тип изменения "включился"/"выключился"
...
Рейтинг: 0 / 0
Как лучше хранить расписание (начало-конец) работы ТВ канала?
    #35923465
junixar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так расписание задаётся наперёд, а не просто регистрирует то, что уже случилось. Оно может быть задано на несколько месяцев вперёд.
...
Рейтинг: 0 / 0
Как лучше хранить расписание (начало-конец) работы ТВ канала?
    #35923472
Фотография proposed amendment
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
junixarТак расписание задаётся наперёд, а не просто регистрирует то, что уже случилось. Оно может быть задано на несколько месяцев вперёд.

во первых - это утверждение не делает предложенную схему неприменимой,

во вторых - требование планировать наперед противоречит условиям в первом ТЗ
(типа канал срочно поменял сетку под выступления президента или ушел на профилактику)
...
Рейтинг: 0 / 0
Как лучше хранить расписание (начало-конец) работы ТВ канала?
    #35923718
junixar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
proposed amendmentjunixarТак расписание задаётся наперёд, а не просто регистрирует то, что уже случилось. Оно может быть задано на несколько месяцев вперёд.

во первых - это утверждение не делает предложенную схему неприменимой,

во вторых - требование планировать наперед противоречит условиям в первом ТЗ
(типа канал срочно поменял сетку под выступления президента или ушел на профилактику)

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

А как продлить ранее запланированную работу? Сделать ещё одну запись после окончания работы о возобновлении и потом снова об окончании?

Условия не противоречивые: есть планирование вперёд, есть возможность и в последний момент изменить время работы.
...
Рейтинг: 0 / 0
Как лучше хранить расписание (начало-конец) работы ТВ канала?
    #35923731
Фотография proposed amendment
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
junixarА как продлить ранее запланированную работу? Сделать ещё одну запись после окончания работы.

за стыдливым оксюмороном "продлить ранее запланированную работу" скрывается не самая тривиальная задача работы с расписанием...

если это курсовик - перечтите внимательнее методичку и посоветуйтесь с преподом.
...
Рейтинг: 0 / 0
Как лучше хранить расписание (начало-конец) работы ТВ канала?
    #35923764
Фотография proposed amendment
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
junixarСделать ещё одну запись после окончания работы о возобновлении и потом снова об окончании?

не совсем - тут есть свои тонкости при работе с интервалами.
но именно работая с соотояниями On|Off их будет проще обойти.
...
Рейтинг: 0 / 0
Как лучше хранить расписание (начало-конец) работы ТВ канала?
    #35923952
junixar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не очень понимаю, почему общение идёт в духе провинившийся ученик против всезнающего профессора. Если нет желания подсказать - не надо.

Это не курсовик, а реальный проект. Подсказки в духе - "не совсем так, там есть свои тонкости..." (которые я полагаю надо искать в вашей методичке, профессор) - мало полезны. Спасибо за старание, господин профессор.
...
Рейтинг: 0 / 0
Как лучше хранить расписание (начало-конец) работы ТВ канала?
    #35924047
Michael_N
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
junixarНе очень понимаю, почему общение идёт в духе провинившийся ученик против всезнающего профессора. Если нет желания подсказать - не надо.

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

Отвечу за профессора. :-)
Вы хотите, чтобы за Вас сделали всю работу. Хочу, чтобы все было за.. хорошо! Тогда платите! Сколько Вы готовы предложить?
Хотите, чтобы Вам помогли - выложите свой вариант, получите конструктивную критику. Или задайте конкретный вопрос.

ЗЫ Сорри за офф. :-)

ЗЗЫ Не офф. Погуглите "расписание".
...
Рейтинг: 0 / 0
Как лучше хранить расписание (начало-конец) работы ТВ канала?
    #35924161
junixar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, конечно. Пока вижу такой вариант:

изначально пользователь задаёт расписание в следующем мастере:

период работы канала по данному расписанию - время и дата начала периода - время и дата окончания периода;

точное время работы канала на каждый день недели в этой периоде. Если время работы в каждый день одно и тоже, то интерфейс предусматривает возможность указать это и задать время один раз, без copy/paste на 7 дней;

кроме того предусмотрена возможность указать, что канал круглосуточный и не задавать никаких времён;

далее, пользователь может явно задать промежутки, в которые канал не работает, типа профилактики.

Всё, после этого пользователь нажимает ОК и в БД всё сохраняется в следующем виде:

родительская таблица канал, у неё дочерняя таблица - расписание, в которой хранится отрезок времени, в который будет действовать данное расписание с указанием типа - круглосуточный, ежедневный и т.п. И таблица, дочерняя для канала, в которой явно забиты все промежутки работы канала. Если канал круглосуточный - то один промежуток, на весь период действия расписания, если дневной, то промежутки на каждый день. Промежутки не должны пересекаться.

Всё. В работе определение того, работает канал или нет - делается через единственную третью таблицу. Если нужно изменить в последний момент расписание на день, продлив работу канала, то изменяется только одна запись. Если нужно добавить перерыв в вещание - то добавляется одна запись и одна запись меняется.

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

Буду благодарен за критику и советы.
...
Рейтинг: 0 / 0
Как лучше хранить расписание (начало-конец) работы ТВ канала?
    #35924497
Фотография proposed amendment
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
junixarБуду благодарен за критику и советы.

коллега, я никак не хотел демонстрировать модель дискуссии ученик-профессор. уверяю. касательно вашей задачи, совет мой будет таков.

не начинайте работу над этим проектом в части физической реализации до тех пор пока не поймете точно и ясно математические и логические алгоритмы работы с интервалами...

обратите внимание на пример на картинке внизу - дано четыре графика
(графики условные и телетрансляции не относятся - вообще-то это частотный выход микроконтроллера)

Однако предположим что

нижний это сутки - интервал между срезами 12 часов
второй снизу это прайм-там – интервал 4 часа, приходящийся на самое «лучшее время»
второй сверху это сетка рекламных блоков – регулярно в течение суток
верхний это сетка сериала «моя прекрасная няня»

попробуйте описать математическую (логическую) модель,

которая изменит сетку вещания и поставит в сетку детскую передачу так, чтобы:

Код: plaintext
1.
2.
3.
не попадать в прайм-тайм, - в это время слишком дорого крутить мультики
не уменьшить количество рекламных блоков в прайм-тайме 
дать зрителю посмотреть «няню» не прерывая ее рекламой слишком часто
не прерывать детскую передачу рекламными блоками (запрещается)

работа с интервалами и диапазонами требует другой степени понимания, чем вы продемонстрировали...

ну а уж когда разберетесь с моделью – тогда и приступайте к ее реализации на уровне с которгого вы сейчас начали:

junixar
изначально пользователь задаёт расписание в следующем мастере:


сейчас вы просто тратите время впустую и задаете слишком общие вопросы на которые либо невозможно точно ответить либо слишком долго придется объяснять.
...
Рейтинг: 0 / 0
Как лучше хранить расписание (начало-конец) работы ТВ канала?
    #35924831
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> когда разберетесь с моделью

В данном случае модель будет определяться областью применения базы данных. Если нужно верстать ТВ-программу - это один вариант реализации, если мониторить рекламу - другой, если планировать сетку вещания - третий и т. д. Причем, в любом случае интервалы абсолютно естественны, важны их границы, группировка и классификация.
...
Рейтинг: 0 / 0
Как лучше хранить расписание (начало-конец) работы ТВ канала?
    #35925012
junixar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем спасибо большое за ответы.

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

Может конечно я не правильно понимаю, но вроде в таком случае задача упрощается.

Ещё вариант, который мне предложили: конфигурировать периоды невещания канала по дням недели и более приоритетные периоды невещания, которые могут быть в праздники, при профилактике и т.п.

Заранее огромное всем спасибо.
...
Рейтинг: 0 / 0
Как лучше хранить расписание (начало-конец) работы ТВ канала?
    #35925036
Фотография proposed amendment
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
junixar
Может конечно я не правильно понимаю, но вроде в таком случае задача упрощается.


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

в общем случае ваша задача легко ложится в MS Project - диаграмма Ганнта, попробуйте.
чего велосипеды-то изобретать.

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

Для какой цели тогда Вы упоминали об изменении сетки вещания? Передатчику как бы фиолетово, что транслировать. ;)

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

Почему я сказал об области применения: Вы вряд ли получите, скажем, график тех же профилактических работ, если не имеете отношения к каналу или техническим службам.
...
Рейтинг: 0 / 0
Как лучше хранить расписание (начало-конец) работы ТВ канала?
    #35925070
Фотография proposed amendment
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621В данном случае модель будет определяться областью применения базы данных.

если под областью применения подразумевается (по логике фразы with OR)

верстать
мониторить
планировать

то это не совсем область применения - наверняка в большинстве областей применения приходится делать все перечисленное одновременно (with AND)
...
Рейтинг: 0 / 0
Как лучше хранить расписание (начало-конец) работы ТВ канала?
    #35925096
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> если под областью применения

Меня не нужно поправлять. Нужно стараться понять, почему я сформулировал проблему так, а не иначе. Подумав, Вы придете к аналогичному выводу.
...
Рейтинг: 0 / 0
Как лучше хранить расписание (начало-конец) работы ТВ канала?
    #35925414
Фотография proposed amendment
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
guest_20040621Меня не нужно поправлять.

я и не поправлял - я сделал ремарку, причем выделил ее серым...

не нужно взбракивать попусту.

я пришел к выводу, что проблему вы сфорулировали таким образом потому,
что вам просто захотелось ее так сформулировать... угадал?
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Как лучше хранить расписание (начало-конец) работы ТВ канала?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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