阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。 【说明】 某医院为了更好地为患者服务、提高医院管理水平,拟开发满足自身特点的信息系统。其部分需求及设计如下: 【需求描述】 (1)患者到医院就诊,需提供本人医保卡或身份证,系统

admin2020-04-30  29

问题 阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
    某医院为了更好地为患者服务、提高医院管理水平,拟开发满足自身特点的信息系统。其部分需求及设计如下:
【需求描述】
    (1)患者到医院就诊,需提供本人医保卡或身份证,系统根据医保卡或身份证从外部医保信息库获取患者的其他详细信息,包括医保卡号、身份证号、姓名、性别、民族、出生日期等信息。
    (2)医生信息包括医生编号、姓名、性别、出生日期、职称等信息。
    (3)通过患者自述、化验结果分析等信息,医生对患者的病情进行诊断,开具处方,并填写病例。病例同时包含诊断和处方信息,包括编号、患者姓名、病情描述、诊断结论、主治医生、药品名称、药品数量、服用剂量等,处方中一般会有多种药品。
    (4)病人凭医生开具的处方可在医院购买药品。医院记录药品的条码、名称、价格、生产厂商等信息。
【逻辑结构设计】
    根据上述需求,设计出如下关系模式:
    医生(编号,姓名,性别,出生日期,职称)
    患者(身份证号,医保卡号,姓名,性别,民族,出生日期)
    药品(条码,名称,价格,生产厂商)
    病例(编号,药品条码患者身份证号主治医生编号,病情描述,诊断结论,诊断日期,服用剂量,药品数量,购买日期)
对关系“病例”,存在如下的数据依赖:
DD={编号→(患者身份证号,主治医生编号,病情描述,诊断结论,诊断日期),(编号,药品条码)→(服用剂量,药品数量,购买日期),编号→→(药品条码,服用剂量,药品数量,购买日期)}
请回答以下问题。
(1)该关系模式存在哪些问题?
(2)该关系模式是否属于4NF,请给出理由。
(3)如果“病例”不是4NF,请分解,并指出分解后的关系模式所属范式。分解后的关系名依次为:病例1,病例2……

选项

答案对关系“病例”: (1)存在问题: 插入异常,主码为(编号,药品条码),当药品信息未产生之前,无法插入诊断信息。 删除异常,若只有一条药品信息,删除时会将诊断信息一并删除。 修改异常,若修改诊断信息,则需要修改多条。 数据冗余,诊断信息多次存储。 (2)不属于4NF。 存在嵌入的多值依赖:编号→→(药品条码,服用剂量,药品数量,购买日期) (3)分解后的关系模式: 病例1(编码,药品条码,服用剂量,药品数量,购买日期)∈4NF 病例2(编码患者身份证号主治医生编码,病情描述,诊断结论,诊断日期)∈BCNF

解析     由【需求描述】(1)中的“病例同时包含诊断和处方信息……处方中一般会有多种药品”可知,病例关系模式存在数据冗余和三种更新异常。
    由题目给定的数据依赖集中包含多值依赖,且为嵌入式的多值依赖,根据4NF定义,病例关系模式不属于4NF。
    由4NF分解算法,针对多值依赖:编号→→(药品条码,服用剂量,药品数量,购买日期),将其中所有属性构成关系模式:病例1(编码,药品条码,服用剂量,药品数量,购买日期),数据依赖集DD1={(编号,药品条码)→(服用剂量,药品数量,购买日期),编号→→(药品条码,服用剂量,药品数量,购买日期)},其中多值依赖为平凡的多值依赖,属于4NF。从原关系中去掉多值依赖的右部,分解出另一关系模式:病例2(编码患者身份证号主治医生编号,病情描述,诊断结论,诊断日期),函数依赖集FD2={编号→(患者身份证号,主治医生编号,病情描述,诊断结论,诊断日期)},属于BCNF。
转载请注明原文地址:https://jikaoti.com/ti/dVN7FFFM
0

相关试题推荐
最新回复(0)