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

问题描述

| 考虑这两个用例。 假设一家商店为客户发放了商店信用。商店信用来自退款,折扣,多付金额等... 客户决定如何以及何时 用这个学分。例如。说客户A 有$ 50美元的商店信用额,以及 他决定使用25美元作为发票A 和25美元的发票B ...或决定 拥有商店信誉 在那里对他的未来 购买。 客户和商店还必须 有一种方法可以查询总数 商场信用积分。 在表格结构中,最简单,最直接的方法是什么? 我目前有桌子: 交易(用于日记和报告目的) 顾客 信用 二手信用 发票表将具有其他关联,例如发票行,收据,收据行等。 这是最好的方法吗?我主要关注的是报告的便捷性和交易机制。 另外,我正在考虑仅将所有贷方输入和已用贷方保存在交易表中。 更新了图表以进行澄清和输入     

解决方法

如果我错了,请指正我,但是我相信你想要这样的东西。
Customer
具有
CreditEntry
CreditEntry
具有
UsedCredit
。也有“ 4”,其中包括指向相应“ 5”的链接。最后,一个“ 4”具有指向此交易期间使用的许多“ 3”的链接。如果一次使用了所有CreditEntry,则此
Transaction
将使用一个
UsedCredit
,并且此
UsedCredit
将对应于整个
CreditEntry
数据库模式在这里将非常简单-通过外键进行关系。您可能想要创建一个额外的
unique
约束,以反映
Transaction
Invoice
之间的
ONE-TO-ONE
关系。 哦,顺便说一句,您用于图创建的服务很棒。     ,创建4个表,其中1个用于客户,然后另一个用于其信用和已用信用,然后另一个用于交易和发票。您可以加入交易和发票,因为它们可能具有相似的数据。