私は学校をコントロールするためのプログラムを書いています。 メンバーシップの購読スキルによく似ています。 生徒はコースに応募し、学校カレンダーで定義された特定の時間の残りの間、月間料金を徴収する必要があります。支払いデータベースの設計方法は?
いくつかの特定の生徒には、それぞれの場合に応じて、碑文または月額料金を減らすことができます。 受講者がコースに登録すると、再受講料となります。 受講者は部分支払いを行うことができます。 また、学生は辞めることができ、戻ってくることはありません。
私はテーブルのこのようなものが付属しています
STUDENT
+id
+name
COURSE
+id
+name
+inscription_fee
+monthly_fee
SCHEDULED_PAYMENTS
+id
+student_id
+description
+amount
-LEDGER
+id
+student_id
+course_id
+amount
しかし、私は
など、私は学生が支払っているかを知りたいとき、ウィッヒ月額料金が原因である、長い複雑なクエリになってしまいましただから私は、これは支払いのためのデータベースを設計する正しい方法ですか?それとも良い方法がありますか?
のクラスごとに、月額利用料および手数料の両方を持っている「右の方法は。」 –
正しい方法はたくさんありますが、それらをテストすることはできません。そのため、まず最初に間違った方法で行うべきではありません。 –
計算された値を格納していて、間違った方法でマークしていますか? – mcanedo