首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >临床问卷关系数据库

临床问卷关系数据库
EN

Stack Overflow用户
提问于 2016-09-25 19:37:59
回答 1查看 20关注 0票数 0

我有一份表格(除其他事项外),询问病人是否有某些健康状况,以及他/她的父母是否有/是否有过某些健康状况。在关系数据库中存储这些信息的最佳方法是什么?

为了便于讨论,让我们考虑一种单一的健康状况,糖尿病。请注意,我至少有25个条件要记录。

我考虑了两种可能的解决方案,但我对两者都不满意。

1.使用带有以下字段的检查表

代码语言:javascript
复制
PatientId      -- integer
Diabetes       -- boolean
DiabetesFather -- boolean
DiabetesMother -- boolean

这里的问题是,字段的数量爆炸了;对于每个条件,我有3个字段。

2.使用包含以下字段的条件表

代码语言:javascript
复制
PatientOrPatientParentId -- integer
Diabetes                 -- boolean

在这种情况下,病人的父母必须作为假病人引入DB。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-25 19:49:29

有许多可能的解决方案,问题中列出的解决方案的一个替代方案是使用三个表对其进行建模,如下所示:

代码语言:javascript
复制
Patients (PatientId (PK), PatientName, ...)
-- example: 1, "Patient1"
Conditions (ConditionID (PK), ConditionName, ...)
-- example: 1, "Diabetes"
PatientCond (PatientID (FK), ConditionID (FK), PatientStatus, FatherStatus, MotherStatus)
-- example: 1, 1, true, false, true

使用连接表是建模多到多关系的通用解决方案。

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

https://stackoverflow.com/questions/39691026

复制
相关文章

相似问题

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