0

我正在开发一种工具来帮助特定的人跟踪他们的工作。每个人都会进行干预,并且在每个人中可能会在大量测试中选择一些测试。每个测试都有自己的特点,而且非常不同。

我找不到看起来不错的设计。现在,我有这个:

  • 干预表
  • 用于引用所做的测试和共同特征(父类测试的种类)的表。
  • 每种类型的测试都有自己的特点的表格
  • 用于指示所有测试类型的类型表

这看起来像:

干预措施

  • _ID
  • 日期
  • user_id(外键)

测试

  • _ID
  • 干预_id (FK)
  • type_id (FK)
  • generic_feature_a

测试_1

  • _ID
  • test_id (FK)
  • 所花费的时间
  • 结果_a

测试_2

  • _ID
  • test_id (FK)
  • 结果_b

...

类型

  • _ID
  • 测试名称

这允许我存储所有数据,但这似乎不太好提出请求。例如,如果我想检索所有测试和相关的结果,我必须使用正确的intervention_id 检索所有测试(这很好)。但是对于结果,我必须使用前面的查询,并为每个测试获取测试的名称并在正确的表中提出请求。

我还在考虑删除通用表测试并将intervention_id 直接插入到特定的测试表中。但是获得所有测试的列表变得更加困难......

或者两者都做并保留通用测试表并插入intervention_id?

对此有什么帮助吗?有没有更好的方法来存储数据?如果不是,这 3 种解决方案中的哪一种对您来说似乎是最好的?

谢谢大家!

4

1 回答 1

0

最后我保留了第一个模式。它允许我一次检索给定用户的所有测试,并在我需要有关测试的更多信息时进行深入分析

于 2014-03-30T19:24:27.227 回答