1、中级软件设计师下午试题-124 及答案解析(总分:99.98,做题时间:90 分钟)一、试题一(总题数:1,分数:25.00)说明 某汽车维修站拟开发一套小型汽车维修管理系统,对车辆的维修情况进行管理。 (1)对于新客户及车辆,汽车维修管理系统首先登记客户信息,包括客户编号、客户名称、客户性质(个人、单位)、折扣率、联系人、联系电话等信息;还要记录客户的车辆信息,包括车牌号、车型、颜色等信息。一个客户至少有一台车。客户及车辆信息如表 1 所示。 (2)记录维修车辆的故障信息,包括维修类型(普通、加急)、作业分类(大、中、小修)、结算方式(自付、三包、索赔)等信息。维修厂的员工分为维修员和业务员
2、。车辆维修首先委托给业务员。业务员对车辆进行检查和故障分析后,与客户磋商,确定故障现象,生成维修委托书,如下表 2 所示。 表 1 客户及车辆信息 客户编号 GS0051 客户名称 公司 客户性质 单位 折扣率 95% 联系人 杨浩东 联系电话 82638779 车牌号 *0765 车型 帕萨特 颜色 白色 车辆类别 微型车 表 2 维修委托书 No.20070702003 登记日期:2007-07-02 车牌号 *0765 客户编号 GS0051 维修类型 普通 作业分类 中修 结算方式 自付 进厂时间 20070702 11:09 业务员 张小江 业务员编号 012 预计完工时间 故障描述
3、 车头损坏,水箱漏水 (3)维修车间根据维修委托书和车辆的故障现象,在已有的维修项目中选择并确定一个或多个具体维修项目,安排相关的维修工及工时,生成维修派工单。维修派工单如下表所示。 维修派工单 No.200700702003 维修项目编号 维修项目 工时 维修员编号 维修员工种 012 维修车头 5.00 012 机修 012 维修车头 2.00 023 漆工 015 水箱焊接补漏 1.00 006 焊工 017 更换车灯 1.00 012 机修 (4)客户车辆在车间修理完毕后,根据维修项目单价和维修派工单中的工时计算车辆此次维修的总费用,并记录在委托书中。 概念结构设计 根据需求阶段收集的
4、信息,设计的实体联系图(不完整)如下图所示。图中的业务员和维修工是员工的子实体。 (分数:25.00)(1).根据问题描述,填写图中(1)(4)处联系的类型。联系类型分为一对一、一对多和多对多 3 种,分别使用 1:1、1:n 或 1:*、m:n 或*:*表示。(分数:6.25)_(2).补充图中所示的联系并指明其联系类型。联系名可为联系 1、联系 2 等。(分数:6.25)_(3).根据图中和说明,将逻辑结构设讨一阶段生成的关系模式中的横线处补充完整。(分数:6.25)_(4).根据问题描述,写出客户、委托书和派工单这 3 个关系模式的主键。(分数:6.25)_二、试题二(总题数:1,分数:
5、25.00)说明 某医院的门诊管理系统实现了为患者提供挂号、处方药品收费的功能。具体的需求及设计如下。 (1)医院医师具有编号、姓名、科室、职称、出诊类型和出诊费用,其中出诊类型分为专家门诊和普通门诊,与医师职称无关;各个医师可以具有不同的出诊费用,与职称和出诊类型无关。 (2)患者首先在门诊挂号处挂号,选择科室和医师,根据选择的医师缴纳挂号费(医师出诊费)。收银员为患者生成挂号单,如下表所示,其中,就诊类型为医师的出诊类型。 医院门诊挂号单 收银员:13011 时间:2007 年 2 月 1 日 08:58 就诊号 姓名 科室 医师 就诊类型 挂号费 20070205015 叶萌 内科 杨玉
6、明 专家门诊 5 元 (3)患者在医师处就诊后,凭借挂号单和医师手写处方到门诊药房交费买药。收银员根据就诊号和医师处方中开列的药品信息,查询药品库(如表 1 所示),生成门诊处方单(如表 2 所示)。 (4)由于药品价格会发生变化,因此门诊管理系统必须记录处方单上药品的单价。 表 1 药品库 药品编码 药品名称 类型 库存 货架编号 单位 规格 单价/元 12007 牛蒡子 中药 51590 B1410 G 炒 0.0340 11090 百部 中药 36950 B1523 G 片 0.0313 表 2 医院门诊处方单 时间:2007 年 2 月 1 日 10:31 就诊号 2007020501
7、5 病人名称 叶萌 医师姓名 杨玉明 金额总计 0.65 项目总计 2 收银员 21081 药品编码 药品名称 数量 单位 单价/元 金额/元 12007 牛蒡子 10 G 0.0340 0.34 11090 百部 10 G 0.0313 0.31 根据需求阶段收集的信息,设计的实体联系图和关系模式(不完整)如下。 实体联系图(见下图) (分数:24.99)(1).根据问题描述,填写图中所示的实体联系图中(1)(4)处联系的类型。(分数:8.33)_(2).图中还缺少几个联系?请指出每个联系两端的实体名,格式如下: 实体 1:实体 2 例如,若收银员与门诊处方之间存在联系,则表示如下: 收银员
8、:门诊处方或 门诊处方:收银员(分数:8.33)_(3).根据实体联系图中填写挂号单、门诊处方、处方明细和药品库关系模式中的横线处,并指出挂号单、门诊处方和处方明细关系模式的主键。(分数:8.33)_三、试题三(总题数:1,分数:25.00)说明 某宾馆需要建立一个住房管理系统,部分需求分析结果如下。 (1)一个房间有多个床位,同一房间内的床位具有相同的收费标准。不同房间的床位收费标准可能不同。 (2)每个房间有房间号(如 201、202 等)、收费标准、床位数目等信息。 (3)每位客人有身份证号码、姓名、性别、出生日期和地址等信息。 (4)对每位客人的每次住宿,应该记录其入住日期、退房日期和
9、预付款额等信息。 (5)管理系统可查询出客人所住房间号。 根据以上的需求分析结果,设计一种关系模型实体联系图如下图所示。 (分数:25.00)(1).根据上述说明和实体联系图,得到该住房管理系统的关系模式如下所示,请补充住宿关系。 房间(房间号收费标准,床位数目) 客人(身份证号,姓名,性别,出生日期,地址) 住宿(_,入住日期,退房日期,预付款额)(分数:6.25)_(2).请给出上一题中住宿关系模式的主键和外键。(分数:6.25)_(3).若将上述各关系直接实现为对应的物理表,现需查询在 2005 年 1 月 1 日至 2005 年 12 月 31 日期间,在该宾馆住宿次数大于 5 次的客
10、人身份证号,并且按照入住次数进行降序排列。下面是实现该功能的 SQL语句,请填补语句中的空缺。 SELECT 住宿. 身份证号, count (入住日期) FROM 住宿,客人 WHERE 入住日期=“20050101“AND 入住日期=“20051231“ AND 住宿. 身份证号=客人. 身份证号 GROUP BY _ _ count (入住日期) 5 _(分数:6.25)_(4).为加快 SQL 语句的执行效率,可在相应的表上创建索引。根据问题 3 中的 SQL 语句,除主键和外键外,还需要在哪个表的哪些属性上创建索引?应该创建什么类型的索引?请说明原因。(分数:6.25)_四、试题四(
11、总题数:1,分数:25.00)说明 某单位资料室需要建立一个图书管理系统,初步的需求分析结果如下。 (1)资料室有图书管理员若干名,他们负责已购入图书的编目和借还工作,每名图书管理员的信息包括工号和姓名。 (2)读者可在阅览室读书,也可通过图书流通室借还图书,读者信息包括读者 ID、姓名、电话和 E-mail,系统为不同读者生成不同的读者 ID。 (3)每部书在系统中对应唯一的一条图书在版编目数据(CIP,以下简称书目),书目的基本信息包括 ISBN号、书名、作者、出版商、出版年月,以及本资料室拥有该书的册数(以下简称册数),不同书目的 ISBN号不同。 (4)资料室对于同一书目的图书可拥有多
12、册(本),图书信息包括图书 ID、ISBN 号、存放位置、当前状态,每一本书在系统中被赋予唯一的图书 ID。 (5)一名读者最多只能借阅 10 本图书,且每本图书最多只能借两个月,读者借书时需由图书管理员登记读者 ID、所借图书 ID、借阅时间和应还时间,读者还书时图书管理员在对应的借书信息中记录归还时间。 (6)当某书目的可借出图书的数量为零时,读者可以对其进行预约登记,即记录读者 ID、需要借阅图书的ISBN 号、预约时间等。 某书目的信息如表 1 所示,与该书目对应的图书信息如表 2 所示。 表 1 书目信息 书 名 作者 出版商 ISBN 号 出版年月 册数 经办人 数据结构 严蔚敏
13、吴伟民 清华大学出版社 ISBN 7-302-02368-9 1997.4 4 01 表 2 图书信息 图书 ID ISBN 号 存放位置 状态 经办人 C832.1 ISBN 7-302-02368-9 图书流通室 已借出 01 C832-2 ISBN 7-302-02368-9 图书阅览室 不外借 01 C832.3 ISBN 7-302-02368-9 图书流通室 未借出 01 C832.4 ISBN 7-302-02368-9 图书流通室 已预约 01 系统的主要业务处理如下。 (1)入库管理。图书购进入库时,管理员查询本资料室的书目信息,若该书的书目尚未建立,则由管理员编写该书的书目
14、信息并录入系统;否则修改该书目的册数,然后编写并录入图书信息。对于进入流通室的书,其初始状态为“未借出”;而送入阅览室的书,其状态始终为“不外借”。 (2)借书管理。读者借书时,若有,则由管理员为该读者办理借书手续,并记录该读者的借书信息,同时将借出图书的状态修改为“已借出”。 (3)预约管理。若图书流通室没有读者要借的书,则可为该读者建立预约登记,需要记录读者 ID、书的ISBN 号、预约时间和预约期限(最长为 10 天)。一旦其他读者归还这种书,就自动通知该预约读者,系统将自动清除超出预约期限的预约记录并修改相关信息。 (4)还书管理。读者还书时,则记录相应借还信息中的“归还时间”,对于超
15、期归还者,系统自动计算罚金(具体的计算过程此处省略)。系统同时自动查询预约登记表,若存在其他读者预约该书的记录,则将该图书的状态修改为“已预约”,并将该图书 ID 写入相应的预约记录中(系统在清除超出预约期限的记录时解除该图书的“已预约”状态);否则,将该图书的状态修改为“未借出”。 (5)通知处理。对于已到期且未归还的图书,系统通过 E-mail 自动通知读者;若读者预约的书已到,系统则自动通过 E-mail 通知该读者来办理借书手续。(分数:24.99)(1).根据以上说明设计的实体联系图如下图所示,请指出读者与图书、书目与读者、书日与图书之间的联系类型。 (分数:8.33)_(2).该图
16、书管理系统的主要关系模式如下,请补充借还记录关系模式和预约登记关系模式中的空缺。 管理员(工号,姓名) 读者(读者 ID,姓名,电话,E-mail) 书目(ISBN 号,书名,作者,出版商,出版年月,册数,经办人) 图书(图书 ID,ISBN 号,存放位置,状态,经办人) 借还记录(_,借出时间,应还时间,归还时间) 预约登记(_,预约时间,预约期限,图书 ID) 注:时间格式为“年.月.日 时:分:秒”(分数:8.33)_(3).请指出问题 2 中给出的读者、书目关系模式的主键,以及图书、借还记录和预约登记关系模式的主键和外键。(分数:8.33)_中级软件设计师下午试题-124 答案解析(总
17、分:99.98,做题时间:90 分钟)一、试题一(总题数:1,分数:25.00)说明 某汽车维修站拟开发一套小型汽车维修管理系统,对车辆的维修情况进行管理。 (1)对于新客户及车辆,汽车维修管理系统首先登记客户信息,包括客户编号、客户名称、客户性质(个人、单位)、折扣率、联系人、联系电话等信息;还要记录客户的车辆信息,包括车牌号、车型、颜色等信息。一个客户至少有一台车。客户及车辆信息如表 1 所示。 (2)记录维修车辆的故障信息,包括维修类型(普通、加急)、作业分类(大、中、小修)、结算方式(自付、三包、索赔)等信息。维修厂的员工分为维修员和业务员。车辆维修首先委托给业务员。业务员对车辆进行检
18、查和故障分析后,与客户磋商,确定故障现象,生成维修委托书,如下表 2 所示。 表 1 客户及车辆信息 客户编号 GS0051 客户名称 公司 客户性质 单位 折扣率 95% 联系人 杨浩东 联系电话 82638779 车牌号 *0765 车型 帕萨特 颜色 白色 车辆类别 微型车 表 2 维修委托书 No.20070702003 登记日期:2007-07-02 车牌号 *0765 客户编号 GS0051 维修类型 普通 作业分类 中修 结算方式 自付 进厂时间 20070702 11:09 业务员 张小江 业务员编号 012 预计完工时间 故障描述 车头损坏,水箱漏水 (3)维修车间根据维修委
19、托书和车辆的故障现象,在已有的维修项目中选择并确定一个或多个具体维修项目,安排相关的维修工及工时,生成维修派工单。维修派工单如下表所示。 维修派工单 No.200700702003 维修项目编号 维修项目 工时 维修员编号 维修员工种 012 维修车头 5.00 012 机修 012 维修车头 2.00 023 漆工 015 水箱焊接补漏 1.00 006 焊工 017 更换车灯 1.00 012 机修 (4)客户车辆在车间修理完毕后,根据维修项目单价和维修派工单中的工时计算车辆此次维修的总费用,并记录在委托书中。 概念结构设计 根据需求阶段收集的信息,设计的实体联系图(不完整)如下图所示。图
20、中的业务员和维修工是员工的子实体。 (分数:25.00)(1).根据问题描述,填写图中(1)(4)处联系的类型。联系类型分为一对一、一对多和多对多 3 种,分别使用 1:1、1:n 或 1:*、m:n 或*:*表示。(分数:6.25)_正确答案:()解析:(1)n 或 m 或* (2)1 (3)n 或 m 或* (4)n 或 m 或*(2).补充图中所示的联系并指明其联系类型。联系名可为联系 1、联系 2 等。(分数:6.25)_正确答案:()解析:完整的实体联系图如下图所示。 (3).根据图中和说明,将逻辑结构设讨一阶段生成的关系模式中的横线处补充完整。(分数:6.25)_正确答案:()解析
21、:客户编号,客户名称,客户性质 委托书编号,客户编号,车牌号,业务员编号或:委托书编号,车牌号,业务员编号 委托书编号,维修工编号,维修项目编号 员工编号,员工姓名(4).根据问题描述,写出客户、委托书和派工单这 3 个关系模式的主键。(分数:6.25)_正确答案:()解析:客户模式关系的主键:客户编号 委托书模式关系的主键:委托书编号 派工单模式关系的主键:委托书编号,维修项目编号,维修工编号二、试题二(总题数:1,分数:25.00)说明 某医院的门诊管理系统实现了为患者提供挂号、处方药品收费的功能。具体的需求及设计如下。 (1)医院医师具有编号、姓名、科室、职称、出诊类型和出诊费用,其中出
22、诊类型分为专家门诊和普通门诊,与医师职称无关;各个医师可以具有不同的出诊费用,与职称和出诊类型无关。 (2)患者首先在门诊挂号处挂号,选择科室和医师,根据选择的医师缴纳挂号费(医师出诊费)。收银员为患者生成挂号单,如下表所示,其中,就诊类型为医师的出诊类型。 医院门诊挂号单 收银员:13011 时间:2007 年 2 月 1 日 08:58 就诊号 姓名 科室 医师 就诊类型 挂号费 20070205015 叶萌 内科 杨玉明 专家门诊 5 元 (3)患者在医师处就诊后,凭借挂号单和医师手写处方到门诊药房交费买药。收银员根据就诊号和医师处方中开列的药品信息,查询药品库(如表 1 所示),生成门
23、诊处方单(如表 2 所示)。 (4)由于药品价格会发生变化,因此门诊管理系统必须记录处方单上药品的单价。 表 1 药品库 药品编码 药品名称 类型 库存 货架编号 单位 规格 单价/元 12007 牛蒡子 中药 51590 B1410 G 炒 0.0340 11090 百部 中药 36950 B1523 G 片 0.0313 表 2 医院门诊处方单 时间:2007 年2 月 1 日 10:31 就诊号20070205015 病人名称叶萌医师姓名杨玉明金额总计0.65 项目总计2 收银员21081 药品编码药品名称数量单位单价/元金额/元12007 牛蒡子10 G 0.0340 0.34 110
24、90 百部10 G 0.0313 0.31 根据需求阶段收集的信息,设计的实体联系图和关系模式(不完整)如下。 实体联系图(见下图) (分数:24.99)(1).根据问题描述,填写图中所示的实体联系图中(1)(4)处联系的类型。(分数:8.33)_正确答案:()解析:(1)1 (2)n (3)n (4)n(2).图中还缺少几个联系?请指出每个联系两端的实体名,格式如下: 实体 1:实体 2 例如,若收银员与门诊处方之间存在联系,则表示如下: 收银员:门诊处方或 门诊处方:收银员(分数:8.33)_正确答案:()解析:缺少的联系数:3 挂号单:收银员 挂号单:医师 挂号单:门诊处方(3).根据实
25、体联系图中填写挂号单、门诊处方、处方明细和药品库关系模式中的横线处,并指出挂号单、门诊处方和处方明细关系模式的主键。(分数:8.33)_正确答案:()解析:收银员 就诊号 药品编码,数量,单价 类型,库存,货架编号,单位,规格,单价 挂号单主键:就诊号 门诊处方主键:就诊号 处方明细主键:就诊号、药品编码三、试题三(总题数:1,分数:25.00)说明 某宾馆需要建立一个住房管理系统,部分需求分析结果如下。 (1)一个房间有多个床位,同一房间内的床位具有相同的收费标准。不同房间的床位收费标准可能不同。 (2)每个房间有房间号(如 201、202 等)、收费标准、床位数目等信息。 (3)每位客人有
26、身份证号码、姓名、性别、出生日期和地址等信息。 (4)对每位客人的每次住宿,应该记录其入住日期、退房日期和预付款额等信息。 (5)管理系统可查询出客人所住房间号。 根据以上的需求分析结果,设计一种关系模型实体联系图如下图所示。 (分数:25.00)(1).根据上述说明和实体联系图,得到该住房管理系统的关系模式如下所示,请补充住宿关系。 房间(房间号收费标准,床位数目) 客人(身份证号,姓名,性别,出生日期,地址) 住宿(_,入住日期,退房日期,预付款额)(分数:6.25)_正确答案:()解析:房间号,身份证号(2).请给出上一题中住宿关系模式的主键和外键。(分数:6.25)_正确答案:()解析
27、:住宿主键:房间号,身份证号,入住日期 住宿外键:房间号,身份证号(3).若将上述各关系直接实现为对应的物理表,现需查询在 2005 年 1 月 1 日至 2005 年 12 月 31 日期间,在该宾馆住宿次数大于 5 次的客人身份证号,并且按照入住次数进行降序排列。下面是实现该功能的 SQL语句,请填补语句中的空缺。 SELECT 住宿. 身份证号, count (入住日期) FROM 住宿,客人 WHERE 入住日期=“20050101“AND 入住日期=“20051231“ AND 住宿. 身份证号=客人. 身份证号 GROUP BY _ _ count (入住日期) 5 _(分数:6.
28、25)_正确答案:()解析:身份证号 Having Order by count(入住日期)Desc 或 Order by 2 Desc(4).为加快 SQL 语句的执行效率,可在相应的表上创建索引。根据问题 3 中的 SQL 语句,除主键和外键外,还需要在哪个表的哪些属性上创建索引?应该创建什么类型的索引?请说明原因。(分数:6.25)_正确答案:()解析:表:住宿 属性:入住日期 类型:聚簇索引或聚集索引或 cluster 原因:表中记录的物理顺序与索引项的顺序一致,根据索引访问数据时,一次读取操作可以获取多条记录数据,因而可以减少查询时间。四、试题四(总题数:1,分数:25.00)说明
29、某单位资料室需要建立一个图书管理系统,初步的需求分析结果如下。 (1)资料室有图书管理员若干名,他们负责已购入图书的编目和借还工作,每名图书管理员的信息包括工号和姓名。 (2)读者可在阅览室读书,也可通过图书流通室借还图书,读者信息包括读者 ID、姓名、电话和 E-mail,系统为不同读者生成不同的读者 ID。 (3)每部书在系统中对应唯一的一条图书在版编目数据(CIP,以下简称书目),书目的基本信息包括 ISBN号、书名、作者、出版商、出版年月,以及本资料室拥有该书的册数(以下简称册数),不同书目的 ISBN号不同。 (4)资料室对于同一书目的图书可拥有多册(本),图书信息包括图书 ID、I
30、SBN 号、存放位置、当前状态,每一本书在系统中被赋予唯一的图书 ID。 (5)一名读者最多只能借阅 10 本图书,且每本图书最多只能借两个月,读者借书时需由图书管理员登记读者 ID、所借图书 ID、借阅时间和应还时间,读者还书时图书管理员在对应的借书信息中记录归还时间。 (6)当某书目的可借出图书的数量为零时,读者可以对其进行预约登记,即记录读者 ID、需要借阅图书的ISBN 号、预约时间等。 某书目的信息如表 1 所示,与该书目对应的图书信息如表 2 所示。 表 1 书目信息 书名作者出版商ISBN号出版年月册数经办人数据结构严蔚敏吴伟民清华大学出版社ISBN7-302-02368-919
31、97.4401表 2 图书信息 图书ID ISBN号存放位置状态经办人C832.1 ISBN 7-302-02368-9 图书流通室已借出01 C832-2 ISBN 7-302-02368-9 图书阅览室不外借01 C832.3 ISBN 7-302-02368-9 图书流通室未借出01 C832.4 ISBN 7-302-图书流通室已预约01 02368-9 系统的主要业务处理如下。 (1)入库管理。图书购进入库时,管理员查询本资料室的书目信息,若该书的书目尚未建立,则由管理员编写该书的书目信息并录入系统;否则修改该书目的册数,然后编写并录入图书信息。对于进入流通室的书,其初始状态为“未借
32、出”;而送入阅览室的书,其状态始终为“不外借”。 (2)借书管理。读者借书时,若有,则由管理员为该读者办理借书手续,并记录该读者的借书信息,同时将借出图书的状态修改为“已借出”。 (3)预约管理。若图书流通室没有读者要借的书,则可为该读者建立预约登记,需要记录读者 ID、书的ISBN 号、预约时间和预约期限(最长为 10 天)。一旦其他读者归还这种书,就自动通知该预约读者,系统将自动清除超出预约期限的预约记录并修改相关信息。 (4)还书管理。读者还书时,则记录相应借还信息中的“归还时间”,对于超期归还者,系统自动计算罚金(具体的计算过程此处省略)。系统同时自动查询预约登记表,若存在其他读者预约
33、该书的记录,则将该图书的状态修改为“已预约”,并将该图书 ID 写入相应的预约记录中(系统在清除超出预约期限的记录时解除该图书的“已预约”状态);否则,将该图书的状态修改为“未借出”。 (5)通知处理。对于已到期且未归还的图书,系统通过 E-mail 自动通知读者;若读者预约的书已到,系统则自动通过 E-mail 通知该读者来办理借书手续。(分数:24.99)(1).根据以上说明设计的实体联系图如下图所示,请指出读者与图书、书目与读者、书日与图书之间的联系类型。 (分数:8.33)_正确答案:()解析:(1)n (2)m (3)1 (4)n 或 m (5)m(6)n 注:(1)、(2)答案可互
34、换,(5)、(6)答案可互换。(2).该图书管理系统的主要关系模式如下,请补充借还记录关系模式和预约登记关系模式中的空缺。 管理员(工号,姓名) 读者(读者 ID,姓名,电话,E-mail) 书目(ISBN 号,书名,作者,出版商,出版年月,册数,经办人) 图书(图书 ID,ISBN 号,存放位置,状态,经办人) 借还记录(_,借出时间,应还时间,归还时间) 预约登记(_,预约时间,预约期限,图书 ID) 注:时间格式为“年.月.日 时:分:秒”(分数:8.33)_正确答案:()解析:读者 ID,图书 ID 读者 ID,ISBN 号(3).请指出问题 2 中给出的读者、书目关系模式的主键,以及图书、借还记录和预约登记关系模式的主键和外键。(分数:8.33)_正确答案:()解析:各关系模式的主键和外键如下表所示。 各关系模式的主键和外键 关系模式 主键 外键 读者 读者ID 书口 ISBN号 图书 图书ID ISBN号 借还记录 读者ID,图书ID,借出时间 读者ID,图书ID 预约登记 读者ID,ISBN号,预约时间 读者ID,ISBN号,图书ID