在数据库中存储多个测量的最佳方法

时间:2016-07-04 19:00:59

标签: mysql sql database relational-database

因此,我有不同类型测量的许多数据测量值。

为简单起见,我们假设它们是两个人的身高和体重值。

您认为(以及为什么)这是存储数据的最佳方法?实际上,我们谈论的是1000名患者和大量数据。

方法1

TableNums
名称ID
高度1
重量2

高度
id值
1 140
2 130

重量
id值
1 70
2 60

在这种方法中,我为每种测量类型都有一个单独的表。这个看起来很好,可读性和未来增加新的测量。但它也会产生很多表格。


方法2

TableNums
名称ID
高度1
重量2

属性
id type_id value unique_id
1 1 140 1
2 1 130 2
1 2 70 3
2 2 60 4

此方法似乎不太可读,但只需要一个表进行测量。

你们认为哪种做法更好?

谢谢, 本

1 个答案:

答案 0 :(得分:1)

我推荐这样的东西:

 Table Meausurent:
 MeasurementId PK 
 MeasurementType varchar -- height, weight, etc
 MeasurementUnit varchar -- kg, cm, etc

Table patientMeasurement:
PatientId  -- FK to patient
MeasurementId -- FK to measurement
value float
MeasurementDateTime datetime
other fields.

PatientMeasurement的PK可以是复合的(patientID,MeasurementId,MeasurementDateTime)或单独的字段