删除数据后报表出现前后两次查询不一致的问题

piercechlq 2006-11-17 11:22:08
有一个类似人员管理的系统,数据库中存储着人员名单、人员业绩、人员工资等。用户每月都要查询并打印人员的相关报表。但是存在一个人员被删除后出现的问题。
如在1月份生成报表A,在2月份人员出现变动,在数据库中删除了一些人又增加了另外一些人,此时在2月份查询1月份的数据,会发现与报表A不一致,请教大家遇到类似问题如何解决?
...全文
223 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
sgucxc0 2006-11-18
  • 打赏
  • 举报
回复
这些应该是在需求分析时就能考虑到的.
sgucxc0 2006-11-18
  • 打赏
  • 举报
回复
而的Delete操作的话,就在楼主所说那三个表.如果要查询变动的人员就先在那三个表中查,没有的话才在人员历史表搜索
sgucxc0 2006-11-18
  • 打赏
  • 举报
回复


多增加一个表,用于记录所有曾经在这家公司的信息表..(实际上,是一个用于记录历史的人员原始信息表)
这个表是不能删除数据的,也就是说,变动的人员信息要保留..



marco08 2006-11-17
  • 打赏
  • 举报
回复
關注
gc_ding 2006-11-17
  • 打赏
  • 举报
回复
将你的人员管理的系统的删除人的操作更改为:
不从数据中删除数据,只用一个字段比如Deleted表示
Deleted=0:人员未删除
Deleted=1:人员已删除
gahade 2006-11-17
  • 打赏
  • 举报
回复
结存.
每月查询打印完报表后,将查询的数据复制一份,可以转至其它表存储.这样以后对比报表时,就和结存数据进行对比.
dawugui 2006-11-17
  • 打赏
  • 举报
回复
得有个原始表,记录所有人的信息,包括离职\休假...
tmc1703 2006-11-17
  • 打赏
  • 举报
回复
考虑加删除标志(可以用辞退日期来做)。
OracleRoob 2006-11-17
  • 打赏
  • 举报
回复
另外,人员表是基础表,不应该允许被删除,可以考虑增加禁用字段。这主要是考虑到表与表之间的外键关系。
OracleRoob 2006-11-17
  • 打赏
  • 举报
回复
就像工资系统打印工资报表一样,应该考虑每个月保存一份完整的当月人员工资档案。

表结构类似:

年,月,人员编号,.....

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧