gpt4 book ai didi

c# - 数据库 - 历史数据

转载 作者:搜寻专家 更新时间:2023-10-30 22:11:31 25 4
gpt4 key购买 nike

只是想知道您是否对关注有意见。

想象一下,我有一个简单的应用程序可以为客户存储发票。

简化发票表是:

ID int,
NUMBER varchar(20)
CustomerID INT

客户数据是:

ID int
Number varchar(20)
Name varchar(30)
TaxID varchar(20)
...

现在因为我想保留原始客户数据的发票(因此客户在打印时拥有的数据)我想避免在某些时候更改原始客户数据,否则所有过去的发票都会有客户详细信息也改变了。

什么是最好的方法?

最佳答案

这本质上就是引用数据和非引用数据的区别。为了避免总是访问当前客户信息的引用问题,您需要将客户信息按原样写入发票表。所以你的发票表架构看起来更像:

ID int
NUMBER varchar(20) <-- also why is a column called NUMBER a varchar?!
CustomerID INT
CustomerNumber varchar(20)
CustomerName varchar(30)
CustomerTaxID varchar(20)
...

这样,数据将始终显示为过去,而不是当前。缺点是您存储了更多数据,因为您没有利用规范化。

关于c# - 数据库 - 历史数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26898359/

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