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