精品文档
这道题您没有回答
答案:(5)收银员,或收银员编号 (6)就诊号
(7)药品编码,数量,单价
(8)类型,库存,货架编号,单位,规格,单价 挂号单主键:就诊号 门诊处方主键:就诊号 处方明细主键:就诊号、药品编码 [分析] 问题1分析
本题主要是考数据库的概念结构设计。
根据题目的需求描述和表10-3中的数据可知,一名医生可以开多张门诊处方,一张门诊处方由一名医生开出。所以对于医生实体与门诊处方实体之间的联系“开处方”,其联系的类型为一对多(1:n)。(1)空的答案为1,(2)空的答案为n。
根据题目的需求描述和表10-3中的数据可知,一张门诊处方包含多种库存中的药品,一种库存中的药品也可以在多张门诊处方中。所以对于门诊处方实体与药品库存实体之间的联系“明细”,其联系的类型为多对多(m:n)。(3)空的答案为m,(4)空的答案为n。 问题2分析
根据题目的需求描述和表10-1中的数据可知,挂号单由收银员进行收费,因此挂号单实体与收银员实体之间存在联系。挂号单:收银员 病人挂某个医师的号,将挂号信息记录在挂号单实体中,因此挂号单实体与医师实体之间存在联系。挂号单:医师
根据题目的需求描述和表10-3中的数据可知,收银员根据挂号单和医师的手写处方生成门诊处方,所以挂号单实体与门诊处方实体之间存在联系。挂号单:门诊处方 因此,缺少的联系数:3 问题3分析
本题主要考查数据库的逻辑结构设计。 根据实体联系图和表10-1的数据,对于“挂号单”关系模式,由于挂号单与收银员实体有联系,需记录对应的收银员,因此,“挂号单”关系模式需补充属性(5):收银员。
根据实体联系图和表10-3的数据,由于门诊处方实体与挂号单实体有联系,因此,“门诊处方”关系模式需记录(6):就诊号。并且,根据题意在门诊处方和挂号单之间存在的是1对1的联系,因此挂号单的主键可以作为门诊处方的主键。
根据实体联系图和表10-2、表10-3的数据,由于广张门诊处方中包含多项药品信息,而一种药品也可以属于多张门诊处方,所以通过“处方明细”关系模式来表示这种多对多的联系。并且由于每种药品的具体信息已经在“药品库存”关系模式中记录,所以,“处方明细”关系模式主要记录的是门诊处方与药品的对应关系和处方所需药品的具体数量。并且,根据题目描述,由于药品价格会发生变化,门诊管理系统必须记录处方单上药品的当前单价。因此,“药品库存”关系模式补充属性(7):堑显缠昱,数量,单价。其中就诊号和药品编号一起作为主键。 “药品库存”关系模式主要记录药品的详细信息和库存信息,根据实体联系图和表 10-2的数据,“药品库存”关系模式需补充属性(8):类型,库存,货架编号,单位,规格,单价。 挂号单主键:就诊号 门诊处方主键:就诊号
处方明细主键:就诊号、药品编码 试题三
阅读下列说明和图,回答问题1至问题3。 精品文档
精品文档
【说明】
某图书管理系统的主要功能如下:
1.图书管理系统的资源目录中记录着所有可供读者借阅的资源,每项资源都有一个唯一的索引号。系统需登记每项资源的名称、出版时间和资源状态(可借阅或已借出)。
2.资源可以分为两类:图书和唱片。对于图书,系统还需登记作者和页数;对于唱片,还需登记演唱者和介质类型(CD或者磁带)。
3.读者信息保存在图书管理系统的读者信息数据库中,记录的信息包括:读者的识别码和读者姓名。系统为每个读者创建了一个借书记录文件,用来保存读者所借资源的相关信息。 现采用面向对象方法开发该图书管理系统。识别类是面向对象分析的第一步。比较常用的识别类的方法是寻找问题描述中的名词,再根据相关规则从这些名词中删除不可能成为类的名词,最终得到构成该系统的类。表10-4给出了[说明]中出现的所有名词。 表10-4
图书管理系统 资源目录 读者 资源 索引号 系统 名称 出版时间 资源状态 图书 唱片 作者 页数 演唱者 介质类型 CD 磁带 读者信息 读者信息数据库 识别码 姓名 借书记录文件 信息
通过对表10-4中的名词进行分析,最终得到了图10-4所示的UML类图(类的说明如表10-5所示)。
表10-5
类名 说明
图书管理系统 LibrarySystem
保存读者信息的数据库 BorrowerDB
资源目录中保存的每项资源 CatalogItem
读者 Borrower
为每个读者创建的借书记录文件 BorrowerItems
7. 【问题1】
表10-5所给出的类并不完整,根据[说明]和表10-4,将图10-4中的(a)~(c)处补充完整。
精品文档
精品文档
这道题您没有回答
答案:(a)资源目录 (b)图书 (c)唱片 注:(b)和(c)的答案可以互换
8. 【问题2】
根据【说明】中的描述,给出图10-4中的类CatalogItem以及(b)、(c)处所对应的类的关键属性(使用表10-4中给出的词汇),其中,CamlogItem有4个关键属性;(b)、 (c)处对应的类各有两个关键属性。 这道题您没有回答
答案:CatalogItem的属性:索引号、名称、出版时间、资源状态 图书的属性:作者、页数
唱片的属性:演唱者、介质类型 9. 【问题3】
识别关联的多重度是面向对象建模过程中的一个重要步骤。根据[说明]中给出的描述,完成图10-4中的(1)~(6)。 这道题您没有回答
答案:(1)1 (2)0..* (3)1 (4)0..* (5)1 (6)1或者0..1 [分析]
本题主要考查面向对象分析中类图的设计,涉及到类的识别、属性的识别以及多重度的计算。 [问题1]要求的是将所有的类找出来。由于[说明]中给出了识别类的规则,并给出了所有的候选类和一张不完整的类图,从而为我们提供了大量的提示信息。从类图可以看出,这里有一个继承结构,确实这两个类恰好是这个继承结构的子类。根据[说明]中提供信息,我们发现只有“资源”、“图书”和“唱片”这三者之间存在着继承结构所描述的“一般—特殊”关系。因为“图书”和“唱片”都是图书管理系统中的资源,因此具有共性 (索引号、名称、出版时间、资源状态);而这两者又是两种完全不同的事物,所以有着各自特有的性质。同时,这三者又都在候选类集合中。所以可以断定(b)、(c)处要填的类就是“唱片”和“图书”。这里连这三个类精品文档
精品文档
的属性也可以完全确定了。类CatalogItem描述的是共性,所以它的属性是索引号、名称、出版时间、资源状态。由[说明]中第2条可以确定,“图书”的属性是作者和页数;“唱片”的属性是演唱者和介质类型。
下面需要确定(a)处的类到底是什么?从[说明]中的第1条和表10-5可以看出, CatalogItem表示的是“资源目录保存的每项资源”,这是集合(资源目录)与其中的元素的概念。所以(a)处的类应该是“资源目录”一既然明确这里是集合的概念,(1)和 (2)处的多重度也可以确定了。CatalogItem表示的是部分,所以(1)处应填1,(2)处应填1..*(0..*也可以)。
类似的,BorrowerDB与Borrower之间也具有相似的关系。因为数据库中可以保存多个读者的信息。因此(3)处填1,(4)处填1..*(0..*也可以)。系统为每个读者都创建了借书记录文件,所以(5)处填1,(6)填1(0..1也可以)。 试题四
阅读以下说明和图,填补流程图中的空缺。 10. 【说明】
在一条农村公路的一边稀疏地分布着房子,其分布如图10-5所示。某电信公司需要在某些位置放置蜂窝电话基站,由于基站的覆盖范围是6公里,因此必须使得每栋房子到某个基站的直线距离不超过6公里。为简化问题,假设所有房子在同一直线上,并且基站沿该直线放置。现采用贪心策略实现用尽可能少的基站覆盖所有的房子。
实现贪心算法的流程如图10-6所示,请填充其中空白并计算该算法的时间复杂度,其中: 1.d[i](1≤i≤N)表示第i个房子到公路A端的距离,N表示房子的总数,房子的编号按照房子到公路A端的距离从小到大进行编号。
2.s[k]表示第k(k≥1)个基站到公路A端的距离,算法结束后k的值为基站的总数。
精品文档

