我正在开发一种工具来帮助特定的人跟踪他们的工作。每个人都会进行干预,并且在每个人中可能会在大量测试中选择一些测试。每个测试都有自己的特点,而且非常不同。
我找不到看起来不错的设计。现在,我有这个:
- 干预表
- 用于引用所做的测试和共同特征(父类测试的种类)的表。
- 每种类型的测试都有自己的特点的表格
- 用于指示所有测试类型的类型表
这看起来像:
干预措施
- _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 种解决方案中的哪一种对您来说似乎是最好的?
谢谢大家!