很长时间没想好的一个人力资源系统的设计思路问题,大家进来讨论一下,谢谢。
最近做一个人力资源管理系统,遇到这样一个问题。
这个系统中要有每位员工的基本信息,我放在一个表中,比如表名为:ygbase[意思是员工基本信息表],字段有:编号,姓名,所属部门,身份证号,性别,基本工资,等信息,有50多个字段,
问题是,我们单位人员变动比较多,每个月的员工基本情况都不同。比如下列几种情况:
1。张三这个月在工程部,下个月有可能就去财务部了。[所以部门信息要变]
2。李四这个月在职,下个月有可能就离职了,去别的单位了。[所有人员就要删除,导致员工数量总在变]
3。王三这个月基本工资是1000,下个月有可能就变成2000了。
等等情况,造成每个月的信息不一样,员工总数也不一样,我原来的思路是,基本信息表ygbase中只保存最新的信息。但是这样不好,比如想查询张三前两个月的信息就查不到了。
而且做工资的时,也要从这个表取信息。由于是下发薪,这个月做的是下个月的工资。也会有一些问题,比如张三8月份在工程部,9月份去财务部,这个系统有很多功能,可是有的功能要用到张三8月份的信息。[前提是当前就是8月],可是有些功能就要用到张三9月份的信息。比如做工资。8月份要做9月份的工资。所以要用到张三9月份的信息。[对张三而言,这两个月的部门信息是不同的。]所以想请教大家一个思路,这种情况是不是基本档案要按月设置呀。即一个月一份员工基本档案,也就是说在ygbase表中增加一个"月份"字段。大家在工作中都是如何处理的。比较好的mis系统又是如何做的呢?

解决方案 »

  1.   

    应该有
    员工基本情况表,即身份证号,性别,生日等不变的
    部门表 这里面可能有层次关系 
    工资发放表
    员工部门变动表
    -------------------------------------
    员工ID 原部门ID 变动日期      现部门ID 变动原因
    1        2        2006-09-01    3        调动
    1        null     2000-08-15    2        进入公司
    1        3        2006-09-13    null     辞职