2010-05-12 43 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