2014-01-24 53 views
2

我想設計一個金屬棒價格數據庫。金屬棒的定價基於以下邏輯。產品價格不同範圍的數據庫模型

  • 如果酒吧是由鐵製成,它是每公斤定價。
  • 如果酒吧由鋼製成,它的價格爲每公斤。
  • 如果酒吧是由鋁製成的,它的價格是基於長度。
  • 定價杆的潛在新方法。

我遇到的問題是如何通過考慮兩種類型的定價規則(按重量或範圍)將材料鏈接到價格。

例如,這是我如何「畫」表,所有的價格都完全組成。

+-----------+------------------+ 
| Material | Price   | 
+-----------+------------------+ 
| Iron  | $0.5    | 
+-----------+------------------+ 
| Steel  | $0.8    | 
+-----------+------------------+ 
| Aluminium |+--------+-------+| 
|   || Length | Price || 
|   |+--------+-------+| 
|   || 100mm | $10 || 
|   || 200mm | $18 || 
|   || 500mm | $35 || 
|   || 1000mm | $50 || 
|   |+--------+-------+| 
+-----------+------------------+ 

我使用MySQL。

我對SQL很陌生,所以我不知道從哪裏開始。我被卡住了,因爲我現在不知道如何分解同一列中的一對一和一對多。附加要求。

+0

材料,unit_price,單位,數量? – Strawberry

+1

@RonakBhatt:OP提出的設計就是這個問題。 –

+0

@RonakBhatt而不是這是一個合法和有趣的問題恕我直言 – giammin

回答

1

該模型應該去爲每一個新類型或價格的變化。您還可以擴展它以管理舊價格歷史記錄

idMaterial material idPriceType 
----------------------------------- 
1    iron  1 
2    steel  1 
3    alu   2 


idPriceType name  unit 
--------------------------------- 
1    weight kg 
2    length mm 

idMaterial price unitForPrice 
--------------------------------- 
1   0.5  1 
2   0.8  1 
3   10  100 
3   18  200 
3   35  500 
3   50  1000 
1

對於可伸展的設計,你可以有:

金屬,unit_type_id,單位,價格
鐵,1,1,0.5
鋼,1,1,0.8
鋁,2,100, 10
鋁,2,200,18


與另一個表UNIT_TYPE

ID,類型
1,重量(kg)
2,長度(mm)

相關問題