2010-05-12 77 views
0

我是一般的新手sqlite和SQL。我渴望從平面文件切換到用於保存一些測量信息的sqlite。我需要提示如何更好地佈置數據庫,因爲我沒有這方面的經驗。數據庫設計可以保存多次迭代測量

我有一個〜10000個獨特的統計計數器,在每次測試迭代之前和之後收集。最大迭代次數是10次,儘管可能更少。

我想以下幾點:

CREATE TABLE stat_names(stat_id, stat_name); 
CREATE TABLE stats_per_iteration(stat_id, before_iter_1, after_iter_1, before_iter_2, after_iter_2, ...); 

stat_names表將舉行一個完整的計數器映射到一個uniq的stat_id。 stats_per_iteration表將保存測量數據1 + 10 * 2列。 stat_names.stat_id = stats_per_iteration.stat_id

或者我應該爲每次迭代都有一個單獨的表?這將導致數據庫中的1 + 10個表格。

謝謝!

回答

0

這真的取決於你的需求,這真的沒有在你的問題中解決。在設計表看這些因素,在沒有特定的順序:

  • 如何將你寫的數據
  • 你將如何讀取數據
  • 意志空間是一個問題

這些都可以確定它們的重要性順序:

  • 你會讀多少次數據,很多或很少?
  • 你需要用高頻寫入嗎?
  • 您的閱讀查詢有多複雜?
  • 數據是否適合你所擁有的空間?

基於這些,設計您的結構,讓您的生活變得輕鬆。一般來說:

  • 如果你沒有空間來存放它,設計它,所以它會適合
  • 如果你需要快速寫入,設計它,就可以輸出多行快速(簡單的平面設計)
  • 如果您不得不操縱和分析數據,請以便於使用的方式進行存儲。
1

這可能會讓你開始。您的stat_names被稱爲度量stats_per_iteration將是迭代表。該測試表,對於執行的每個測試一個項目 - 新的設備,新的一天等類似

test_stats_model_01

+0

現在這是一個起點!非常感謝! :) – Valder 2010-05-13 06:20:24