2011-09-19 43 views
1

我工作的購物車程序,而我就如何按照下列規定項目和期權定價模型幾乎難倒了:建模項目和選項的購物車

  1. 每個項目可能有零或更多選項(顏色,尺寸等)
  2. 每個選項可能有多個不同的值(例如綠色,藍色,紅色和橙色)
  3. 具有相同選項的兩個項目可能具有該選項的不同值您可以訂購綠色或橙色的T恤,並且您可以訂購藍色或紅色的球帽)

我敢肯定,這是一個有點常見的情況,但它不是我曾經遇到過的。有任何想法嗎?

回答

5

item表(包含項目)

item_id 
name 

options表(包含所有選項)

option_id 
name 
type -- color, front_color, back_color, size, shoe_size etc. 

option_value表(存儲每個選項所有可用的值)

option_value_id 
option_id 
value 

item_available_option(存儲所有可用的每個項目的選項)

item_id 
option_id 

item_available_option_value

item_id 
option_id -- not required, but I added since it's easier to figure it out 
option_value_id 

(存儲所有可用的選項每人選項項值)表(存儲的訂單)

order_id 
customer_id 
order_date 
billing_address 
delivery_address 

order_position表(包含訂單位置)

order_pos_id 
order_id 
item_id 
quantity 

order_pos_option表(包含每個順序位置的選項)

order_pos_id 
option_id 
option_value_id 

這是一個非常通用的方法,它允許在每個項目的基礎上定義的未定義數量的選項和選項值。

如果沒有其他的選擇,另一種是去特定的,是這樣的:


colors表(包含所有顏色)

color_id 
name 

item_available_colors(每item_id的可用顏色)

item_id 
color_id 

sizes表(包含所有大小)

size_id 
name 

item_available_sizes(每ITEM_ID可用尺寸)

item_id 
size_id 

order_position表(包含訂單位置)

order_pos_id 
order_id 
item_id 
quantity 
color_id 
size_id 

itemorders表保持不變,所有其他都不再需要。

還有很多其他可能的變化,這是爲了給您提供一個起點。

+0

謝謝。我對使用RDBMS非常新,所以我非常感謝**的幫助。 – Andrew

+0

很高興我能幫上忙。我認爲這是你的第一個問題,歡迎登上,也考慮回答他人的問題,分享你的知識。 –

相關問題