您好我正在开发一个发票应用程序。
所以一般的想法是有两个表:
Invoice (ID, Date, CustomerAddress, CustomerState, CustomerCountry, VAT, Total);
InvoiceLine (Invoice_ID, ID, Concept, Units, PricePerUnit, Total);
正如你所看到的,这种基本设计会导致大量重复记录,其中客户将拥有相同的地址、州和国家/地区。
所以另一种选择是有一个地址表,然后建立一个关系地址<-发票。
但是我认为发票是不可变的文件,应该按照最初制作的方式存储。有时客户会更改他们的地址或状态,如果它来自地址目录,则会更改所有以前制作的发票。
那么你的经验是什么?
客户地址如何存储在发票中?在发票表中?地址表?或者是其他东西?
您能否提供指向对此进行了更详细讨论的书籍、文章或文档的指针?