Вопрос скорее комплексный. Как лучше в реляционной БД хранить расписание какого-либо повторяющегося события (например по каким-то дням недели или месяца и тд.) с возможность убрать событие в конкретный период или момент времени.
Это могут быть платежи, напоминания или возьмем для наглядного пример расписание тренировок.
Есть тренер, он создал расписание тренировок, например во вторник, четверг и субботу. И вот это расписание "отмасштабировалось" на его календаре. Но в новогодние праздники тренер не работает, и c 1.01 по 10.01 расписание должно быть пустым.