我正在研究的项目逐年跟踪数据。用户将登录系统并指定它想要访问数据的年份。例如,用户可以指定2004年,而.jsp页面将显示2004年的数据。
我的问题是从2013年开始,一个.jsp页面的数据会有所不同,并且需要修改当前的数据库表模式,但需要保持2012年和之前几年的向后兼容性。
目前(2012年及之前),相关数据库表格显示两列,“继续学生”和由单个.jsp显示的“新开始”。对于2013年及以后,需要显示4列。最初的两个专栏分为两个子类别,分别是本科和研究生。所以我不能简单地将这些新列添加到现有表中,因为这会违反第三范式。
您认为管理这种情况的最佳方法是什么?如何显示新数据,同时仍保持向后兼容性以显示较旧年份的数据?
答案 0 :(得分:1)
一些选项:
要真正考虑的一件事是旧数据现在处于非活动状态。如果你不再写信,它只是可以在心理上“存档”的历史数据。在这种情况下,我认为可以冻结架构和数据,让它自己生存。
还要考虑您的客户是否可能再次更改架构。如果是这样,那么也许(1)是最好的。