每条数据 条件 都不相同,一个或 多个,该怎么设计 数据库?
先说 一般的情况:
三碘甲状腺原氨酸; 1.6~3.0nmol/L;偏高:疾病 A;偏低:疾病B
这是 一条检查指标 数据, 有一个 数值范围,1.6-3.0,
当 用户 在前台 对 该指标 填 1,那么 就是说 小于 范围 的最低值,偏低,结果 可能是 疾病B;反之, 填了5,那么 就是 偏高,可能 是疾病A。
这时候 我可以在数据库 里 有4个字段,一个 最低值,一个 最高值,一个 大于时的疾病,一个 小于 时的疾病,然后 按照 数值判断 给出 疾病结果。
但 问题 是 并不是 所有 的指标 这么 清楚、明确的 。
比如 有年龄的、性别 条件 的,儿童 21~25mmol/L;成人 22~28mmol/L ,
是要 变成两条吗?儿童一条,成年一条。
就算 是 变成多条,要 用户 在 使用的 时候 必须选择一个条件 进行筛选,类似这样
可是 像 年龄、性别 还算 是统一 一些的条件,很多 条件只有 该指标 存在的,其他 并没有:
1、酶速率法(37℃)健康成年人7.7-19.3U/L。 2、分光光度法<25U。 3、比色法健康成年人为5~25U/ml。
血清果糖胺正常值为1.64~2.64mmol/L,血浆中果糖胺较血清低0.3mmol/L。
男0.43~1.28g/L(43~128mg/dl); 女0.42~1.12g/L(43~128mg/dl)。
垂体泌乳素:妊娠中3个月<160μg/L(<160ng/ml)。 妊娠后3个月<400μg/L(400ng/ml)。 绝经期:<0.91nmol/L。
等等,情况多种,可以 说 不同的 检查 有 不同的 条件,不同的条件 下 数值 就不同。并不是 单一 的一个 数值 范围。
而且 条件 不是统一 都有,很多只是 这个 指标 才有的 ,其他 的没有。。。。
这时候 应该 怎么设计 数据库,或者 数据结构呢?
我大概 想到 不同的条件 就是 一条,比如 垂体泌乳素 有 3条, 分别 对应不同的 时期。。。
可是 这时候 怎么给用户展示条件呢?还没有 实际 操作,不确定 是否可行。。
该 怎么设计 数据库,或 数据结构呢?
如果是MongoDB,那你想怎么定义document都可以啊
基础表(M)——关系表(R)——字典表(D), 像年龄、性别这样的可以放字典表里,你说情况有很多种,那你就多建几个关系,不同的关系还是可以表示出来的 关系型数据库可能还是有些为null的,不过多建几个小的关系表还是可以满足一些需求 最好就是画个图 文字看着难受 也不好分析
关于MongoDB数据库设计的问题,在MongoDB萌阔论坛上有相关讨论及介绍,你可以去看看,了解更多^^^^
萌阔论坛网址:http://forum.foxera.com/mongodb/topic/46/mongodb-数据模型?un=Jesse