Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Design der Rechnungstabelle

Ein paar Dinge:

  1. 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.

  2. 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.

  3. Geben Sie der Payments-Tabelle eine eigene ID-Spalte und machen Sie sie zum PK.

  4. 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.