某医院为了更好的为患者服务、提高医院管理水平,拟开发满足自身特点的信息系统。其部分需求及设计如下。
【需求描述】(1)患者到医院就诊,需提供本人医保卡或身份证,系统根据医保卡或身份证从外部医保信息库获取患者的其他详细信息,包括医保卡号、身份证号、姓名、性别、民族、出生日期等信息。(2)医生信息包括医生编号、姓名、性别、出生日期、职称等信息。(3)通过患者自述、化验结果分析等信息,医生对患者的病情进行诊断,开具处方,并填写病例。病例同时包含诊断和处方信息,包括编号、患者姓名、病情描述、诊断结论、主治医生、药品名称、药品数量、服用剂量等,处方中一般会有多种药品。(4)病人凭医生开具的处方可在医院购买药品。医院记录药品的条码、名称、价格、生产厂商等信息。
【逻辑结构设计】根据上述需求,设计出如下关系模式医生(编号,姓名,性别,出生日期,职称)患者(身份证号,医保卡号,姓名,性别,民族,出生日期)药品(条码,名称,价格,生产厂商)病例(编号,药品条码,患者身份证号,主治医生编号,病情描述,诊断结论,诊断日期,服用剂量,药品数量,购买日期)
【问题1】对关系“患者”,请回答以下问题:(1)给出函数依赖集。(2)给出所有候选码。(3)判定属于第几范式,并说明理由。
【问题2】对关系“病例”,存在如下的数据依赖:FD={编号→(患者身份证号,主治医生编号,病情描述,诊断结论,诊断日期),(编号,药品条码)→(服用剂量,药品数量,购买日期)},请回答以下问题。(1)该关系模式存在哪些问题?(2)该关系模式是否属于 4NF?请给给出理由。(3)如果“病例”不是 4NF,请分解,并指出分解后的关系模式所属范式。分解后的关系名依次为:病例 1,病例 2,...。
【问题3】针对【问题 2】的规范化要求,如果设计者分解出的多个关系模式其中之一如下:购药(病例编号,药品条码,服用剂量,药品数量,购买日期)如果医院要求统计每名医生(编号和姓名)每天接诊的患者所购买的各个药品的条码和数量。基于上述设计,实现该统计共需哪几个关系?为提高该统计效率,允许对范式条件放宽要求,请修改“购药”关系模式以优化该统计。
正确答案及解析
正确答案
解析
【问题1】1)FD={身份证号->(医保卡号,姓名,性别,民族,出生日期),医保卡号->(身份证号,姓名,性别,民族,出生日期)}
2)候选码:身份证号 或 医保卡号3)患者关系属于4NF,因为在FD不存在非主属性对码的部分和传递依赖,也不存在主属性对不包含它的码的部分和传递函数依赖,同时也不存在非平凡且非函数依赖的多值依赖。
【问题2】1)由于将一对多的两个关系合并成为一个关系,在FD中存在非主属性对码的部分函数依赖,因此关系存在插入、删除、更新异常和数据冗余。
2)不属于4NF,而是属于2NF,存在非主属性(患者身份证号等)对码(编号,药品条码)的部分函数依赖,同时也存在编号对条形码等属性的非平凡多值函数依赖。
3)病例 1(编号,患者身份证号,主治医生编号,病情描述,诊断结论,诊断日期)病例 2(编号,药品条码,服用剂量,药品数量,购买日期)
【问题3】需要有的关系为:病例、医生、购药关系。如果仅为了提高该查询的效率,即尽量减少连接运算,可以考虑在修改购药关系如下:购药(病例编号,药品条码,服用剂量,药品数量,购买日期,医生编号,医生姓名)
你可能感兴趣的试题
一台主机的IP地址为202.123.25.36,掩码为255.255.254.0。如果该主机需要在该网络进行直接广播,那么它应该使用的目的地址为( )
-
- A.202.123.25.0
- B.202.123.25.255
- C.202.123.24.0
- D.202.123.24.255
- 查看答案
在计算机系统的日常维护工作中,应当注意硬盘工作时不能__(2)__。另外,需要防范病毒,而__(3)__是不会被病毒感觉的。
-
- A.电子邮件
- B.硬盘
- C.U盘
- D.ROM
- 查看答案
有 4 个 IP 地址:201.117.15.254、201.117.17.01、201.117.24.5 和 201.117.29.3,如果子网掩码为 255.255.248.0,则这 4 个地址分别属于3个子网;其中属于同一个子网的是()
-
- A.201.117.15.254 和 201.117.17.01
- B.201.117.17.01 和 201.117.24.5
- C.201.117.15.254 和 201.117.29.3
- D.201.117.24.5 和 201.117.29.3
- 查看答案
在异步通信中,每个字符包含1位起始位、7位数据位、1位奇偶位和1位终止位,每秒钟传送200个字符,采用4相位调制,则码元速率为()。
-
- A.50波特
- B.500波特
- C.550波特
- D.1000波特
- 查看答案
在 Windows 中,运行( )命令得到下图所示结果。以下关于该结果的叙述中,错误的是( )。
Pinging 59.74.111.8 with 32 bytes of data:
Reply from 59.74.111.8: bytes=32 time=3ms TTL=60
Reply from 59.74.111.8: bytes=32 time=5ms TTL=60
Reply from 59.74.111.8: bytes=32 time=3ms TTL=60
Reply from 59.74.111.8: bytes=32 time=5ms TTL=60
Ping statistics for 59.74.111.8:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 3ms, Maximum = 5ms, Average = 4ms
-
- A.该命令使得本地主机向目标主机发送了 4 个数据包
- B.本地主机成功收到了目标主机返回的 4 个数据包
- C.本地主机与目标主机连接正常
- D.该命令用于查看目标主机的 IP 地址
- 查看答案