本帖最后由 nsc117 于 2021-3-1 17:53 编辑
设计一个具备普遍性的薪资管理系统,工资条的构成如上图所示。
目前的数据库设计如下:
数据库表:
员工字典表
部门字典表
绩效表
考勤表
*基本工资表
*岗位工资表(视图)
*工龄工资表(视图)
*绩效工资表(视图)
*考勤奖励表(视图)
*其他补助表
*养老保险表(视图)
*医疗保险表(视图)
*失业保险表(视图)
*工伤保险表(视图)
*公积金表(视图)
*工会经费表(视图)
*扣税表(视图)
目前的思路是,通过视图把上述标*的表(视图)join left,但需要join十几张表,听起来就感觉在走弯路,感觉此方法/思路不太好,有更好的办法吗?
为什么不把工资项目放在一个表里?
1.因为工资项目会随时增减,不可能每次增减项目都去增减字段;
2.这些工资项目的数值是需要其他表计算出来的,比如考勤、工龄等;
3.不同的工资项目由不同的部门汇总并上报,比如行政部负责核算考勤、业务部负责核算绩效等;
4.工资项目放在一个表里,就只能录入数据,而不能通过其他条件计算数据,就跟excel模式没什么区别了。
希望各位大佬不吝分享思路,让有相同需求的伙伴们少走弯路,谢谢!~
|