0

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

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

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

  • 假设预测期为 5 年,您是否有一个 5 年*12 个月 = 每行 60 个字段的表?性能够吗?
  • 每当单个员工数据发生变化时,您会使用数据库触发器重新计算工资支出吗?
4

1 回答 1

1

我认为最好将每个月的预测存储在自己的行中,如下所示

month   forecast
-----   --------
    1      30000
    2      31000
    3      28000
   ...       ...
    60     52000

然后您可以使用聚合函数来计算预测报告、贴现现金流等(例如,如果您想要仅 4 年的未贴现总数): SELECT SUM(forecast) from FORECASTS where month=>1 and month<=48

对于工资支出,我认为拥有一个动态计算的视图(或者如果你的数据库引擎支持“物化视图”应该有足够的性能,除非我们谈论的是大量员工或非常慢的数据库。

也许有一个工资历史表,当员工数据更改/工资单运行时触发填充

employeeId    month   Salary
----------    -----   ------
         1        1     4000
         2        1     3000
         3        1     5000
         1        2     4100
         2        2     3100
         3        2     4800
       ...      ...      ...

然后,您可以执行 SUM 或其他聚合函数来获取报告的数据。

于 2012-11-01T19:27:05.647 回答