我的表格目前有13列:
name, gender, age, color, country, a_qps, a_throughput, b_qps, b_throughput, c_qps, c_throughput, d_qps, d_throughput
(名称,性别,年龄,颜色,国家/地区)用作查询的关键字。 a,b,c,d是模式。 x_qps的数据类型相同,x_throughput的类型相同。
当模式类型增加时,我应该将它们保留在此表中吗?例如,如果出现另一种新模式,我应该将e_qps,e_throughput添加到同一个表中吗? 或者我应该对表格进行垂直拆分并将其转换为4个表格
name, gender, age, color, country, a_qps, a_throughput
name, gender, age, color, country, b_qps, b_throughput
name, gender, age, color, country, c_qps, c_throughput
name, gender, age, color, country, d_qps, d_throughput
答案 0 :(得分:0)
这取决于数据设计。如果列中的所有数据都像
b_qps, b_throughput, c_qps, c_throughput, d_qps, d_throughput
严格绑定到name, gender, age, color, country, a_qps, a_throughput
,并且它们之间存在唯一的1-1关系,请将其保存在单个表中。如果存在可能发生某些不同关系(1-N)的情况,则分成2个或更多表。
一般来说,只要表中标准化了多列,就没有错误 - 没有数据重复。
答案 1 :(得分:0)
通常,您应该避免使用动态列或表,动态信息应该在单元格数据中。所以我会选择第三个选项,一个以模式作为值的表:
name, gender, age, color, country, mode, qps, throughput
mode
将为a
,b
,c
等。
您还应该向主表添加自动增量主键,因此您不必在每个其他表中重复所有5个键列。该主键可以用作其他表中的外键。