开发者社区> 问答> 正文

项目表数据结构每年都在变化,该如何设计

我有个项目表结构,每年都会变化一次,比如2017年是一个结构,2018年会变成另外一个结构,但是2017年和2018年的结构都会保存使用,因为用户需要历史查看以前的数据,我目前采用spring boot,mongodb数据库,但是在代码层的时候需要建立实体模型,如果这样的话是不是每年都要建立一个实体模型,并进行程序更新,而且程序中如何识别需要使用哪种实体模型呢,请问有没有比较好的解决方案

展开
收起
super3s1988 2018-05-12 18:21:03 2212 0
2 条回答
写回答
取消 提交回答
  • 主要从事 Java 后端开发。

    此问题可以做如下分析:
    1.表结构的改变:表结构的改变必然会导致实体模型的改变,这是无法避免的。
    2.实体模型的改变:实体模型的改变有两种方案:

    1.直接改变数据库中的原表,同时更改原来的实体模型:这种方法的弊端是,每年表字段都要增加。又因为每年的数据不一样,会导致数据库中的表字段会产生很多空数据。表的可读性和维护性大大降低。
    2.重新创建一个实体模型:数据库表具有很好的可读性和可维护性,同时产生的实体模型也具有可读性和可维护性。

    3.程序的改变:对于程序来说也有两种实现方式:

    1.所有年份用同一个接口,通过“年份”这个参数去调用每个年份的服务,也就是说每个年份要分别写一个服务去实现。
    2.每个年份写一个接口
    

    总结一下,个人建议每个年份写一个接口,避免以前写好的功能被污染。同时代码也具有更好的的可读性和的可维护性。

    2019-07-17 22:25:59
    赞同 展开评论 打赏
  • 可以考虑使用nosql

    2019-07-17 22:25:58
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
如何使用Tair增强数据结构构建丰富在线实时场景 立即下载
Apache Flink 流式应用中状态的数据结构定义升级 立即下载
为并行图数据处理提供高层抽象/语言 立即下载