我计划为移动平台建立零售业客户移动结账应用程序。
我的问题是,如果用户多次购买相同的产品我应该怎么做,无论我应该增加数量还是应该将其作为新条目。
如果以前的数据库设计也可用于此类系统。请提供链接。
谢谢。
答案 0 :(得分: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 |
| .. | ........... |
+----+-------------+