我需要一个表来存储测试类型。我得到了两个excel电子表格,一个用于微生物测试,一个用于病原体。微生物5柱,致病菌10柱,这5柱均在表中。所以其中一个有5个额外的列。
为了让您了解一下,表列应该如下所示:
**Microbial**
Test Method IncubationStage1
**Pathogens**
Test Method IncubationStage1 IncubationStage2 Enrichment
那么,有一张微生物表和一张用于病原体的表格更好,还是最好有一张用于测试的表格,并且两者都有?在我知道只有一半的柱子会被利用的桌子里有微生物会不好吗?还是将相关项目保存在同一个表中,并以列"Type“分隔它们更好?
显然两者都会很好,但我想知道哪一个更好。
发布于 2017-05-03 00:26:06
这类问题的答案总是“视情况而定”。
在我看来,如果你认为你会想要通过测试或者通过跨病原或微生物类型的方法来聚合数据,那么你当然应该把数据放在同一个表中,并增加一个列来区分它们。
您还可以更好地“规范化”您的表,如下所示:
Table1: ExperimentID_PK ExperimentTypeID_FK Test Method
Table2: MeasurementRecordID_PK ExperimentID_FK Timestamp Other metadata about the record
Table3 MeasurementID_PK MeasurementTypeID_FK MeasurementValue MeasurementRecordID_FK
Table4: MeasurmentTypeId_PK Metadata About Measurement Types
Table5: ExperimentTypeId_PK Metadata About Experiment Types
..。其中,所有叶数据元素都通过外键指向它们的父数据元素,然后在SQL语句中将数据连接到一起,并根据要进行的查询类型应用索引以获得最佳性能。很明显,问题中的一个行最终会出现在此模式中的多个表中,并且只有在查询时它们才能被重新组合成单独的行(例如,由MeasurementRecordID绑定)。
但也有其他模式,在无SQL的土地正常化可能是敌人。如果数据集存储在更臃肿的格式中,从而使查询结构更加明显,那么在某些领域,切片和分块数据集就会变得更容易。所以这可以归结为仔细考虑你的用例。
https://stackoverflow.com/questions/43749070
复制相似问题