我終於越過我已經無法找到答案的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 |
+------------------+
我的問題是:
- 這是設計數據庫的最佳方式,還是有一種我不熟悉的更好的方式。
- 如何構成查詢語句以將每個數據記錄返回給每個相關列?
- 是否有一個普遍接受的良好數據類型用作DATA_POINT.VALUE?例如浮點數,小數點......?
非常感謝您的幫助。
真誠,
內特K.
謝謝!第二個環節幫了很多忙。有一個相當詳細的前端隨着這個數據庫,所以我認爲選項3(從第二個鏈接)將是最好的解決方案 - _選項3,組合(模型實體「正確」,但爲自定義添加「擴展名」某些/所有實體的屬性)_。 – NateK 2012-07-14 02:03:47
我也這麼認爲。祝你好運 :) – 2012-07-14 02:19:31