我想对一个设备进行多次测试并记录结果。
每次运行将包括
- 开始时间戳
- 结束时间戳
- 用户提供的测试运行的文本说明
- 来自各种测量设备的测量值的集合,每隔一秒进行一次
问:我想为每个测试运行创建一个 databse(因为测量表将包含特定于该运行的多行,否则我必须添加一个额外的列作为索引)。
我使用多个数据库是正确的,还是有更好的方法,使用单个数据库?
使用一个数据库。 在测量表中,添加一个字段,其中包含指定特定运行的run_id
。
下面的示例 - 您的字段类型可能会有所不同,具体取决于您的需求。
CREATE TABLE IF NOT EXISTS measurements
(
measurement_id INT NOT NULL AUTO_INCREMENT,
run_id INT,
start_time INT,
stop_time INT,
description VARCHAR(255),
PRIMARY KEY (measurement_id)
);
CREATE TABLE IF NOT EXISTS runs
(
run_id INT NOT NULL AUTO_INCREMENT,
description VARCHAR(255),
PRIMARY KEY (run_id)
);
如果你必须问,答案总是一个。
如果您需要多个数据库,您就不会问这个问题,因为您已经超越了认为需要多个数据库,而是知道您需要多个数据库。
您需要关注的是创建一个简单的架构,该架构可以处理您想要的内容并正确编制索引,以便快速查询。
如果要查找建议,则需要使用单一数据库。就易用性而言,它将帮助您进行可扩展性和维护。使用多个数据库/模式将在以后的阶段带来头痛。不过这只是一个建议。