做一个毕业设计,人事管理系统的,表设计的是否合理解决办法

做一个毕业设计,人事管理系统的,表设计的是否合理
职工表(自编号,职工编号,职工姓名,部门名称,性别,籍贯,登录密码。。。。。)
部门信息表(自编号,部门编号,部门名称,电话,负责人)
工作经历(自编号,职工编号,开始时间,结束时间,单位,单位地址,所属部门,职位)
教育经历(自编号,职工编号,开始时间,结束时间,学校)
培训经历(自编号,职工编号,开始时间,结束时间,培训单位,培训地址,培训内容,培训费用,备注)
离职信息(自编号,职工编号,离职时间,离职原因,负责人,备注)
工资信息(自编号,职工编号,职工姓名,基本工资,奖金,所得税,公积金,医疗险,。。)
工资发放(自编号,职工编号,发放时间,其它增加项,其它应减项,结算,备注)
考勤(自编号,职工编号,C1,C2,。。。。)


------解决方案--------------------
看着很费力,搞个ER图。
------解决方案--------------------
经历表格不需要做多个 . 可以统一为一个经历表格

经历= (id,职工编号,经历类型,开始时间,结束时间,相关单位,附加信息)

多余的完全可以都填到附加信息中. 

表格可不是越多越好的.
------解决方案--------------------
①用户名和密码不要放到职工表,否则你这个系统没有权限控制。
职工表追加上入职日期、身份证号等
职工表你最好改名叫基本信息表
②用户表(用户名、密码、用户类型等)
③考勤表分开、分文出勤、请假、加班等

------解决方案--------------------
没什么问题
我认为合理
------解决方案--------------------
对于一个学生,“合理不合理”这不重要,重要地是你是注重对用户的角色和行为的深度分析,还是拿着个数据库表就说事。如果对用户行为脚本分析的很到位,我相信你也会很好地在将来重构,同时也可以比较早地理解敏捷开发的概念。如果是纠缠于数据库表,那么你将来的开发方式是敏捷的还是处处都死板地跟其它同事较真的,很难说。