我需要开发一个允许公司预测财务状况的网络应用程序。
该应用程序有不同的屏幕,一个用于定义员工工资,另一个用于销售预测等。 基本上将Excel财务预测模型转换为应用程序。
问题是,设计数据库的最佳方法是什么,以便快速生成财务报告(例如损益表或资产负债表)?
答案 0 :(得分:1)
我认为最好将每个月的预测存储在自己的行中,如表所示
month forecast
----- --------
1 30000
2 31000
3 28000
... ...
60 52000
然后,您可以使用汇总功能来计算预测报告,贴现现金流等(如果您想要仅4年的非折扣总额):
SELECT SUM(forecast) from FORECASTS where month=>1 and month<=48
对于薪资开支,我认为拥有一个即时进行计算的视图(或者如果你的数据库引擎支持“物化视图”应该具有足够的性能,除非我们谈论的是一些庞大的员工或真的很慢的DB。
可能有薪资历史表,当员工数据更改/工资核算运行时,该触发器会填充
employeeId month Salary
---------- ----- ------
1 1 4000
2 1 3000
3 1 5000
1 2 4100
2 2 3100
3 2 4800
... ... ...
然后,您可以执行SUM或其他聚合函数来获取报告的数据。