用于财务预测的数据库模式设计

时间:2012-11-01 18:47:42

标签: database database-design accounting

我需要开发一个允许公司预测财务状况的网络应用程序。

该应用程序有不同的屏幕,一个用于定义员工工资,另一个用于销售预测等。 基本上将Excel财务预测模型转换为应用程序。

问题是,设计数据库的最佳方法是什么,以便快速生成财务报告(例如损益表或资产负债表)?

  • 假设预测期为5年,您会有一张桌子吗? 5年* 12个月=每行60个字段?是高效的 足够?
  • 如果单个员工数据发生变化,您会使用数据库触发器重新计算薪资费用吗?

1 个答案:

答案 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或其他聚合函数来获取报告的数据。