假设我有一个Web应用程序是某种商店。我有一张桌子可以容纳所有的货币交易。
custid,orderid,支付金额等等
这张表用于销售报告以及你有什么。
现在,我们希望为客户提供某种形式的信用,包括礼品券或退款。
使用-amount将它输入到同一个表中是不是一个坏主意?或者将它们放在另一个表中更好吗?
首先使用此表格结构设置网站是否存在重大缺陷?
我已经建立了一些像这样的系统,但没有得到其他人的反馈,你们通常如何设置像db这样的商店的表。
感谢, 肯
答案 0 :(得分:2)
通常情况下,您有理由退款,因此此用例的架构已经不同于购买的架构。
所以现在您的选择是否应该在两个地方存储退款?它总是让我感到不舒服有多种事实来源。
您需要决定如何计算客户的整体平衡,在多个地方存储进/出会使这比应该更难。因此,您可以回到单个商店进行货币进出,以及单独存储元数据关于退款。
Purchase
--------
PurchaseId
ItemId
CustomerId
Payment
Refund
------
PurchaseId
Reason
显然还有其他字段,正如你所说的那样 - 退款的价值
实际上,这更接近现实世界的纸质分类帐和单独的“退款”书。
我从来没有这样做,这只是我大声思考: - )
答案 1 :(得分:1)
有一百种皮肤猫的方法,但这里有一些“值得思考”的观点:
希望这有点帮助,可以引导您找到更好的结构。不要害怕有多张桌子,只要确保你有一个很好的方法来联系他们!