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

被折叠的 条评论
为什么被折叠?



