1

学生が特定のコースに登録したとしましょう。彼の合計料金は 25000 ドルです (授業料、雑費などの他の計算に基づく)。

さて、これが私を混乱させるものです。学生の残りの合計残高を取得して計算するにはどうすればよいですか。するべきか:

  1. 彼が支払うたびに、彼が支払った金額を彼の合計残高 (私の表の列) から差し引きます。

  2. どの列も変更しないでください。total_fee列と呼ばれる別の属性を使用してください。tution_payment テーブルにあるすべてのトランザクションから彼が支払った合計金額を取得し、total_fee から結果を差し引くだけです (これはクエリで実行できます)。また、ここでは total_balance を使用していないことに注意してください。

誰かが私にそう言ったのを覚えている

金融取引は通常、挿入されるだけです

これは、私の以前の解決策が正しいことを意味しますか? 現在、後者を使用していますが、それは不正確な解決策だと感じています。

データベースが会計トランザクションをどのように表しているのかよく知らないので、どんな助けでも大歓迎です。

4

1 に答える 1

3

通常、トランザクションを含むテーブルがあります。学生料金は、大学への貸方と学生への借方として予約されます。返済は学生へのクレジットとして予約されます。利息は大学のクレジットになります。

そうすれば、残高を保存する必要はありません。取引履歴に基づいて残高を計算します。最大の利点は、バランスを説明できることです。それはデータベースに保存されている単なる数字ではなく、それがどのようになってきたかについての完全な歴史を持っています。

于 2012-05-28T13:32:13.870 に答える