半静态数据设计问题

时间:2011-04-22 17:07:51

标签: django database-design django-models application-design

我正在设计一个将在Django开发的项目,我有一个设计哲学问题。在我的应用程序中,我需要跟踪当前周的信息。这与NFL中的当前周(1-17)有关,并且可以基于系统中的其他模型(例如,时间表和当前日期)来计算。由于这些信息每周更新一次,并且会在应用程序中经常使用,将这些信息存储在自己的模型(db表)中并且每周运行更新是否有意义?
还有其他信息也可能对存储有用(本周第一场和最后一场比赛的日期/时间),所以即使可以计算数据,“当前周信息”等模型也适合这样做。在飞行中?

1 个答案:

答案 0 :(得分:1)

  

会有类似的模型   “当前周信息”是   适合这个,即使是   数据可以动态计算吗?

可能是。您可以计算复活节的日期,但很少有应用程序这样做。计算远非简单,任何错误都必须被视为错误修复。但是,如果您将复活节日期存储在表格中,任何可以更新日历数据的人都可以修复任何错误。

计算美国假期很简单,如马丁路德金日(1月3日星期一观察),总统日(2月3日星期一观察)和劳动节(9月1日星期一观察)。计算工厂生产周也非常容易,这在某些方面与您的问题相似。

但是,当我为企业构建用于调度,估算,流程控制等的表时,我希望将对业务很重要的日期 - 例如假期 - 存储在表中而不是在程序(计算)代码中。主要优点是可以由相对不熟练的员工收集,审查,批准或纠正,而不需要程序员。

所以,如果我在你的鞋子里,我可能会把这几周存放在一张桌子里。第二个优势(或者可能是主要优势,在您的情况下)是大多数涉及周的查询可能会利用开始和结束日期的索引。