gpt4 book ai didi

c# - 用于处理个人和经常性费用的数据库设计

转载 作者:太空狗 更新时间:2023-10-29 23:40:30 24 4
gpt4 key购买 nike

我们有一个计费系统,我们可以在其中处理单独的费用以及经常性费用(订阅)。

有两个SQL表:

StandardCharges
RecurringCharges

StandardCharges 表包含客户在当月购买的个别商品。

RecurringCharges 表包含按日期收费的经常性项目。时间到了,我们的系统会自动创建一个经常性请求,该请求会在 StandardCharges 表中添加一行,并在 RecurringCharges 表中按日期将费用增加到下个月。

在每个月底,我们从 StandardCharges 表中获取每位客户的总值(value)并创建发票。

是否有一种设计模式或另一种方式来做到这一点?这是正确的数据库设计吗?理想情况下,我想将所有费用保存在一个 Charges 表中,并从那里管理经常性费用?

谢谢

最佳答案

我怀疑你的设计确实是正确的。

当从现实世界的角度考虑数据时,将“可能的”交易(即尚未发生且可能不会实现的交易,可能是因为客户已超出其信用额度)与已 promise 的交易混合在一起是没有意义的和实际交易。

将数据合并到一个表中也会使报告变得困难,因为您必须应用特殊的过滤条件并存储额外的元数据 - 例如 TransactionCompleted 和 TransactionIsFutureCharge。

如果我要提出一个建议,那就是将 StandardCharges 重命名为更接近它保存的数据的名称,例如 CompletedTransactionsRecurringTransactions类似于 PendingTransactions

关于c# - 用于处理个人和经常性费用的数据库设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11568317/

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