在SQL数据库设计中使用商店信用

时间:2011-05-01 12:10:23

标签: database database-design

考虑这两个用例。

假设商店为顾客提供商店信用。商店信用来自退款,折扣,超额金额等......

  1. 客户决定如何以及何时进行 使用此信用。例如。说客户A. 有50美元的商店信贷和 他决定用25美元购买发票A. 发票B的25美元......或者决定 让商店信用坐下来 在那里反对他对未来的描述 购买。

  2. 客户和商店也必须 有办法查找总数 商店信用。

  3. 在表格结构中最简单,最直接的方式是什么?

    我目前有桌子:

    • 交易(用于期刊和报告目的)
    • 客户
    • 信用
    • 二手信用

    发票表将包含其他关联,如发票行,收据,收据行等......

    这是最好的方法吗?我关心的主要是易于报告和交易机制。

    或者我正在考虑在交易表中保存所有信用条目和使用信用。

    更新了清单和输入的图表

    enter image description here

2 个答案:

答案 0 :(得分:1)

创建4个表,1个用于客户,然后另一个用于信用和使用信用,然后另一个用于交易和发票。您可以加入交易和发票,因为它们可能有类似的数据。

答案 1 :(得分:1)

如果我错了,请纠正我,但我相信你想要这样的事情。

CustomerCreditEntry个,CreditEntryUsedCredit个。还有Transaction个,其中包含指向相应Invoice的链接。最后,Transaction指向此交易期间使用的许多UsedCredit的链接。如果一次使用所有CreditEntry,则此UsedCredit将使用一个Transaction,此UsedCredit将对应于整个CreditEntry

这里的数据库模式非常简单 - 通过外键关系。您可能希望创建一个额外的unique约束,以反映ONE-TO-ONETransaction

之间的Invoice关系

哦,顺便说一下,你用于图表创建的service很酷。 Diagram