【问题标题】:How should I model these simple financial transactions?我应该如何为这些简单的金融交易建模?
【发布时间】:2010-09-24 02:08:54
【问题描述】:

我觉得我在尝试构建我认为是用于建模基本金融交易的简单数据库模式时碰壁了。我希望你们中的一些有更多经验的人能够参与进来并为我指明正确的方向。

我的应用程序有四种截然不同的租约类型可供客户购买。因此,每种类型的租约都有自己的表,为了保持参照完整性,每个租约表都有自己的事务表。

我原来的草图是这样的:

首先,我使用了对函数类型的 FK 引用来避免使用有符号整数。负付款是没有意义的,所以我认为每笔交易都有借方或贷方参考资料会很好。这有意义吗?

令我困扰的另一件事是所有交易似乎都不相同。也就是说,我觉得这个应用程序的事务可能应该被分组到单独的表中。

是否应将统一费率费、浮动费率费、付款、利息和空缺等交易都填入同一张表中?这对我来说似乎很乱,但我已经为每种租赁类型都设置了一个事务表,因此将这些表进一步拆分并不是很吸引人。

除了付款之外的几乎所有交易类型都将以编程方式构建,因此我可以在“备注”字段中引用指定退回支票或无效交易所引用的付款。这足够好还是我认为这一切都错了?

谢谢!

【问题讨论】:

  • 租赁类型 1,2, 3.. 有不同的列吗?交易怎么样——它们都有相同的列还是记录结构取决于租赁类型?
  • 图像不再可用。请重新上传。

标签: design-patterns database-design financial


【解决方案1】:

不同类型的租约有不同的特点吗?如果不是,那么将它们分离到单独的表中将无济于事,并且会增加数据库和编程应用程序的复杂性。

为所有类型的租约使用一个事务表几乎肯定会在以后为您省去麻烦。

我建议您看看Database Answers 中提出的一些解决方案。那里有很多金融数据库。您可能会得到一些提示。

【讨论】:

    【解决方案2】:

    负金额有什么问题?

    拥有交易类型的记录很好,但是如果您坚持所有金额都是正数,那么在尝试计算总数时您将面临一个痛苦的世界。只需将付款和其他进款交易类型存储为正数,将退款等存储为负数。这还允许您将因错误(例如,从客户卡上的错误帐户扣款)而导致的退款记录为负付款,这与退款不同。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-17
      • 1970-01-01
      • 2010-12-21
      • 1970-01-01
      • 2010-12-18
      • 2019-10-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多