mysql状态表 历史记录设计表_常见数据库设计(2)——历史数据问题之单记录变更...

本文探讨了在数据库设计中处理历史记录的方法,包括单记录变更的情况。介绍了两种单记录变更的处理方式:一种是将历史记录存储在同一张表中,通过版本号区分;另一种是使用主表和子表,主表存储当前记录,子表存储历史记录。文章还提到了储存未来历史记录的需求,并以商品价格表为例,说明了如何设计以适应未来价格变更的需要。
摘要由CSDN通过智能技术生成

在各种应用软件中,客户总是希望看到自己操作关键业务的历史数据(更或者是将来的历史数据,如本年计划明年的商品价格),并且要跟踪变化来源于哪一个版本。历史记录,如果我们按某次修改时,需要新增的记录条件的角度来看,如果只需要新增一条记录(如商品价格的变动,一次只变动),我们称之为单记录变更;如果我们需要新增一条记录,并且还需要在不同的表中新增对应的详细记录并且是一对多的关系时(如报价时,我们需要储存报价流水和报价物品清单列表),我们称之为多记录变更。

一,单记录变更、无储存未来历史记录的需求,储存于单表中

付款计划 PayPlan

字段名          类型          是否可空    中文名       描述

id                char(36)    no           guid

...其它属性...

num            int            no           版本号       在某个项目中递增

is_use         int            no           是否启用     默认0否,1是

use_date     datetime   yes

ischeck        int             no          是否确认     默认0未确认,1确认

checker       char(36)    yes          确认人

check_date  datetime    yes          确认日期

说明:用户添加一条数据,未确认时,可以修改、删除。但是当用户确认时(当项目使用工作流时,也可以用

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值