У меня есть некоторые датчики в моем доме. И сейчас я собираюсь записывать их в базу данных. Так как я новичок в MySQL, мне понадобится помощь, настроив правильную структуру. Фактические значения сохраняются автоматически каждые 5 минут. Поскольку количество значений после года действительно очень высокое, я напишу программу на C#, которая рассчитает для каждого дня MIN, MAX & AVG и сохранит значения за этот день.MySQL, структура базы данных домашних датчиков
Эта структура я хочу иметь и, как я знаю, к югу таблицы не в MySQL мне нужна помощь:
Database: SensorData
|
|-----------------------
| |
Tables: LivingRoom Outside
| |
|------------ |
| | |
Columns: Temperature Humidity Temperature
Эти колонны держат «реальные» значения в день. Но теперь я буду вычислять MIN, MAX и AVG этих столбцов. И я не знаю, где разместить результаты, которые я могу легко выбрать: Sensordata.LivingRoom.Temperature.MIN или Sensordata.LivingRoom.Temperature.MAX.
Но это будет нужна таблица в колонке ...
Таблицы очень легко и выглядеть следующим образом:
+----------------+--------------+------+-----+-------------------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------------+--------------+------+-----+-------------------+-------+
| Datum | timestamp | NO | PRI | CURRENT_TIMESTAMP | |
| Temperatur | decimal(5,2) | YES | | NULL | |
+----------------+--------------+------+-----+-------------------+-------+
или
+----------------+--------------+------+-----+-------------------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------------+--------------+------+-----+-------------------+-------+
| Datum | timestamp | NO | PRI | CURRENT_TIMESTAMP | |
| Temperatur | decimal(5,2) | YES | | NULL | |
| Humidity | decimal(5,2) | YES | | NULL | |
+----------------+--------------+------+-----+-------------------+-------+
мая кто-то есть идея для интеллектуального решения ... Я полностью гибко отношусь к дизайну базы данных/таблицы/столбца, поскольку я только начал проектировать.
ENUM - это новое для меня. THX для этого! Но это приведет только к объединению двух таблиц в одну таблицу. Но как обрабатывать мин, макс ... для температуры и влажности. Если я добавлю столбец MIN, MAX и AVG, я должен отделить, если это значения для температуры или влажности датчика. – Portisch
Для этого вам не нужна другая таблица. Mysql имеет встроенные функции, которые могут сделать это прямо на этой таблице, когда вам это нужно. Пример: 'select MAX (температура) FROM sensor_data WHERE type = 'Living Room' GROUP BY DATE (время);' – phreakv6