0

在一个简单的销售样品我有3个主表:订单,产品,Orders_Products:数据库设计销售系统

产品表

+----+-----------+ 
| id | name  | 
+----+-----------+ 
| 1 | A   | 
| 2 | B   | 
+----+-----------+ 

顺序表

+----+---------+------------+------------+---------------------+ 
| id | user_id | total_cost | order_date   | status_id | 
+----+---------+------------+------------+---------------------+ 
| 1 |  5 |  25.00 | 2012-02-03 23:30:24 |   1 | 
| 2 |  7 |  30.00 | 2012-02-13 18:06:12 |   1 | 
+----+---------+------------+------------+---------------------+ 

orders_products表

+----+----------+------------+--------+ 
| id | order_id | product_id | cost | 
+----+----------+------------+--------+ 
| 1 |  1 |   34 | 10.00 | 
| 2 |  1 |   25 | 10.00 | 
| 3 |  1 |   27 | 2.50 | 
| 4 |  1 |   36 | 2.50 | 
| 5 |  2 |   75 | 25.00 | 
| 6 |  2 |   74 | 5.00 | 
+----+----------+------------+--------+ 

但在我的系统:

  1. 用户添加的钱到他的帐户,然后他可以用它

  2. 产品是同类产品的一个服务:用户可以发表5个广告所以当用户发布广告,5成为4等等。

我应该如何为它设计DB?

+3

嗯。为零售商使用银行数据模型而不是数据模型。 – 2014-08-29 14:02:25

+0

@GordonLinoff你知道关于它的任何文章吗? – mohsenJsh 2014-08-29 14:12:25

+0

我会稍微修改你的模型。 '产品 - >(id,name,price);''订单 - >(id,user_id,date_added,status)''和'order_details'' – hex494D49 2014-08-29 14:13:19

回答

0

您目前没有表格来存储客户数据。我强烈建议使用Auto-Increment ID字段,名称字段和字段来创建一个帐户,以便在向其添加资金或购买内容时可以对其进行修改。

在Order表中,user_id字段应该是来自Customer表的外键,我刚告诉您如何创建。

如果你想更好地了解你应该做的事情,我会建议看Entity-Relationship Model

我并不完全明白你的第二个问题是什么,你能详细解释一下吗?所有产品都只是客户可以发布的一定数量的广告吗?

+0

thnx为您的答案,是的我有客户表只是没有提到它的简单性。关于第二个问题:所有产品都不是这样的。另一个产品用于Premium帐户,用户有权查看一个月的某些内容。 – mohsenJsh 2014-08-29 16:35:08

+0

你应该提到你的客户表,这对你的数据库的功能非常重要。那么你的问题是什么?我可以看到很多我会改变你的数据库设计,但你没有说出你真正的问题是什么,以及它如何阻止你做你想做的事情。 – Toemouse 2014-08-31 08:32:34

+0

我在做什么@Michel在评论中回答,它对我来说完全适用:) – mohsenJsh 2014-09-01 06:52:12