数据库设计的思考

博客探讨了在数据库重构过程中如何使用视图和继承来优化查询。提到了Mybatis的with语法可以创建临时视图,避免版本更新时的不一致问题。同时,对于不同状态的数据,提出了两种处理方式:一是通过删除并插入到相应状态的表,二是使用基本记录表结合动作表记录变化。这两种方法旨在保证非空字段的一致性和数据管理的灵活性。
摘要由CSDN通过智能技术生成

1 视图

随着重构的进行,所有的表都将变成视图,那么使用视图查询就没有什么问题,而继承提供了一种不用视图的方案.

由于Mybatis的sql嵌入功能,加上with语法,那么可以不创建数据库的视图,而是使用with创建临时视图,这样在新老版本更替的时候就不会出现代码和数据库不一样的情况

2 不同状态

同一个事物的不同状态下可能有不同字段,并且一般来说达到这种状态必然会导致一些字段非空,如果有太长的流程导致有太多的字段(这样看起来似乎不合理),那么我们是否需要将不同状态的数据放入不同的表呢,这样就可以保证非空字段的一致性(各个表根据自己的含义可以知道有哪些字段,并且这些差异化的字段一般是非空的).一种方式是通过delete 原记录,然后insert到对应的表.另一种方式是形成一张基本记录表,然后每发生一个动作就在响应的动作表中记录响应的新字段,然后主键使用相同(如果这个事件只能发生一次,如果发生多次必然已经是分表了)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值