为了数据的安全性,用户删除的数据不可能真的在数据库中删除让它找不到吧.
我的想法是:
1.用户删除数据,实际系统中是对数据做删除标记,该数据仍然存放其原本的表中.
那么这样会不会日积月累的造成表中数据太多,影响系统性能.
2.用户删除的数据将其从原本所在的表中真正删除,这期间使用触发器,将本数据完整
复制到一个备份表中.
这样造成的问题是,如果软件中存在两种情况的删除数据:
A.某段业务流程造成执行某一步骤的时候需要删除数据(即软件系统自发的删除数据)
B.用户通过软件的"删除"功能,对于数据的删除操作
而这两种情况的数据都被触发器将数据复制到了备份的表中,这样不能够分辨出是软件系统
进行的删除还是用户自行删除的.
上面是我的想法,是不是还有更好的保证数据安全的方法.如果是采取上面的方法,如何解决
在方法后面提出的问题.
能回答的都万分感谢
建个历史库,定期移动到历史库,按月份自动创建历史库进行备份,这样就解决了数据太多,影响系统性能的问题
这样的话,报表的存储过程要根据月份判定数据库-数据表,然后再获取数据啦?
会不会在写存储过程的时候更繁琐了
@chanchaw: 写一个window服务就可以了
没事,就第一种吧,简单方便。你要相信数据库的处理能力。再说了删除的是小部分,真正多的是有用的部分。
可以定期清理标记已经被删除的数据