我收集了一组csv文件,其中包含以下54列的度量:
SITE (string)
TIME (integer as yyyymmddhh)
PROD (double)
EST.0 (double)
...
EST.50 (double)我想把它读到mysql数据库中。我更喜欢一种结构,允许我计算EST.0值的平均值和方差。EST.50,每一行。
对于这些数据来说,什么才是好的数据库结构?我是否可以保持这些列的原样,还是应该只有一个“值”列?如果是前者,我如何才能得到我想要的平均值和方差?
从阅读相关的问题来看,拥有这么多的值列似乎不是一个好主意,所以我在考虑为所有的双值设置一个" value“列,加上一个标识符的"est_ID”列,使用-1或NULL来表示"PROD“值--这有意义吗?
关于日期-时间列- mysql会理解它吗?或者我需要提供一些关于日期-时间格式的信息?
至于处理多个文件,我想一个名为mysqlimport的bash脚本应该做得很好吗?
谢谢。
米哈尔
发布于 2013-01-07 09:57:12
为此,您需要有两个数据库表。
一个具有id int/bigint自动增量、站点、时间和prod的表。id是灵长类钥匙。
一个带有id的表(与前一个表相同,但没有自动增量,它指的是第一个表中的id ) EST和EST的数量。该表的主键将跨越两列,id和EST的编号(这可能需要对您正在使用的数据库表创建工具进行一些修改)。
至于日期列,没有mysql不理解这种格式,它有自己的日期和日期格式的列。在我们这里,我们使用unix时间戳,并将它们作为整数或bigints存储在数据库中。
https://dba.stackexchange.com/questions/31537
复制相似问题