いくつかのこと:
-
請求書のステータスを独自のルックアップテーブルに正規化してから、「送信済み」、「キャンセル済み」などではなく、ステータスIDを請求書テーブルに配置します。
-
請求書の金額を確実に保管してください。割引を考慮する必要がある場合、これはtbl_order.totalの価格値とは異なる必要がある場合があります。いずれにせよ、数値データは保存するのに費用がかからず、結合を行う必要がない場合はクエリが高速になります。
-
Paymentsテーブルに独自のID列を指定し、それをPKにします。
-
残りは大丈夫そうです。 2つのテーブルがある場合があります。1つは支払いの送信用で、もう1つは支払いの受信用です。本当に金額と日付の情報だけを保持する必要がある場合は、それ以上複雑にする必要はないと思います。
ありがとう、クリス。