试题二(15分)
阅读以下说明,回答问题1至问题3。
【说明】
某医院开发电子病历系统,需要存储患者信息、就诊记录、处方信息、检查报告等数据。系统要求:支持多科室并发访问、数据需要长期保存、支持历史病历查询、系统7×24小时运行。
数据库设计如下:
患者(患者ID,姓名,性别,出生日期,联系电话,身份证号)
科室(科室ID,科室名称,位置,负责人)
医生(医生ID,姓名,职称,科室ID,联系方式)
就诊记录(就诊ID,患者ID,医生ID,科室ID,就诊时间,主诉,诊断结果)
处方(处方ID,就诊ID,药品名称,规格,数量,用法用量)
【问题2】(5分)请判断以上关系模式最高满足第几范式?是否存在数据冗余和更新异常?如有,请说明如何优化。
参考答案当前模式分析:
1. 各关系模式中属性都是原子的,满足1NF。
2. 非主属性完全依赖于主键,不存在部分函数依赖,满足2NF。
3. 就诊记录中,科室ID直接依赖于就诊ID(就诊时所在科室),不存在传递依赖,满足3NF。
潜在问题:处方表中如果同一药品多次出现,药品名称、规格重复存储,建议拆出药品表:
药品(药品ID,药品名称,规格,生产厂家,价格)
处方明细(处方ID,药品ID,数量,用法用量)
这样减少数据冗余,避免药品信息更新异常。