Это вопрос наилучшей практики на самом деле.
Я разрабатываю систему, где я буду собирать некоторые измерения (назовите их HR и RR) и вычислить средние значения этих измерений. Теперь для пользовательского интерфейса нас интересуют только эти средние значения, но для более глубокого анализа данных нам понадобятся все индивидуальные измерения (для экспорта в Matlab), а также все средние вычисления (не спрашивайте - пользователь я бы просто сохранил отдельные измерения и вычислил среднее значение позже, если это необходимо).Столы одинаковые структуры и аналогичные данные
Подробнее о средних расчетах и т. Д .:
- HR: мы получаем показания каждые 500 - 1500 мс (переменная). Мы вычисляем среднее значение, основанное на 4-12 показаниях (в зависимости от времени между показаниями).
- RR: мы получаем показания каждые 3-17 секунд (переменная). Мы вычисляем среднее значение на основе 2-3 показаний (в зависимости от времени между показаниями).
И для сохранения:
- Среднее значение (десятичное) вместе с отметкой времени первого чтения из показаний, используемых для среднего расчета.
- Каждое отдельное чтение (десятичное) вместе с отметками времени, когда было выполнено чтение.
Как вы можете видеть, данные одинаковы для средних вычислений и отдельных показаний. То же самое с HR/RR - эти данные те же самые и могут быть представлены следующим образом:
- - - - - - - - -
| |
- - - - - - - - - -
| Timestamp |
| Значение |
Поскольку мы вычисляем данные с разными временными интервалами и т. Д., Мы не можем хранить HR + RR как одну строку в базе данных, нам нужны отдельные строки или таблицы.
Вопросы:
1. Лучше ли практика создания отдельных таблиц для HR и RR? Или лучше хранить их в той же таблице, что и отдельные строки, с столбцом, указывающим, соответствует ли данная строка HR или RR?
2. Лучше ли создавать отдельные таблицы для каждого отдельного показания? Или лучше создать таблицу саморегуляции, где каждое отдельное чтение будет ссылаться на строку в той же таблице со средним расчетом, в котором она использовалась?
Я не настолько хорош с дизайном БД, и я не уверен, какие лучшие практики используются в этой ситуации.
Я также рассматривал возможность использования MongoDB (а не базы данных SQL - возможно, MSSQL, поскольку проект основан на C#), что, вероятно, облегчило бы жизнь, поскольку я мог бы иметь массив отдельных измерений, встроенных в документ со средним расчетом и т. Д. как я знаю, пишет Mongo очень быстро ...
Любые указатели? Благодарю.
Я думаю, что ваши аргументы имеют смысл, это именно то, о чем я думал. Благодарю. –