创建新 table 与添加新字段
Creating new table vs adding new field
我有以下数据:
面料成本
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)
现在的问题是哪种方法会更好??
也许你可以创建另一个 table - 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)
然后您可以 table 扩展更多主题以包含在结构成本中
这真的取决于您的要求。是否有其他列仅对 fabric_cost
table 唯一?是否有其他列仅对 dyeing_cost
table 唯一?意思是你的 2 table 会独立成长吗?
如果是,方法 1 更好。否则,方法 2 更好,因为您不需要在 2 个单独的 table 上执行 CRUD(以便于维护)。
另一种方法是:
id int
fabric_type_id int (foreign key to fabric_type)
fabric_cost float/double/decimal
dyeing_cost float/double/decimal
第三种方法是如果你总是有两种成本。您可能不想使用 int
来支付费用。同样,这取决于您的要求。
我有以下数据:
面料成本
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)
现在的问题是哪种方法会更好??
也许你可以创建另一个 table - 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)
然后您可以 table 扩展更多主题以包含在结构成本中
这真的取决于您的要求。是否有其他列仅对 fabric_cost
table 唯一?是否有其他列仅对 dyeing_cost
table 唯一?意思是你的 2 table 会独立成长吗?
如果是,方法 1 更好。否则,方法 2 更好,因为您不需要在 2 个单独的 table 上执行 CRUD(以便于维护)。
另一种方法是:
id int
fabric_type_id int (foreign key to fabric_type)
fabric_cost float/double/decimal
dyeing_cost float/double/decimal
第三种方法是如果你总是有两种成本。您可能不想使用 int
来支付费用。同样,这取决于您的要求。