вопрос разработки полустатических данных - PullRequest
1 голос
/ 22 апреля 2011

Я разрабатываю проект, который будет разрабатываться в Джанго, и у меня возник вопрос по философии дизайна. В моем приложении мне нужно отслеживать информацию, как на текущей неделе. Это относится к текущей неделе в НФЛ (1-17) и может быть рассчитано на основе других моделей в системе (например, расписание и текущий день). Поскольку эта информация обновляется один раз в неделю и будет часто использоваться в приложении, имеет ли смысл хранить эту информацию в собственной модели (таблица БД) и просто запускать обновление еженедельно?
Есть и другая информация, которая также может быть полезна для хранения (дата / время первой и последней игр текущей недели), поэтому для этого подойдет модель чего-то вроде «информации о текущих неделях», даже если данные можно рассчитать на лету?

1 Ответ

1 голос
/ 22 апреля 2011

Подойдет ли для этого модель типа «информация о текущих неделях», даже если данные могут быть рассчитаны на лету?

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

Очень просто рассчитать праздничные дни в США, например, День Мартина Лютера Кинга (отмечается в 3-й понедельник января),День Президента (отмечается в 3-й понедельник февраля) и День труда (отмечается в 1-й понедельник сентября).Также довольно легко рассчитать недели производства, которые в некоторой степени соответствуют вашей проблеме.

Но когда я создаю таблицы для предприятий, которые можно использовать для планирования, оценки, управления процессами и т. Д., Я бы хотел, чтобы даты, важные для бизнеса - например, праздничные дни, - сохранялись.в таблице, а не в процедурном (расчетном) коде.Основным преимуществом является то, что они могут быть собраны, проверены и одобрены или исправлены относительно неквалифицированными сотрудниками вместо необходимости в программировании.

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

...