引用列名而不是字段

时间:2019-10-30 13:46:52

标签: sql database database-design relational-database

我正在设计用于医疗保健应用程序的数据库。我有一个表格,其中记录了对患者进行的每次血液检查,其中包含诸如PatientID,Date,Hemoglobin,WhiteBCellCount,Oxygen等的列,这意味着每个元素的值存储在不同的列中。 但是我还有一张带有参考值的表格。列为:ID,元素,值。

通过这种方式,参考值表的Element字段实际上是测试结果表中几列之一的名称,我认为这可能是查询数据库时出现的问题。设计这些表哪种更合适?

我可以创建一个表来为每个元素分配代码和名称,但是我不知道如何将其链接到测试结果表。我不想更改测试结果表的设计,因为每次都会记录所有血液元素,因此我认为每个元素都有一个列是可以的,但是我愿意就该主题的最佳实践提出建议。

1 个答案:

答案 0 :(得分:0)

您不想将一个表中的列与另一个表中的列名进行比较。

我建议您更改存储每个患者基本数据的方式。不要使用不同的列,而要使用三个基本列:

  • PatientId
  • TestName(或TestId
  • Value

然后,您可以将参考值存储在另一个表中,例如:

  • TestName(或TestId
  • RangeLow
  • RangeHigh

这将使参考值与测试的匹配变得容易。它还将使添加新测试变得容易。