QUOTE:
原帖由
trigger_lau 于 2008-2-28 00:41 发表
我认为可以使用第一种,然后查询时使用动态的生成列。
单独建立表存储不同的类型,可以设置不同的类型的浏览权限。
恩, 先明确一哈两种方式
第一种
姓名*, 款项*, 工资额
第二种
姓名*, 基础工资, 职务工资, 工龄工资,。。。
第一种方式和我们见过的工资单很不相同, 很多要求都木有明确, 因此 在前期设计阶段无法确定设计方案是否和需求相符. 只有等到项目实施阶段, 把工资的各个款项都写进DB, 才能够根据运行结果作出判断, 这种方式提高了抽象的层次, 赋予了系统很大的可扩张性, 但同时却牺牲了设计方案的可分析性. 这个牺牲的直接后果, 就是把本来可以提前测试的功能点, 推迟到系统测试之后, 既加大了系统测试的压力, 也大大增加了项目在最后阶段出现重大BUG的可能性, 提高了开发实施的风险. 如果是为少数企业做定制开发, 这种设计弊大于利. 但是, 如果是做用于二次开发的管理模块, 比如说做SAP的ERP模块, 这个方案还是有可取之处的.
另外, 可为第二种方案预设一定数量的保留字段, 以便将来增减款项时使用. 比如说, 使用以下方式
工资表
姓名*, 基础工资, 职务工资, 工龄工资,。。。,预备款项1,预备款项2,预备款项3。。。
如果所有员工的工资构成都相同则可以这么做
工资构成表(仅一条记录, 使用注册表或者INI文件也可以)
基础工资标志, 职务工资标志, 工龄工资标志,。。。,预备款项1标志,预备款项2标志,预备款项3标志。。。
如果每个员工的工资构成都不同, 则这么做
工资构成表(也可以考虑和工资表合并)
姓名*, 基础工资标志, 职务工资标志, 工龄工资标志,。。。,预备款项1标志,预备款项2标志,预备款项3标志。。。
[
本帖最后由 lodge 于 2008-2-28 06:36 编辑 ]