gpt4 book ai didi

database-design - 发票和发票行 : How do you store customer address information?

转载 作者:行者123 更新时间:2023-12-03 02:00:01 24 4
gpt4 key购买 nike

您好,我正在开发一个发票应用程序。

所以总体思路是有两个表:

Invoice (ID, Date, CustomerAddress, CustomerState, CustomerCountry, VAT, Total);

InvoiceLine (Invoice_ID, ID, Concept, Units, PricePerUnit, Total);

正如您所看到的,这种基本设计会导致大量重复记录,其中客户端将具有相同的地址、州和国家/地区。

因此,另一种选择是拥有一个地址表,然后建立一个关系“Address<-Invoice”。

但是我认为发票是不可变的文档,应该按照最初制作的方式存储。有时,客户会更改他们的地址或状态,如果它来自地址目录,则会更改所有以前开具的发票。

那么您的经历如何?

客户地址如何存储在发票中?在发票表中?地址表?或者其他什么?

您能否提供对此进行更详细讨论的书籍、文章或文档的链接?

最佳答案

我强烈建议不要在发票中存储任何客户详细信息。

相反,我会有这样的结构:

客户表,主键为 id

客户地址表(因为每个客户随着时间的推移可能有不同的地址),以客户 ID 作为外键

发票表,其中的地址字段是客户地址表的外键。

顺便说一句,我会考虑为每个行项目添加一个增值税字段。有些国家/地区对不同的商品类型有不同的增值税税率。

关于database-design - 发票和发票行 : How do you store customer address information?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2954233/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com