【发布时间】:2014-02-07 19:05:55
【问题描述】:
组织此付款表的最佳方式是什么:
现在这是我的付款表:
付款表
- PaymentID(主键)
- 类型(ENUM -> 订单、销售、付款)
- Order_id(与 Orders 表相关)
- Sale_id(与 Sales 表相关)
例子:
PaymentID | Type | Order_id | Sale_id
1 | Sale | NULL | 3
2 | Order | 2 | NULL
3 | Payment | NULL | NULL << In this case, it references itself
所以,问题是:我的表格结构是否正确?因为如果我需要进行维护,那将是一个问题。
【问题讨论】:
-
当一笔付款应用于多个订单时,你会怎么做;仅适用于部分订单的付款呢?如果您有部分付款,然后是适用于该部分付款订单的部分付款,以及其他三部分怎么办?付款和订单之间的关系需要在一个单独的表中,例如“PaymentAllocation”,以便您可以处理任何可能的分配。还要考虑到人们不为订单付款,他们根据可能包含多个订单的发票付款,而您根本没有对此进行建模。
标签: mysql sql foreign-keys