0

我刨建立客戶手機結賬應用程序用於零售行業的移動平臺。客戶移動結帳DB德興

我的問題是,如果用戶購買同樣的產品很多時候我該怎麼辦我是否應該增加數量還是應該讓它作爲新的條目。

如果還有任何先前的數據庫設計可用於這樣的系統。請給出鏈接。

謝謝。

回答

1

這是很常見的,這裏有一個例子:

您有包含對整個交易的信息發票。

invoices 
    id    unsigned int(P) 
    created   datetime 
    customer_id  unsigned int(F customers.id) 
    ... 

+----+---------------------+-------------+-----+ 
| id | created    | customer_id | ... | 
+----+---------------------+-------------+-----+ 
| 1 | 2014-01-15 08:00:00 |   1 | ... | 
| .. | ................... | ........... | ... | 
+----+---------------------+-------------+-----+ 

然後你有一個表,其中包含每個發票的細節。在我的檢驗數據中,您可以看到客戶購買了13個藍色小部件和1個紅色小部件。

invoice_items 
    id    unsigned int(P) 
    invoice_id  unsigned int(F invoices.id) 
    item_id   unsigned int(F items.id) 
    quantity  double 
    ... 

+----+------------+---------+----------+-----+ 
| id | invoice_id | item_id | quantity | ... | 
+----+------------+---------+----------+-----+ 
| 1 |   1 |  1 |  13.0 | ... | 
| 2 |   1 |  2 |  1.0 | ... | 
| .. | .......... | ....... | ........ | ... | 
+----+------------+---------+----------+-----+ 

下面是一些示例項目。很顯然,在現實世界中,您將存儲比描述更多的信息。

items 
    id    unsigned int(P) 
    description  varchar(15) 

+----+-------------+ 
| id | description | 
+----+-------------+ 
| 1 | Blue Widget | 
| 2 | Red Widget | 
| .. | ........... | 
+----+-------------+