【问题标题】:Database transactions - or is this a normalization issue?数据库事务 - 或者这是一个规范化问题?
【发布时间】:2012-06-02 19:51:09
【问题描述】:

假设一个学生注册了特定的课程。他的总费用为 25000 美元(基于其他计算,如学费、杂费等)。

现在,这让我感到困惑。 我如何获取 AND 计算学生的总余额。我应该:

  1. 每次付款时,从他的总余额(我表中的一列)中减去他支付的金额。

  2. 不要永远修改任何列,而是使用另一个名为 total_fee 列的属性。只需从我的 tution_payment 表中找到的每笔交易中获取他支付的总金额,然后从 total_fee 中减去结果(这可以通过我的查询来完成)。另请注意,我在这里没有使用 total_balance。

我记得有人告诉过我

金融交易一般只插入

这是否意味着我以前的解决方案是正确的?目前我用的是后者,但是觉得这个方案不准确。

我不熟悉数据库如何表示会计交易,因此非常感谢任何帮助。

【问题讨论】:

    标签: sql database transactions normalization


    【解决方案1】:

    通常会有一个包含事务的表。学生费用将记入大学的贷方并记入学生的借方。还款将被记为学生的信用。利息费用将计入大学。

    这样,就不需要存储余额了。您根据交易历史计算余额。最大的好处是可以解释余额;它不仅仅是一个存储在数据库中的数字,而是它的完整历史。

    【讨论】:

    • 绝对要采用复式记帐模型。 (+1) 任何其他方法最终都会给您带来麻烦,无法解释或证明您的数字。
    • @Andomar - 你的意思是我不必在列中记录余额?我所需要的只是一个交易表,我可以总结(通过视图/查询)以及可能的其他计算,以获得总余额?
    猜你喜欢
    • 1970-01-01
    • 2011-11-04
    • 2018-07-08
    • 1970-01-01
    • 1970-01-01
    • 2011-02-06
    • 2013-01-18
    • 2013-01-28
    相关资源
    最近更新 更多