График видимости - PullRequest
       11

График видимости

0 голосов
/ 26 ноября 2009

Я хочу иметь простую таблицу базы данных для отслеживания запланированной видимости категории в индексе сайта. По существу, в индексе будет отображаться категория «Рождество» между Днем благодарения и Рождеством.

Пока я думаю об использовании такой таблицы,

schedule_id SMALLINT,

start_date TIMESTAMP,

end_date TIMESTAMP,

category_id SMALLINT,

annual BOOL

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

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

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

Я на правильном пути?

Есть ли лучший способ сделать это?

1 Ответ

1 голос
/ 27 ноября 2009

Если вы добавите один год, а не, скажем, 365 дней, вам не придется беспокоиться о проблеме високосного года.

 ADDDATE( date, INTERVAL 1 YEAR )

Если добавить 1 год к дате високосного дня, вы получите 28 февраля следующего года

2008-02-29 -> 2009-02-28

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

В последнем предложении вместо поля annual имеется пустое поле для указания периодичности: еженедельно, ежемесячно и т. Д., Что снова дает более гибкую модель расписания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...