求助:一个数据表的设计思路
没来 2013-06-20 12:07:30 想设计一个简单的工资核算表。表格的列应该可以通过程序控制。比如,现在使用的表格有如下列
姓名
基本工资
全勤
补贴等
如果日后有需要,我可再添加过节费、工伤补助等一些新的项目,或者去掉一些不需要的旧项目。这一切的前提是:不更改数据库结构和数据表的设计。
另外,需要有一个字段,标识该项目在核算工资时,应该进行加法操作还是减法操作。这个相对简单,一个bit字段应该可以搞定。
现有思路:
1.主表:主表Id、姓名、日期 三个字段
2.属性表:属性表Id、名称、IsPlus(True加,False减)、IsActive(True显示False隐藏)
3.明细表:明细表Id、主表Id、属性表Id、Value等几个字段
通过控制属性表的内容,基本可以实现。但....这似乎太麻烦:如果工资表中有10列(即10个属性),每次保存数据,就得先向主表添加一条数据,然后在明细表中添加10条数据。发果一次发放200个人的工资,那一个月就是2000条...
另外,还一个问题是,如果想通过数据库的数据生成一个通常意义上的表格,敲代码也是一大麻烦。。。
请大牛指点一二,可以如何设计更高效。谢谢!