我正在设计一个金属棒价格数据库。金属棒的价格基于以下逻辑。
我遇到的问题是如何将材料与价格联系起来,并考虑两种定价规则,按重量或范围。
例如,这是我“绘制”表格的方式,所有价格都完全弥补。
+-----------+------------------+
| Material | Price |
+-----------+------------------+
| Iron | $0.5 |
+-----------+------------------+
| Steel | $0.8 |
+-----------+------------------+
| Aluminium |+--------+-------+|
| || Length | Price ||
| |+--------+-------+|
| || 100mm | $10 ||
| || 200mm | $18 ||
| || 500mm | $35 ||
| || 1000mm | $50 ||
| |+--------+-------+|
+-----------+------------------+
我正在使用MySQL。
我对SQL很新,所以我不知道从哪里开始。我被困了,因为我现在不知道如何在同一列中分解一对一和一对多。附加要求。
答案 0 :(得分:1)
对于可扩展的设计,您可以:
金属,unit_type_id,单位,价格
铁,1,1,1.5
钢,1,1,8,0
铝,2,100,10
铝,2,200,18
使用另一个表unit_type
id,键入
1,重量(kg)
2,长度(mm)
答案 1 :(得分: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