我需要存储一组“重量”'常量,将定期更改,这些常量将在某些计算中使用。以下哪项是更好的表设计,或者两者都没有!
这是我需要存储的内容:
Month Weight (%)
Jan 5
Feb 5
Mar 10
Apr 10
May 10
Jun 10
Jul 10
Aug 10
Sep 10
Oct 10
Nov 5
Dec 5
包含1行12列的表:
CREATE TABLE IF NOT EXISTS `constant_month` (
`month_01` DECIMAL(5,2) NOT NULL,
`month_02` DECIMAL(5,2) NOT NULL,
`month_03` DECIMAL(5,2) NOT NULL,
`month_04` DECIMAL(5,2) NOT NULL,
`month_05` DECIMAL(5,2) NOT NULL,
`month_06` DECIMAL(5,2) NOT NULL,
`month_07` DECIMAL(5,2) NOT NULL,
`month_08` DECIMAL(5,2) NOT NULL,
`month_09` DECIMAL(5,2) NOT NULL,
`month_10` DECIMAL(5,2) NOT NULL,
`month_11` DECIMAL(5,2) NOT NULL,
`month_12` DECIMAL(5,2) NOT NULL)
ENGINE = InnoDB
包含12行和6列的表格:
CREATE TABLE `constant_month` (
`constant_month_id` int(11) NOT NULL,
`create_date` datetime NOT NULL,
`modified_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`number` int(11) NOT NULL,
`name` varchar(25) NOT NULL,
`weight` decimal(5,2) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
第二个选项允许更多信息,但不一定非必需。
扩展这个问题如果我需要存储的常量是不同的数据类型会发生什么?在这种情况下,它们都是百分比,但我有另一个常量表,需要混合数据类型。选项1是否更好,我可以专门为每个常量(INT,DECIMAL和FLOAT的混合)设置数据类型,或者使用带有通用TEXT数据类型的选项2?
由于
答案 0 :(得分:0)