老树开新花,工资系统用纵表还是横表的老问题,力求完美!希望最美:) ( 积分: 200 )

  • 主题发起人 主题发起人 hunyuan
  • 开始时间 开始时间
H

hunyuan

Unregistered / Unconfirmed
GUEST, unregistred user!
一、数据库设计

1、横表方案
财务部门要求工资系统设计灵活,扩展方便。原来的工资系统,是最传统的固定结构设计,如果添加新的工资或奖金条目,需要增加数据项,改程序。

现在重新进行数据库设计,准备改成如下结构:
'tbl_pay 表用于存放工资资料,有很多类似 FLD1 FLD2 FLD3 ... 这样的货币型字段
'tbl_formula 表用于存放计算公式
tbl_formula 表有几个字段
FieldName 字段用于存放 tbl_pay 中有的字段名
formula 字段用于存放公式,类似 FLD1*FLD2+FLD3 这样的公式,前面不要放 "=" 符号
CanPrint 字段用于标识是否允许打印

不知这样设计会有什么问题,'tbl_pay 表中FLD1这样的字段不在建表时建立,而应该在增加工资条目时再动态增加,这样合理不?

2、竖表(用交叉表方式)
如:
项目ID 项目名称 标识 计算公式
001 实发工资 +- 应发工资-应扣工资
002 应发工资 ++ 基本工资+奖金+.....
003 应扣工资 -- 扣保险金+扣房租+....
004 基本工资 +
005 奖金 +

如下工号为0001的某年,某月工资信息
年 月 工号 项目ID 金额
2003 01 0001 004 $$$$
2003 01 0001 005 $$$$

这样做,编程工作量要大很多吧,值得不?

感觉这样是最接近完美的,对吗?

另外工资系统开发了这么多年,有没有更完美的方案?我们在大型国企中应用。

二、开发工具、系统结构选择

我们企业内部已经实现全部百兆光纤组成的局域网,基层单位在100个左右,C/S结构安全性好,发布、维护困难,B/S结构发布容易,安全性稍差,不知如何选择了。
我熟悉的开发工具有Delphi和ASP.net,主管建议我用C#做C/S结构的系统,不知.net在C/S结构上有什么优势吗?值得我去学习吗?

祝每位回帖的朋友好运!
 
一、数据库设计

1、横表方案
财务部门要求工资系统设计灵活,扩展方便。原来的工资系统,是最传统的固定结构设计,如果添加新的工资或奖金条目,需要增加数据项,改程序。

现在重新进行数据库设计,准备改成如下结构:
'tbl_pay 表用于存放工资资料,有很多类似 FLD1 FLD2 FLD3 ... 这样的货币型字段
'tbl_formula 表用于存放计算公式
tbl_formula 表有几个字段
FieldName 字段用于存放 tbl_pay 中有的字段名
formula 字段用于存放公式,类似 FLD1*FLD2+FLD3 这样的公式,前面不要放 "=" 符号
CanPrint 字段用于标识是否允许打印

不知这样设计会有什么问题,'tbl_pay 表中FLD1这样的字段不在建表时建立,而应该在增加工资条目时再动态增加,这样合理不?

2、竖表(用交叉表方式)
如:
项目ID 项目名称 标识 计算公式
001 实发工资 +- 应发工资-应扣工资
002 应发工资 ++ 基本工资+奖金+.....
003 应扣工资 -- 扣保险金+扣房租+....
004 基本工资 +
005 奖金 +

如下工号为0001的某年,某月工资信息
年 月 工号 项目ID 金额
2003 01 0001 004 $$$$
2003 01 0001 005 $$$$

这样做,编程工作量要大很多吧,值得不?

感觉这样是最接近完美的,对吗?

另外工资系统开发了这么多年,有没有更完美的方案?我们在大型国企中应用。

二、开发工具、系统结构选择

我们企业内部已经实现全部百兆光纤组成的局域网,基层单位在100个左右,C/S结构安全性好,发布、维护困难,B/S结构发布容易,安全性稍差,不知如何选择了。
我熟悉的开发工具有Delphi和ASP.net,主管建议我用C#做C/S结构的系统,不知.net在C/S结构上有什么优势吗?值得我去学习吗?

祝每位回帖的朋友好运!
 
你的主管有问题呀,难道非要什么语言才能解决问题吗,其实你只要用ASP.NET就可以搞定了?
 
你们主管狗屁不懂, 用C SHARP写WINFORM, 没有任何优势可言.

不过如果只是表现自己, 那另当别论, 这种垃圾,
 
大家还是讨论一下第一个问题吧
大家还是讨论一下第一个问题吧
大家还是讨论一下第一个问题吧
 
用横表吧,处理方面些,用竖表数据量大时速度会很慢。
 
观注,想学习一下,
 
我刚看了一篇文章叫《编程的艺术与技巧》里面就提到类似的这样的问题,就比方说本来对某一个问题立马想到了解决的办法,但又觉得此办法写得代码代码太多,继而转去想别的更简练的方法,这个是不可取的,因为你不是在给你自己编程,你要想到全组的利益,往往因为这个而影响了项目的进度甚至是项目的成功与否,所以我想楼主想追求完美是很好的,但是也不要在这个上面花费太多的精力。但是我也关注你的完美,横表与竖表各有利弊,那就要看你是偏向那个利更大一些了。
 
C#是趋势,
竖表用的最广泛
 
横表简单些
 
横表直观
 
這麼多個單位, 區區一個工資系統, 當然用豎表, 三層 c/s結構維護也很簡單
 
学无止境,帮顶
 
着个东西关键看你用哪个软件能顺手,
横竖查不多把
 
我的设计是:工资表设30--50个数据列(难道还不够用?),
然后再有一个结构表来设置哪一项要用,哪一项不用,(修改,增减列时跟本不用修改程序,用户就可以自己定制)
这样统计起来方便一点!

目前正在开发的第3版的工资程序,还是用那个数据结构
 
竖表
C#在C/S中效率不高
 
我有一套自主开发的薪酬管理软件,主要包括工资、奖金、纳税、银行代发等功能,工资项目、计算公式、报表格式完全由用户设置,单个项目可同时设10种算法,能够完全满足大中型企业的管理需要,有网络版和单机版。
现网格版最大客户:职工17000人,组织结构7级,基层单位2000多个,同时在线操作人数300人。
如需要可联系LiMin_Yang@263.net
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部