首页 新闻 会员 周边 捐助

复杂的业务,请问该如何设计

0
悬赏园豆:100 [已解决问题] 解决于 2014-02-21 20:56

现在已知是这样需求的 :

人均收入=人数/(项目1收入+项目2收入)

人均支出=人数/(车补+饭补+工资+保险)

 

如果有一天需要算 人均休息时间 =人数/(正常休息时间+串休时间)

大体意思是 需要计算某些值。但是公式不是固定的

请问这样的实体和数据库该如何设计

详细些比较好 不胜感激

遵为的主页 遵为 | 初学一级 | 园豆:112
提问于:2014-02-20 16:49
< >
分享
最佳答案
1

需求不清楚,或者搞错了问的方向。

从你的问题上来看,这事情跟实体或者数据库完全没有什么关系的。

如果公式已知,或者不是经常性变动,这个可能在代码中实现。

如果公式需要在用户界面给最终用户调整,则需要设计一个公式计算器,

让用户可以在公式设计器中设计公式,最终还是需要你的代码将公式解析后进行计算。

不明白跟实体或是数据库有什么关系?

 

如果你自己都没有办法详细解说清楚自己的需求,怎么能够希望别人详细解答呢?

收获园豆:60
爱编程的大叔 | 高人七级 |园豆:30844 | 2014-02-20 17:08

确实表达的不好。就是您理解的意思。能在公式设计器方面给提供些思路吗 非常感谢

遵为 | 园豆:112 (初学一级) | 2014-02-21 21:01
其他回答(2)
1

不太清楚意思!

公式可以记录保存下来,计算什么就引用公式!

收获园豆:10
longwu.vip | 园豆:212 (菜鸟二级) | 2014-02-20 18:12

 不好意思 分有点少了。

支持(0) 反对(0) 遵为 | 园豆:112 (初学一级) | 2014-02-21 21:02
0

主表(Project)
Id CategoryCode SubCategoryCode ProjectName
1 01 0101 项目1收入
2 01 0102 项目2收入
3 02 0201 车补
4 02 0202 饭补
5 02 0203 工资
6 02 0204 保险
7 03 0301 正常休息时间
8 03 0302 串休时间
.......(需要新增的项可以随时往这个表里加)


子表 (ProjectDetail)
ItemId CategoryCode Amount
1 0101 500.00
2 0102 200.00
3 0201 400.00

计算01(人均收入)的公式

Total收入 = select SUM(Amount) FROM ProjectDetail WHERE CategoryCode LIKE '01%'

人均收入 = 人数/Total收入

收获园豆:30
johden2 | 园豆:352 (菜鸟二级) | 2014-02-21 10:53

谢谢多提供一种思路,不过Project 之间不一定是求和 。还是前面2位说的自定义公式比较贴切,多给些辛苦分

支持(0) 反对(0) 遵为 | 园豆:112 (初学一级) | 2014-02-21 21:05
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册