现在已知是这样需求的 :
人均收入=人数/(项目1收入+项目2收入)
人均支出=人数/(车补+饭补+工资+保险)
如果有一天需要算 人均休息时间 =人数/(正常休息时间+串休时间)
大体意思是 需要计算某些值。但是公式不是固定的
请问这样的实体和数据库该如何设计
详细些比较好 不胜感激
需求不清楚,或者搞错了问的方向。
从你的问题上来看,这事情跟实体或者数据库完全没有什么关系的。
如果公式已知,或者不是经常性变动,这个可能在代码中实现。
如果公式需要在用户界面给最终用户调整,则需要设计一个公式计算器,
让用户可以在公式设计器中设计公式,最终还是需要你的代码将公式解析后进行计算。
不明白跟实体或是数据库有什么关系?
如果你自己都没有办法详细解说清楚自己的需求,怎么能够希望别人详细解答呢?
确实表达的不好。就是您理解的意思。能在公式设计器方面给提供些思路吗 非常感谢
不太清楚意思!
公式可以记录保存下来,计算什么就引用公式!
不好意思 分有点少了。
主表(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收入
谢谢多提供一种思路,不过Project 之间不一定是求和 。还是前面2位说的自定义公式比较贴切,多给些辛苦分