У меня есть несколько наборов измерений. В каждом наборе есть несколько значений. Данные в настоящее время находятся в электронной таблице, и я хотел бы переместить их в реальную базу данных.
В электронной таблице каждый набор измерений находится в своем собственном столбце, т. Е.
1 | 2 | 3 | ...
0.5 | 0.7 | 0.2 | ...
0.3 | 0.6 | 0.4 | ...
и так далее. Если у меня есть, скажем, 10 наборов данных и каждый из них имеет 8 измерений, я получаю таблицу 8x10 с 80 значениями.
Чтобы привести базу данных в нормальный вид, я знаю, что она должна быть предназначена для добавления строк, а не столбцов, для каждого нового набора. Я предполагаю, что это означает, что таблицы должны быть расположены примерно так (синтаксис MySQL):
create table Measurement(
int id not null auto_increment,
primary key(id)
);
create table Measurement_Data(
int id not null auto_increment,
double value not null,
int measurement,
primary key(id),
constraint fk_data foreign key(measurement) references Measurement(id)
}
Это правильно? В результате получается таблица с одним автоматически сгенерированным столбцом (хотя, конечно, я мог бы добавить к нему больше позже) и другая таблица, в которой каждый набор данных хранится «по длине», что означает, что в таблице будет 800 строк с указанными выше значениями. Это правильный способ справиться с этой проблемой? Это также означает, что мне нужно добавить данные, мне нужно вставить строку в таблицу измерений, получить назначенный ей pk, а затем добавить все новые строки в таблицу Measurement_Data, верно?
Я ценю любой совет,
Ken