【发布时间】:2017-02-04 18:33:46
【问题描述】:
以前有一个网站销售实物产品...现在他们想销售一些完全不同的服务之王 ....例如向用户帐户收费(购买产品)或购买短信的信用包..类似的东西
所以 db 曾经看起来像这样
order : user_id ,date , total_price
order_items : order_id , item_id , quantity , price
invoice : order_id , price , settled
Invoice_transactions : invoice_id , amount , date
基本上发票属于订单
现在他们要销售服务,所以我们必须创建 2 个orders 表
product_orders (it used to be orders)
service_orders
现在我必须选择发票表的设计
我可以添加另一个字段来指示订单的类型
invoice : order_id , order_type , amount
1 , product , 10000
1 , service , 10000
感觉不太对劲……或者我可以在订单中添加发票编号
invoice : order_type , amount , date
product_orders : invoice_id , date , total_price
service_orders : invoice_id , service_id , date , total_price
这是服务表的样子:
【问题讨论】:
-
我怀疑随着时间的推移,一个订单可能会有多个发票,例如,如果第一张发票未付款或订单发生变化。
-
@GordonLinoff 不,这就是交易的用途,我们有 1 张发票,他们可以在一段时间内通过多次交易支付(查看 Invoice_transactions 表)
-
请为项目/产品和服务添加表架构。我想知道,是否可以将它们合并到一张表中。
-
@PaulSpiegel 服务是向用户帐户收取费用的信用包(基本上他们最终会用该信用购买实物产品……应该说信用而不是服务!)……我没有它的架构但我会创造一些东西
-
@PaulSpiegel 我已经添加了架构,如果有什么遗漏请告诉我
标签: mysql database database-design