是“迹象和症状”的多项选择,如果必须填写“其他”,则必须填写“指定其他”字段。如何存放这个。 什么是性能和查询的最佳表结构? 在单个表中提供15列,如果没有值则存储空值,或者在另一个表中存储症状的外键(在此策略中,如何存储“其他症状”描述列,即指定其他字段数据)。
答案 0 :(得分:2)
目前尚无统一答案,您的选择可能取决于多种因素,包括外部问题,即用于支持数据库的编码框架(如果有)。做到这一点的“经典”方法:
1. Patient table:
id (PK)
name
2. Symptom table:
id (PK)
symptom
3. Patient to Symptom table:
id (PK)
patient_id (FK)
symptom_id (FK)
other_symptoms (text)
但是再一次,任何一种方法(包括这种方法)都有其优点和缺点,这不是通用解决方案。
答案 1 :(得分:1)
我肯定会排除表选项中的 15列,因为只要需要添加新的症状,并且需要 ,就应该早一点,您必须:
我会选择经典的many to many relationship
,其表类似于:
patients
:患者ID,姓名等symptoms
:症状ID,名称,描述等patient_symptoms
:患者ID,症状ID 最好是增加一张桌子:
visits
:医生ID,患者ID,日期,其他症状 然后,您的patient_symptoms
表可以与医生实际的visit
相关:
patient_symptoms
:visit_id,症状ID