Database 如何为预算应用程序建模预算数据?

Database 如何为预算应用程序建模预算数据?,database,data-modeling,finance,financial,Database,Data Modeling,Finance,Financial,我想创建一个应用程序,允许用户在给定的一个月内将他们已经拥有的资金分为不同的类别 我已经对有形的数据进行了建模和原型化处理;e、 g.银行账户、交易、转账。我遇到的问题是把这些“真实的”数据(坐在你的银行里,或者在你的口袋里,或者在你的银行账单上)用这些虚假的预算概念(或者,我想把它们当作信封)。 下面是我列出的一系列需求: 用户可以管理他们的财务帐户 用户可以管理他们的财务交易 用户可以将每笔交易与金融账户关联 用户可以在账户之间转账 用户可以每月将可用资金分配给给定的预算类别 用户可以修改

我想创建一个应用程序,允许用户在给定的一个月内将他们已经拥有的资金分为不同的类别

我已经对有形的数据进行了建模和原型化处理;e、 g.银行账户、交易、转账。我遇到的问题是把这些“真实的”数据(坐在你的银行里,或者在你的口袋里,或者在你的银行账单上)用这些虚假的预算概念(或者,我想把它们当作信封)。 下面是我列出的一系列需求:

  • 用户可以管理他们的财务帐户
  • 用户可以管理他们的财务交易
  • 用户可以将每笔交易与金融账户关联
  • 用户可以在账户之间转账
  • 用户可以每月将可用资金分配给给定的预算类别
  • 用户可以修改现有的月度预算类别(减少或增加)
  • 用户可以查看给定月度预算类别的剩余金额
  • 用户可以查看可用于预算的金额(可能为负数)
  • 预算类别的剩余资金可以结转到下个月
  • 用户可以查看其财务账户总额(不受预算影响)
  • 用户可以创建预算类别作为最终可能完成的目标(例如,为新车节省费用)
  • (可能我忘记了其他一些用例)
bold中的用例是我正在努力解决的问题

我曾想过拥有一个“MonthlyBudget”对象,每个事务都可以与之相关;但这在数据库中实现似乎过于复杂,因为我必须实现一个日期范围,而不是一个简单的日期

我有一个想法,就是把这些每月的预算类别当作账户来处理,人们只需向它们进行转账;但是用户没有办法用系统中的数据交叉核对他们的银行对账单

我玩弄了“假钱”的想法,预算会以某种方式加以利用,从而将“真钱”和“预算钱”区分开来——但无法从逻辑上考虑这一点


我有点不知所措,无法找到一种清晰简洁的实现方法,特别是使用关系数据库进行存储。如果有人有任何建议或想法,我将不胜感激。

人们对预算封套法感到沮丧的原因是,它将预算分配与实际存在的具体资金联系起来,而资金是可替代的,可以计入预算,无论其来源如何。此外,当您开支票或刷卡时,可能是为了购买包含多个预算项目的物品

典型的商业预算数据模型按时段(在您的定义中为每月)设置预算,并使用金额设置预算项。当支付资金时,付款将部分或全部应用于适当的预算项目。要找出你的预算中还有多少钱要花,减去所有申请的付款

如果这是个人理财,人们是以现金为基础的。然而,同样的原则也适用。所以你会有一张220美元的杂货账单。也许其中150美元是我们整个星期吃的普通食物,另外70美元是圣诞派对的费用。当您回家并将杂货账单输入计算机时,您需要以下选项:

  • 把全部220美元用于杂货店,因为它必须在某处补足
  • 150美元用于杂货店,70美元用于季节性娱乐
  • 把150美元用于杂货店,把70美元放在一边,因为我还没有制定一个季节性的娱乐预算。我们不想让用户停止整个过程来创建更多的预算,以便输入杂货账单,否则很快他/她将不再忠实地输入杂货账单,因为这实在是太多的工作了