我有以下数据:
time | No fabric|BangloreSilk|Chanderi|.... <- fabric types
--------------------------------------------
01/15 | 40 | 25 |...
02/15 | 45 | 30 |...
..... | ... | ... |...
time | No fabric|BangloreSilk|Chanderi|.... <- fabric types
--------------------------------------------
01/15 | 40 | 25 |...
02/15 | 45 | 30 |...
..... | ... | ... |...
此处数据的结构类型列表相同。
现在添加我在下表中创建的数据:
fabric_type
id int
fabric_type_name varchar
然后我有两种方法。
fabric_cost
id int
fabric_type_id int (foreign key to fabric_type)
cost int
deying_cost
id int
fabric_type_id int (foreign key to fabric_type)
cost int
fabric_overall_cost
id int
fabric_type_id int (foreign key to fabric_type)
cost int
fabric_or_dyeing bit (to represent 0 for fabric cost and 1 for dyeing cost)
现在的问题是哪种方法会更好?
答案 0 :(得分:2)
也许你可以创建另一个表 - cost_subjects
<强> cost_subjects 强>
id byte
subject varchar
<强>成本强>
id int
fabric_type_id int (foreign key to fabric_type)
cost int
cost_subject byte (foreign key to cost_subjects table)
然后你可以扩展表格,包含更多主题,以包括面料成本
答案 1 :(得分:1)
这实际上取决于您的要求。是否有其他列仅对fabric_cost
表是唯一的?是否有其他列仅对dyeing_cost
表是唯一的?你的2个表会独立成长吗?
如果是,方法1更好。否则,方法2更好,因为您不需要在2个单独的表上进行CRUD(为了便于维护)。
另一种方法是:
id int
fabric_type_id int (foreign key to fabric_type)
fabric_cost float/double/decimal
dyeing_cost float/double/decimal
第三种方法是,如果你总是有两种成本。您可能不希望使用int
来获取费用。同样,这取决于您的要求。