2011-04-22 17 views
1

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

回答

1

会的类似 “当前周的信息”的典范是这个 合适,即使 数据可以实时计算?

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

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

但是,当我建立企业用于排程,估算,过程控制等的表格时,我喜欢将对业务重要的日期(例如假期)存储在表而不是程序(计算)代码。主要优势在于可以由相对不熟练的员工收集,审阅和批准或更正这些问题,而不需要程序员。所以,如果我在你的鞋子里,我可能会把这几周存放在一张桌子里。次要优势(或者对您来说可能是主要优势)是大多数涉及周的查询可能会利用开始和结束日期的索引。

+0

您提出了一个很好的关于计算数据的潜在错误,以及难以修复存储在表中的数据和修复数据的问题。谢谢回复! – user417918 2011-04-22 21:21:00