此问题是StackOverflow上已回答问题的扩展/扩展:Database Design for Invoices
但是,我想扩展这个想法,并找出允许客户使用某种分期付款(月付款)系统支付发票的正确方法。
在回答的问题中,投票的答案使用了具有以下表格的数据库模式:
(为了简化起见,因为这个问题的重点是表格设计我省略了触发器等细节。)
如何将发票分成每月分期付款?要求如下:
我们非常感谢您提供的任何帮助/指导。谢谢!
- 下午更新 -
在考虑到目前为止的回复并自行修改之后,您如何看待如下的架构:
在上面提出的架构中,所有发票都有一个ScheduledPayments记录。如果发票全部到期(全额付款),那么它将有一条记录。如果发票是分期付款的,则每笔付款都会有X个记录(加上任何预付款)。
然后,当付款时,将一条记录添加到付款表中,并将一条或多条记录添加到关系表“ScheduledPaymentsPayments”中,该表将付款连接到发票和每月付款
您如何看待这个解决方案?您是否预见到它有任何问题,或者您能否提出可能更好的替代方案?
答案 0 :(得分:0)
您可以在Orders表中为DownPaymentAmount,MonthlyPaymentAmount,NumberOfMonthlyPayments添加列,并满足第一个要求。
第三个要求看起来像数据库已经可以使用InvoicesPayments表来处理它,逻辑正在应用层中处理。