2016-04-15 11 views
-1

私の友人が私に助けを求めています。彼は、MySQLへの入力件のデータを望んでいるし、このようなグラフを生成する:Mysqlは200以上の値を連続して保持していますか?

LineGraph example from Charts.js: http://www.chartjs.org/

唯一の問題はあります:彼は、合計で、ライン毎に50個の値を望んでいる4行があります。

    は、
  • 温度
  • 湿度
  • ライト
  • のCo2

すべてのユーザーに200以上の値がありますが、私の質問は次のとおりです。これらの値を簡単にアクセスできるようにするにはどうすればよいですか?
私はすべてのユーザーにテーブルを作ることができると思っていましたが、パフォーマンスが悪くなることはわかっています。

+9

データベースの正規化はここにあなたの友人です...それについてのいくつかの研究を行います。 – mituw16

+1

まずスキーマを操作する必要があります。それがどのように揺れるかもしれないかの例がありますか?設計時に[データベースの正規化](http://en.wikipedia.org/wiki/Database_normalization)の[ゼロ、1つまたは無限のルール](http://en.wikipedia.org/wiki/Zero_one_infinity_rule)を忘れないでくださいそれ。 – tadman

+1

行対値、tomayto対tomahto;なぜあなたはこのすべてを一列にしていますか?最も簡単な設計は、 'line'no、' temp'、 'humidity'、' light'、 'co2'の5つのフィールドを持つ' lines'というテーブルです。 ...ユーザーごとに別々のテーブルを用意する必要はなく、 'user_id'フィールドを追加するだけです。 – Uueerdo

答えて

1

理論上は1000カラムです。しかし、無限の行。 データを異なるテーブルに分割する方が良いです。カラム名でしたユーザ名で

  • table_temperature
  • table_humidity
  • table_light
  • table_co2

: は、すべてのユーザーテーブルのが、すべてのデータの割り当てのためではないことを確認します。 グラフチャートを作成するには最小値と最大値が必要です。これは列から簡単に読み取ることができます。 (SELECT MIN/MAX)。

By the way:グラフダイアグラムは、PHPでSVGを使用して美しいプロダクトにすることができます。

関連する問題