いくつかの異なるセンサーからの温度測定値を保持している MySQL データベースがあります。私は当初、データを格納するために 3 つの異なるテーブルを使用することを考えていました。
mysql> select * from sensor_info;
+----+------------------+------+--------+
| id | address | name | active |
+----+------------------+------+--------+
| 1 | 28D684CD02000057 | NULL | 1 |
| 2 | 28099B49030000D8 | NULL | 1 |
| 3 | 28339ACD0200004B | NULL | 1 |
+----+------------------+------+--------+
mysql> select * from data_period limit 4;
+----+---------------------+
| id | ts |
+----+---------------------+
| 1 | 2012-06-30 09:35:02 |
| 2 | 2012-06-30 09:36:22 |
| 3 | 2012-06-30 09:37:46 |
| 4 | 2012-06-30 09:40:36 |
+----+---------------------+
mysql> select * from data_points limit 4;
+----+-------------+-----------+-------+
| id | data_period | sensor_id | data |
+----+-------------+-----------+-------+
| 1 | 1 | 1 | 77.90 |
| 2 | 1 | 2 | 77.34 |
| 3 | 1 | 3 | 77.56 |
| 4 | 2 | 1 | 78.01 |
+----+-------------+-----------+-------+
私がやろうとしているのは、保存されたデータを取得して CSV ファイルに入れ、dygraphs Javascript ライブラリを使用して表示できるようにすることです。データを次のような形式にする必要があります。
date,temp1,temp2,temp3
2012-06-30 09:35:02,77.90,77.34,77.56
2012-06-30 09:36:22,78.01,77.36,77.59
....
これを (PHP を使用して) 開始するたびに、これが過度に複雑になり、ループ内のループ内にクエリを配置する必要があるようです。必要以上に自分を苦しめていますか?
ほとんどの作業は、クエリまたは PHP を使用して行われますか? 将来的には、特定のタイムスタンプから温度の読み取り値が欠落している場合に CSV に NULL を配置するコードも追加したいと考えています。
私は特定の答えを探しているわけではありません。私がどの方向に進むべきかを知りたいだけです。データベースからデータのフォーマットを開始する方法や、データベースに情報を保存するために別のフォーマットを検討する必要があるかどうかさえわかりません。