Ein paar Dinge:
-
Normalisieren Sie den Rechnungsstatus so, dass er eine eigene Nachschlagetabelle ist, und fügen Sie dann eine Status-ID in die Rechnungstabelle ein, anstatt „Gesendet“, „Storniert“ usw.
-
Rechnungsbetrag unbedingt einhalten. Dies muss sich möglicherweise vom Preiswert in tbl_order.total unterscheiden, wenn Sie jemals Rabatte berücksichtigen müssen. In jedem Fall sind numerische Daten billig zu speichern und schneller abzufragen, wenn Sie keine Verknüpfungen vornehmen müssen.
-
Geben Sie der Payments-Tabelle eine eigene ID-Spalte und machen Sie sie zum PK.
-
Der Rest sieht ok aus. Es gibt einen Fall für zwei Tabellen, eine für ausgehende Zahlungen und eine für eingehende Zahlungen. Wenn Sie wirklich nur die Betrags- und Datumsinformationen aufbewahren müssen, brauchen Sie es meiner Meinung nach nicht komplizierter zu machen.
Danke, Chris.