阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
说明:某医院的门诊管理系统实现了为患者提供挂号、处方药品收费的功能。具体的需求及设计如下。(1)医院医师具有编号、姓名、科室、职称、出诊类型和出诊费用,其中出诊类型分为专家门诊和普通门诊,与医师职称无关;各个医师可以具有不同的出诊费用,与职称和出诊类型无关。
(2)患者首先在门诊挂号处挂号,选择科室和医师,根据选择的医师缴纳挂号费(医师出诊费)。收银员为患者生成挂号单,如题表2-1所示,其中,就诊类型为医师的出诊类型。
(3)患者在医师处就诊后,凭借挂号单和医师手写处方到门诊药房交费买药。收银员根据就诊号和医师处方中开列的药品信息,查询药品库(如题表2-2所示),并生成门诊处方单(如题表2-3所示)。
(4)由于药品价格会发生变化,因此,门诊管理系统必须记录处方单上药品的单价。根据需求阶段收集的信息,设计的实体联系图和关系模式(不完整)如题图2-1所示。
①实体联系图。
②关系模式。挂号单(就诊号,病患姓名,医师编号,时间,(5))收银员(编号,姓名,级别)医师(编号,姓名,科室,职称,出诊类型,出诊费用)门诊处方((6),收银员,时间)处方明细(就诊号,(7))药品库(药品编码,药品名称,(8))
问题1:根据问题描述,填写题图2-1实体联系图中(1)~(4)处联系的类型。
问题2:题图2-1中还缺少几个联系?请指出每个联系两端的实体名,格式如下:实体1:实体2例如,收银员与门诊处方之间存在联系,表示为:收银员:门诊处方或门诊处方:收银员。
问题3:根据实体联系题图2-1,填写挂号单、门诊处方、处方明细和药品库关系模式中的空(5)~(8)处,并指出挂号单、门诊处方和处方明细关系模式的主键。
参考答案:
问题1(1)1分(2)*或n或m(3)*或n或m(4)*或n或m
问题2:缺少的联系数:3挂号单:收银员;挂号单:医师;挂号单:门诊处方
问题3:(5)收银员(6)就诊号(7)药品编码,数量,单价(8)类型,库存,货架编号,单位,价格,单价挂号单主键:就诊号;门诊处方主键:就诊号;处方明细主键:就诊号,药品编码
解析:
本题是一道数据库设计题,该类型的提问形式比较固定,在软件设计师考试下午题中是比较好得分的。
问题1:该问题是求实体间的联系,这类问题主要通过"生活常识"+"系统描述"解题。由于一名医师在不同时间段可以给多个病人看病,也就可以开多张门诊处方,而一张门诊处方由一名医师开出,所以医师实体与门诊处方实体之间的"开处方"联系的类型为一对多(1:n)。所以空(1)处为1,空(2)处为n。由于一张门诊处方包含多种库存中的药品(如"××医院门诊处方单"所示),一种库存中的药品也可以在多张门诊处方中,所以门诊处方实体与药品库实体之间联系的类型为多对多(m:n)。空(3)处和空(4)处均为n。
问题2:根据"××医院门诊挂号单"可以看出,挂号单由收银员进行收费,同时收银员的编号记录到了该挂号单中,因此挂号单实体与收银员实体之间存在联系--挂号单:收银员。病人挂某个医师的号,将挂号信息记录在挂号单实体中,因此挂号单实体与医师实体之间存在联系--挂号单:医师。收银员根据挂号单和医师的手写处方生成门诊处方,所以挂号单实体与门诊处方实体之间存在联系--挂号单:门诊处方。
问题3:本问题考查将E-R模型转换为关系模式。在此转换过程中,每一个实体转成一个关系模式。对于联系的转换,相对比较复杂,可单独转为关系模式,也可以将其并入实体关系模式中(注意:多对多的联系只能单独转成一个关系模式,且该关系模式的主键为各个与之关联的实体主键的组合)。所以一个关系模式的属性有两类,一类是实体本身具备的属性,另一类是为了保存实体与实体之间的联系而记录的属性。下面将根据实体及与之相关的联系类型结合系统说明来分析。
(1)对于挂号单关系模式,由于挂号单与收银员实体有联系,且它们之间的联系没有单独转成关系模式,所以需要在挂号单关系模式中记录对应的收银员,因此,挂号单关系模式需补充属性:收银员。
(2)从"××医院门诊处方单"可以得知门诊处方关系模式应具有的信息。但在此需要注意的是,哪些信息是门诊处方关系模式应直接存储的,哪些信息是可以通过查询从其他关系模式获取的。结合题目可知该关系模式应补充属性:就诊号。补充"就诊号"之后,其他信息可通过"明细"、"收费"、"挂号门诊联系"、"开处方"等联系查询出来。
(3)由于多张门诊处方中包含多项药品信息,而一种药品也可以属于多张门诊处方,所以要通过处方明细关系模式来表示这种多对多的联系。并且由于每种药品的具体信息已经在药品库关系模式中记录,所以,处方明细关系模式主要记录的是门诊处方与药品的对应关系和处方所需药品的具体数量。并且,根据题目描述,由于药品价格会发生变化,门诊管理系统必须记录处方单上药品的当前单价。因此,药品库关系模式应补充属性:药品编码,数量,单价。其中,就诊号和药品编码一起作为主键。
(4)药品库关系模式主要记录药品的详细信息和库存信息,"药品库"表中已经说明需要记录的信息,所以应补充属性:类型,库存,货架编号,单位,规格,单价。综上所述,挂号单与门诊处方关系模式的主键均为就诊号。而处方明细是一个多对多的联系,它的主键应为与之关联的实体主键之组合,即(就诊号,药品编码)。