阅读下列说明,根据要求回答下列问题。
[说明]
某医院的门诊管理系统实现了为患者提供挂号、处方药品收费的功能。具体的需求及设计如下。
1.医院医师具有编号、姓名、科室、职称、出诊类型和出诊费用,其中出诊类型分为专家门诊和普通门诊,与医师职称无关;各个医师可以具有不同的出诊费用,与职称和出诊类型无关。
2.患者首先在门诊挂号处挂号,选择科室和医师,根据选择的医师缴纳挂号费(医师出诊费)。收银员为患者生成挂号单,如表7-15所示,其中,就诊类型为医师的出诊类型。
表7-15 ××医院门诊挂号单
收银员:13011 时间:2007年2月1日08:58
就诊号 | 姓名 | 科室 | 医师 | 就诊类型 | 挂号费 |
20070205015 | 叶萌 | 内科 | 杨玉明 | 专家门诊 | 5元 |
表7-16 药品库
药品编码 | 药名称 | 类型 | 库存 | 货架编号 | 单位 | 规格 | 单价 |
12007 | 牛蒡子 | 中药 | 51590 | B1401 | G | 炒 | 0.0340 |
11090 | 百部 | 中药 | 36950 | B1523 | G | 片 | 0.0313 |
表7-17 ××医院门诊处方单
就诊号 | 20070205015 | 病人姓名 | 叶萌 | 医师姓名 | 杨玉明 |
金额总计 | 0.65 | 项目总计 | 2 | 收银员 | 21081 |
药品编码 | 药品名称 | 数量 | 单位 | 单价 | 金额(元) |
12007 | 牛蒡子 | 10 | G | 0.0340 | 0.34 |
11090 | 百部 | 10 | G | 0.0313 | 0.31 |
[概念模型设计]
根据需求阶段收集的信息,设计的实体联系图(不完整)如图7-11所示。
[逻辑结构设计]
根据概念模型设计阶段完成的实体联系图,得出如下关系模式(不完整)。
挂号单(就诊号,病患姓名,医师编号,时间,______)
收银员(编号,姓名,级别)
医师(编号,姓名,科室,职称,出诊类型,出诊费用)
门诊处方(______,收银员,时间)
处方明细(就诊号,______)
药品库(药品编码,药品名称,______)
[问题3]
根据实体联系图7-11,填写挂号单、门诊处方、处方明细和药品库关系模式中的空缺处,并指出挂号单、门诊处方和处方明细关系模式的主键。
参考答案:收银员编号,或收银员
就诊号
药品编号,数量,单价
类型,库存,货架编号,单位,规格,单价
挂号单主键:就诊号
门诊处方主键:就诊号
处方明细主键;就诊号、药品编码
解析:依题意,对于“挂号单”关系模式,根据表7-15的数据,并结合[问题2]的分析结果,由于“挂号单”实体与“收银员”实体之间存在联系“生成”,在挂号单中需记录对应的收银员,因此,“挂号单”关系模式需补充属性“收银员编号(或收银员)”。挂号单的主键“就诊号”,外键是“医师编号”和“收银员编号”。
同理,对于“门诊处方”关系模式,根据表7-17的数据,并结合[问题2]的分析结果,“挂号单”实体与“门诊处方”实体之间存在联系“关联”,在门诊处方单中需记录挂号单中的就诊号,因此,“门诊处方”关系模式需补充属性“就诊号”。由于“挂号单”实体与“门诊处方”实体之间存在一对一(1:1)的联系,因此挂号单的主键“就诊号”可以作为门诊处方的主键,门诊处方的外键是“就诊号”和“收银员编号(或收银员)”。
对于“药品库存”关系模式,其主要记录药品的详细信息和库存信息,根据表7-16的数据,“药品库存”关系模式需补充的属性有“类型,库存,货架编号,单位,规格,单价”,其主键是“药品编号”。
由[问题1]的分析结果可知,一张门诊处方中包含多项药品信息,而一种药品也可以存在于多张门诊处方中,因此通过“处方明细”关系模式来表示这种多对多(m:n)的联系。并且由于每种药品的具体信息已经在“药品库存”关系模式中记录,在“处方明细”关系模式中主要记录的是门诊处方与药品的对应关系,以及处方所需药品的具体数量,结合题干给出的关键信息“由于药品价格会发生变化,因此门诊管理系统必须记录处方单上药品的单价”。因此,“处方明细”关系模式需补充的属性有“药品编号,数量,单价”。其中,“就诊号”和“药品编号”既是“处方明细”关系模式的主键,也是它的外键。