发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 CQRS 扩展性 并发编程 事件溯源 分布式 SOA

关于数据日志的设计方案

2006-01-18 18:31
赞助商链接

在项目中经常碰到需要对客户户的数据变更进行跟踪或监控的需求,如客户信息管理模块中:
客户信息:
姓名:张三
地址:北京海淀区中关村XXX
电话:66666666
1月2日 地址被修改为:北京朝阳区国贸大厦xxx
5月1日 电话变更为:88888888

客户希望能够提供对其系统数据的历史情况进行查询,应该如何进行设计?

2006-01-19 08:27

如果你的客户的数据是一个独立的表,假如是user
那么你可以考虑多加一个历史记录表,分别记录变更前后的客户的数据,假如是history_user,
在history_user你可以记录变更的情况,以及变更的人,时间等等,方便以后查询

2006-01-19 09:36

我觉得可以设计一个HISTORY表,用来记录所有操作历史,记录的地方在每个组件中的add(),update(),delete()等方法中。其实我觉得用Log记也很方便。

2006-01-19 10:19

如果是单数据修改,记录日志的问题不大,如果进行批量操作时,如何设计实现,如:
update Custom set custom_status=3 where (select custom_id from
custom_buy where sum(buy_money)>=1000)
需要对所有被更新的客户进行日志记录。

类似这样的应用,如何进行通用数据日志设计?

2006-01-19 12:46

这个跟单数据没有关系吧
既然你你能修改到,同样也可以把抓出来再塞到历史表中

条件和你update的一样的
比如是:
insert into history(custom_id,custom_status,phone,previous_phone)
select custom_id,custom_status,(新的电话),phone(旧的电话) from
custom_buy
where custom_id in(select custom_id from
custom_buy where sum(buy_money)>=1000)

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系反馈 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com