0

私はついに、SOで答えを見つけることができない問題に遭遇しました...

私は、時間の経過とともに記録された記録されたサンプルデータを保存するデータベースに取り組んでいます。当初、クライアントは現在記録しているデータに非常に固有のテーブルを作成していましたが、拡張すると、収集されたデータが変化し始め、より多くの、または少なくとも異なる列が変化する可能性があることを懸念していました。必要とされます。

現在のモデル:

+------------------+     +------------------+
|    FACILITIES    |     |   DATA_RECORD    |  
+------------------+     +------------------+  
| ID               |     | ID               |
| NAME             |     | FACILITY_ID      |
| DESC             |     | TIMESTAMP        |
| etc.             |     | TEMP_WATER       |
+------------------+     | TEMP_AIR         |
                         | pH_WATER         |
                         | etc...           |
                         +------------------+

データベースは次のように設計する必要があると思います。

+------------------+     +------------------+     +------------------+
|    FACILITIES    |     |   DATA_RECORD    |     |   COLUMNS        |  
+------------------+     +------------------+     +------------------+  
| ID               |     | ID               |     | ID               |
| NAME             |     | FACILITY_ID      |     | NAME             |
| DESC             |     | details etc..    |     | DESC             |
| etc.             |     +------------------+     | UNITS, etc...    |
+------------------+                              +------------------+

+------------------+ 
|    DATA_POINT    | 
+------------------+ 
| ID               | 
| DATA_RECORD_ID   | 
| COLUMN_ID        | 
| VALUE            | 
+------------------+ 

私の質問は次のとおりです。

  1. これはデータベースを設計するための最良の方法ですか、それとも私がよく知らないより良い方法がありますか。
  2. 各データレコードとそれに関連する各列を返すクエリステートメントを作成するにはどうすればよいですか?
  3. DATA_POINT.VALUEとして使用するのに一般的に受け入れられている適切なデータ型はありますか?例:float、decimal ...?

手伝ってくれてどうもありがとう。

心から、

ネイトK。

4

1 に答える 1

1

要件を見ると、エンティティ属性値タイプの設計に傾倒していると思います。これは、一般に、照会が難しく(セットアップはかなり簡単ですが)、あまりスケーラブルではありません。

このサイトまたはグーグルでEAVモデルを検索して、これに関する議論を見ることができます。

http://www.simple-talk.com/content/print.aspx?article=843

エンティティ属性値データベースと厳密なリレーショナルモデルのeコマース

http://tkyte.blogspot.com/2009/01/this-should-be-fun-to-watch.html

あなたの場合、収集する必要のあるさまざまなタイプの施設とデータポイントを投稿できますか?タイプとサブタイプを使用してこれをモデル化できるでしょうか?

于 2012-07-14T01:44:07.363 に答える