首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >最佳实践--我应该为两组相似的数据做一个或两个表吗?

最佳实践--我应该为两组相似的数据做一个或两个表吗?
EN

Stack Overflow用户
提问于 2017-05-03 00:08:39
回答 1查看 37关注 0票数 0

我需要一个表来存储测试类型。我得到了两个excel电子表格,一个用于微生物测试,一个用于病原体。微生物5柱,致病菌10柱,这5柱均在表中。所以其中一个有5个额外的列。

为了让您了解一下,表列应该如下所示:

代码语言:javascript
运行
复制
**Microbial** 

Test        Method    IncubationStage1 



**Pathogens**

Test        Method   IncubationStage1  IncubationStage2 Enrichment

那么,有一张微生物表和一张用于病原体的表格更好,还是最好有一张用于测试的表格,并且两者都有?在我知道只有一半的柱子会被利用的桌子里有微生物会不好吗?还是将相关项目保存在同一个表中,并以列"Type“分隔它们更好?

显然两者都会很好,但我想知道哪一个更好。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-03 00:26:06

这类问题的答案总是“视情况而定”。

在我看来,如果你认为你会想要通过测试或者通过跨病原或微生物类型的方法来聚合数据,那么你当然应该把数据放在同一个表中,并增加一个列来区分它们。

您还可以更好地“规范化”您的表,如下所示:

代码语言:javascript
运行
复制
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的土地正常化可能是敌人。如果数据集存储在更臃肿的格式中,从而使查询结构更加明显,那么在某些领域,切片和分块数据集就会变得更容易。所以这可以归结为仔细考虑你的用例。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43749070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档