由于是数据库关联的问题,如要保留此人原先的数据,那么这个人的信息就不能删除了
这样就会出现一个问题,在录入数据的时候,这个离职的人就一直会存在举个例子,由于人员太多,用人员编码来录入不方便(人太多了,录入的人记不住)要录入关于人员的信息时候采用是把数据按部门填入到下拉列表了,让录入的人来选择,问题就在这里,如果这个人离开了企业,但是他的个人信息还在数据库,下拉列表里还会出现这个人的名字了!!!!!!我的做法是给这个人加个字段信息,离职否,如果离职了,就不把此人的信息填入到下拉列表了,不知道大家都是用什么方法来解决的,大家说说哈还有一个问题,一般都把人员的id做为主关键字和外关键字,这样如果这个id被某个人用了,就不能被其他人用了,比如001,现在我想把001给新来的人用怎么办呢???
我的做法用级连更新,把原先人的id改成另外一个,比如999,然后把001给新来的人用,不知道大家用什么办法,大家都讨论一下,呵呵

解决方案 »

  1.   

    一般员工列表有个离职时间(dimissionTime),如select * from employeeList where dimissionTime is not NULL
      

  2.   

    关于人员的离职通常是加标识,不过不知道大家有没碰到过同一个人离职一段时间后又复职的?偶们现在就有碰到,当然如果人员也按产品一样进行异动管理,那就不存在这个问题了.关于人员的ID问题,其实关键是看如何去管理了,通常偶们的做法是人员的ID是一个统一性的唯一性的,并且贯穿全系统的,包括操作员等,如果也象楼主所说的那样子去让一个新人用一个原来已经在使用的ID然后再更新所有的ID的话,那么整个系统不乱套才怪^_^
      

  3.   

    关于人员的离职加标识,是可行的。人员ID,这里要区分。一个是人员id(一般设成数值型),一个是人员编码(可设为字符串)
    人员id(主键)系统维护,不给客户看的(界面上根本不显示)。表关联时都用这个id.
    你所指的人员id其实应该是人员编码。
      

  4.   

    你可以专门做一个离职人员的信息表,将离职的人员信息存里面。我作了一个小的图书管理就是这么做的。还有ID号你可以根据年份(比如05年来的就是05XXXX,04年的就是04XXX)来给人员分配ID嘛
      

  5.   

    同意:unsigned(僵哥(当程序语言成为普及的第三语言之后……)) 
    加个标记字段,每条员工纪录都应该有一个唯一的id(关键字)
      

  6.   

    第一个问题:我会在每个表都加有RecordStatus(boolean)字段(默认为True),有True表示有效的,False表示是无效的。要是离职后就把RecordStatus置为False, 复职的话就把RecordStatus置为False。第二个问题:参照 unsigned(僵哥(当程序语言成为普及的第三语言之后……)) 
      

  7.   

    Q1:要么用一个字段表示是否离职,要么把离职者写入一个如 Emp_History的表中,此问题好办
    Q2:你讲的人员ID,是否指他的工号?
      试问,中国这么多人,有没有**故后把他的身份证号码分给别人用?
      工号我认为应该是唯一的,你既然不想删除以前员工的信息,就是想保留他的人事信息,那么,工号也是人事信息的一个重要组成部份,不可以随意删除!
      至于你说的把离职人员的工号设为999,那么假设有A,B,C三人,A走了,A=999,B为001,以后B又走了,是不是也要给B作一个999?
      那么ID的唯一性何在?
      我认为,ID或工号设为字符型,可以是字母数字或它们的组合,字体宽度一点,不要说一个工厂,一个世界的人员都能对应起来!