Database 数据库设计-将一个表链接到多个表(不总是相同的)

Database 数据库设计-将一个表链接到多个表(不总是相同的),database,database-design,Database,Database Design,我正在开发一种工具,帮助特定的人跟踪他们的工作。 每个人都进行干预,在每次干预期间,可能会在大量测试中选择一些测试。每项测试都有其自身的特点,它们非常不同 我找不到一个看起来不错的设计。目前,我有以下几点: 干预桌 用于引用所做测试和公共特性(父类测试的类型)的表 每种类型试验的表格,具有其自身的特点 指示所有测试类型的类型表 这看起来像: 干预措施 _身份证 日期 用户id(外键) 测验 _身份证 干预id(FK) 类型标识(FK) 通用特征 测试1 _身份证 测试id(FK)

我正在开发一种工具,帮助特定的人跟踪他们的工作。 每个人都进行干预,在每次干预期间,可能会在大量测试中选择一些测试。每项测试都有其自身的特点,它们非常不同

我找不到一个看起来不错的设计。目前,我有以下几点:

  • 干预桌
  • 用于引用所做测试和公共特性(父类测试的类型)的表
  • 每种类型试验的表格,具有其自身的特点
  • 指示所有测试类型的类型表
这看起来像:

干预措施

  • _身份证
  • 日期
  • 用户id(外键)
测验

  • _身份证
  • 干预id(FK)
  • 类型标识(FK)
  • 通用特征
测试1

  • _身份证
  • 测试id(FK)
  • 花费的时间
  • 结果a
测试2

  • _身份证
  • 测试id(FK)
  • 结果b

类型

  • _身份证
  • 测试名称
这允许我存储所有数据,但这似乎不利于对其进行请求。例如,如果我想检索所有测试和相关的结果,我必须检索所有具有正确干预id的测试(这很好)。 但是对于结果,我必须使用前面的查询,并为每个测试获取测试的名称,并在正确的表中发出请求

我还考虑删除通用表测试,并将干预id直接插入特定的测试表中。但是要得到所有测试的列表变得越来越难

或者两者都做,保留通用测试表并插入干预id

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


谢谢大家

最后我保留了第一个模式。它允许我一次检索给定用户的所有测试,如果需要有关测试的更多信息,可以向下搜索