我该如何模拟这些简单的金融交易?

时间:2010-09-24 02:08:55

标签: design-patterns database-design financial

我觉得我碰壁试图构建我认为是用于建模基本金融交易的简单数据库模式。我希望你们中的一些人有更多的经验可以权衡并指出我正确的方向。

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

我的原始草图看起来像这样:

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

困扰我的另一件事是所有交易似乎都不相同。也就是说,我觉得应用程序的转换应该可以分组到不同的表中。

固定费率,浮动费用,付款,利息和空白等交易是否应填入同一表格?这对我来说似乎很麻烦,但是我已经为每种租赁类型设置了一个事务表,因此将这些表格拆分得更加不具吸引力。

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

谢谢!

2 个答案:

答案 0 :(得分:2)

不同类型的租约有不同的功能吗?如果没有,那么将它们分成单独的表就什么都不做,并且增加了数据库和编程应用程序的复杂性。

为所有类型的租约设置单个交易表几乎肯定会为您以后省去麻烦。

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

答案 1 :(得分:1)

负数有什​​么问题?

记录交易类型是很好的,但是如果你坚持所有金额都是积极的,那么在尝试计算总数时你就会陷入痛苦的世界。只需将付款和其他进货交易类型存储为正数,退款等作为负数。这也可以让您执行诸如因错误而记录退款(例如,在客户的卡上收取错误的帐户)作为否定付款的事情,这与退款不同。