找回密码
 立即注册

QQ登录

只需一步,快速开始

nsc117

中级会员

9

主题

155

帖子

520

积分

中级会员

积分
520
nsc117
中级会员   /  发表于:2021-3-1 17:51  /   查看:14412  /  回复:29
10金币
本帖最后由 nsc117 于 2021-3-1 17:53 编辑


设计一个具备普遍性的薪资管理系统,工资条的构成如上图所示。
目前的数据库设计如下:
数据库表:
员工字典表
部门字典表
绩效表
考勤表
*基本工资表
*岗位工资表(视图)
*工龄工资表(视图)
*绩效工资表(视图)
*考勤奖励表(视图)
*其他补助表
*养老保险表(视图)
*医疗保险表(视图)
*失业保险表(视图)
*工伤保险表(视图)
*公积金表(视图)
*工会经费表(视图)
*扣税表(视图)


目前的思路是,通过视图把上述标*的表(视图)join left,但需要join十几张表,听起来就感觉在走弯路,感觉此方法/思路不太好,有更好的办法吗?

为什么不把工资项目放在一个表里?
1.因为工资项目会随时增减,不可能每次增减项目都去增减字段;
2.这些工资项目的数值是需要其他表计算出来的,比如考勤、工龄等;
3.不同的工资项目由不同的部门汇总并上报,比如行政部负责核算考勤、业务部负责核算绩效等;
4.工资项目放在一个表里,就只能录入数据,而不能通过其他条件计算数据,就跟excel模式没什么区别了。

希望各位大佬不吝分享思路,让有相同需求的伙伴们少走弯路,谢谢!~





附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

做了个粗略的 你拿去试着改一改 如果用SQL库会更加方便,SQLITE写视图比较局限。

29 个回复

倒序浏览
最佳答案
最佳答案
cg6207悬赏达人认证 活字格认证
金牌服务用户   /  发表于:2021-3-1 17:51:27
来自 22#

做了个粗略的
你拿去试着改一改
如果用SQL库会更加方便,SQLITE写视图比较局限。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Lucas.Su讲师达人认证 悬赏达人认证 活字格认证
葡萄城公司职员   /  发表于:2021-3-2 09:00:26
3#
您好,
看您的需求,更多的是数据库表结构的设计,
推荐您在论坛的项目需求板块发帖,
在这里您可以将您的具体需求做个详细描述,
这样有过类似经验的格友看到后就会与您沟通联系哈

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
nsc117
中级会员   /  发表于:2021-3-2 16:45:03
4#
顶上来让更多的人看到,欢迎各位发表高见~
回复 使用道具 举报
Timothy.Xu讲师达人认证 悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-3-2 17:29:03
5#
nsc117 发表于 2021-3-2 16:45
顶上来让更多的人看到,欢迎各位发表高见~

您是否在项目需求板块发贴了呢?如果没有的话,我们可以为您移动帖子至项目需求板块~
回复 使用道具 举报
Joe.xu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2021-3-2 17:37:27
6#
您好,理解您的需求是要根据现在有的表数据,连接成一个视图,
编写一个好的视图不仅对sql语句有高的要求,也要有合理的数据库表设计。
您可以按上面大佬说的那样在需求版本描述一下您的需求,
这样的话会有经验的大佬会专门进来看这种帖子,
可能回帮助到您哦
回复 使用道具 举报
cg6207悬赏达人认证 活字格认证
金牌服务用户   /  发表于:2021-3-2 20:46:08
7#
思路应该是这样的:
员工信息表(主表),字段就不赘述了,都是些常量
员工信息表_发放薪资表(子表),字段: 类型(基本工资、奖金等),费属周期,金额。

就这两个表足够了,然后根据工资条格式用sum,leftjoin串联起来。
注意group by 就好了
回复 使用道具 举报
nsc117
中级会员   /  发表于:2021-3-2 21:43:10
8#
Timothy.Xu 发表于 2021-3-2 17:29
您是否在项目需求板块发贴了呢?如果没有的话,我们可以为您移动帖子至项目需求板块~

我这个算是思路探讨,还算不上项目需求,觉得放在求助板块参与的人可能会多些,所以就不麻烦移到项目需求板块了,谢谢
回复 使用道具 举报
nsc117
中级会员   /  发表于:2021-3-2 21:48:26
9#
cg6207 发表于 2021-3-2 20:46
思路应该是这样的:
员工信息表(主表),字段就不赘述了,都是些常量
员工信息表_发放薪资表(子表), ...

这个思路可能有以下问题要解决:
1.比如工龄工资,是需要用当前时间-员工信息表(主表)里的入职日期得出月数乘以每月工龄而来的,再比如考勤扣罚,是需要根据考勤表里的缺勤天数乘以日薪的来的,并不能简单的使用子表的一个字段来记录。
2.这种结构的工资表,就类似于订单表和订单明细,里面的工资项目是纵向排列的,还需要通过行转列来形成工资条的那种格式。
以上是我的拙见,感谢你的经验分享,希望进一步探讨。
回复 使用道具 举报
Lucas.Su讲师达人认证 悬赏达人认证 活字格认证
葡萄城公司职员   /  发表于:2021-3-3 08:59:31
10#
欢迎各路大佬踊跃参与哈
回复 使用道具 举报
123下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部