2016-08-10 44 views
0

按照現在我有3個表格。客戶表,產品表和購物車表。 客戶表具有cid作爲主鍵。 產品表具有作爲主鍵的pid。規範化在線購物車表

現在我想添加產品到購物車表。 也我想知道哪個客戶添加該產品。

如果我將cid和pid放入購物車表中,而客戶訂購多個產品,則會發生冗餘。

我該如何創建一個關聯所有這些信息的表? 那是誰在訂購,哪個產品和數量。

MyTables

Product_Table( PROD_ID, 級, 村 國家, PKGS, Wpkg, 成本, 說明, );

CUSTOMER_TABLE( CUST_ID, Cname的, 公司, 地址,電話 , 電子郵件, 國家, 市 );

Cart_Table( Cart_id, PROD_ID, CUST_ID, 數量, TOTALCOST, );

+0

請提供您當前的數據庫架構或者您用來創建它的查詢。 –

+0

這些是我在表中的字段 –

回答

0

爲避免冗餘,您應該添加另一個表Cart_Positions,其中包含所有訂購的產品,而購物車僅包含客戶ID。

Cart_Table(Cart_id,Cust_id,...);
Cart_Positions_Table(Cart_Positons_idCart_idPROD_ID,數量,...);

(在大膽,外鍵斜體主鍵)

編輯: 當試圖避免裁員,你也應該想想「TOTALCOST」你已經有了 - 這很容易被利用來計算產品價格和數量。另一方面,如果您允許折扣但不將其存儲在訂單中(這不是一個好主意),則總費用列將是必要的。