1、计算机水平考试中级数据库系统工程师 2014 年上半年下午真题及答案解析(总分:75.00,做题时间:150 分钟)试题一(共 15 分) 阅读下列说明和图,回答问题 1 至问题 4,将解答填入答题纸的对应栏内。 说明 某巴士维修连锁公司欲开发巴士维修系统,以维护与维修相关的信息。该系统的主要功能如下: 1)记录巴士 ID 和维修问题。巴士到车库进行维修,系统将巴士基本信息和 ID 记录在巴士列表文件中,将待维修机械问题记录在维修记录文件中,并生成维修订单。 2)确定所需部件。根据维修订单确定维修所需部件,并在部件清单中进行标记。 3)完成维修。机械师根据维修记录文件中的待维修机械问题,完成对
2、巴士的维修,登记维修情况;将机械问题维修情况记录在维修记录文件中,将所用部件记录在部件清单中,并将所用部件清单发送给库存管理系统以对部件使用情况进行监控。巴士司机可查看已维修机械问题。 4)记录维修工时。将机械师提供的维修工时记录在人事档案中:将维修总结发送给主管进行绩效考核。 5)计算维修总成本。计算部件清单中实际所用部件、人事档案中所用维修工时的总成本;将维修工时和所用部件成本详细信息给会计进行计费。 现采用结构化方法对巴士维修系统进行分析与设计,获得如图 11 所示的上下文数据流图和图 12 所示的 0 层数据流图。 (分数:15.00)(1).问题 1(5 分) 使用说明中的词语,给出
3、图 11 中的实体 E1E5 的名称。(分数:3.75)_(2).问题 2(4 分) 使用说明中的词语,给出图 12 中的数据存储 D1D4 的名称。(分数:3.75)_(3).问题 3(3 分) 说明图 1-2 中所存在的问题。(分数:3.75)_(4).问题 4(3 分) 根据说明和图中术语,采用补充数据流的方式,改正图 1-2 中的问题。要求给出所补充数据流的名称、起点和终点。(分数:3.75)_根据以上描述,回答下列问题: (分数:15.00)(1).问题 1(4 分) 请将下面创建消费关系的 SQL 语句的空缺部分补充完整,要求指定关系的主码、外码,以及消费金额大于零的约束。 CRE
4、TE TABLE 消费( 流水号 CHAR(12) _(a)_, 会员手机号 CHAR(11),项目名称 CHAR(8), 消费金额 NUMBER_(b)_, 消费日期 DATE, _(c)_, _(d)_, );(分数:5.00)_(2).问题 2(6 分) (1)手机号为 18812345678 的客户预约了 2014 年 3 月 18 日两个小时的羽毛球场地,消费流水号由系统自动生成。请将下面 SQL 语句的空缺部分补充完整。 INSERT INTO 消费(流水号,会员手机号,项目名称,消费金额,消费日期) SELECT 201403180001,18812345678,羽毛球,_(e)
5、_, 2014318 FROM 会员,项目,预约单 WHERE 预约单项目名称项目项目名称 AND _(f)_ AND 项目项目名称羽毛球 AND 会员会员手机号18812345678; (2)需要用触发器来实现会员等级折扣的自动维护,因数 float vip_value(char(11)会员手机号)依据输入的手机号计算会员的折扣。请将下面 SQL 语句的空缺部分补充完整。 CREATE TRIGGER VIP_TRG _(g)_ ON _(h)_ REFERENCING new row AS nrow FOR EACH ROW BEGIN UPDATE 会员 SET_(i)_ WHERE_(
6、j)_; END(分数:5.00)_(3).问题 3(5 分) 请将下面 SQL 语句的空缺部分补充完整。 (1)俱乐部年底对各种项目进行绩效考核,需要统计出所负责项目的消费总金额大于等于十万元的项目和项目经理,并按消费金额总和降序输出。 SELECT 项目项目名称,项目经理,SUM(消费金额) FROM 项目,消费 WHERE _(k)_ GROUP BY _(l)_ ORDERBY _(m)_; (2)查询所有手机号码以“888”结尾姓“王“的员工姓名和电话。 SELECT 姓名,电话 FROM 员工 WHERE 姓名 _(n)_ AND 电话 _(o)_(分数:5.00)_试题三(共 1
7、5 分)阅读下列说明和图,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。说明某家电销售电子商务公司拟开发一套信息管理系统,以方便对公司的员工、家电销售、家电厂商和客户等进行管理。需求分析(1)系统需要维护电子商务公司的员工信息、客户信息、家电信息和家电厂商信息等。员工信息主要包括:工号、姓名、性别、岗位、身份证号、电话、住址,其中岗位包括部门经理和客服等。客户信息主要包括:客户 ID、姓名、身份证号、电话、住址、账户余额。家电信息主要包括:家电条码、家电名称、价格、出厂日期、所属厂商。家电厂商信息包括:厂商 ID、厂商名称、电话、法人代表信息、厂址。(2)电子商务公司根据销售情况,由部
8、门经理向家电厂商订购各类家电。每个家电厂商只能由一名部门经理负责。(3)客户通过浏览电子商务公司网站查询家电信息,与客服沟通获得优惠后,在线购买。概念模型设计根据需求阶段收集的信息,设计的实体联系图(不完整)如图 31 所示。(分数:15.00)(1).问题 1(6 分) 补充图 31 中的联系和联系的类型。(分数:5.00)_(2).问题 2(6 分) 根据图 31,将逻辑结构设计阶段生成的关系模式中的空(1)(3)补充完整。用下划线指出“家电”、“家电厂商”和“购买”关系模式的主键。(分数:5.00)_(3).问题 3(3 分) 电子商务公司的主营业务是销售各类家电,对账户有余额的客户,还
9、可以联合第三方基金公司提供理财服务,为此设立客户经理岗位。客户通过电子商务公司的客户经理和基金公司的基金经理进行理财。每名客户只由一名客户经理和一名基金经理负责,客户经理和基金经理均可负责多名客户。请根据该要求,对图 31 进行修改,画出修改后的实体间联系和联系的类型。(分数:5.00)_试题四(共 15 分) 阅读下列说明,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。 说明 某图书馆的管理系统部分需求和设计结果描述如下: 图书馆的主要业务包括以下几项: (1)对所有图书进行编目,每一书目包括 ISBN 号、书名、出版社、作者、排名,其中一部书可以有多名作者,每名作者有唯一的一个排名
10、; (2)对每本图书进行编号,包括书号、ISBN 号、书名、出版社、破损情况、存放位置和定价,其中每一本书有唯一的编号,相同 ISBN 号的书集中存放,有相同的存储位置,相同 ISBN 号的书或因不同印刷批次而定价不同; (3)读者向图书馆申请借阅资格,办理借书证,以后凭借书证从图书馆借阅图书。办理借书证时需登记身份证号、姓名、性别、出生年月日,并交纳指定金额的押金。如果所借图书定价较高时,读者还须补交押金,还书后可退还所补交的押金; (4)读者借阅图书前,可以通过 ISBN 号、书名或作者等单一条件或多条件组合进行查询。根据查询结果,当有图书在库时,读者可直接借阅;当所查书目的所有图书己被他
11、人借走时,读者可进行预约,待他人还书后,由馆员进行电话通知; (5)读者借书时,由系统生成本次借书的唯一流水号,并登记借书证号、书号、借书日期,其中同时借多本书使用同一流水号,每种书目都有一个允许一次借阅的借书时长,一般为 90 天,不同书目有不同的借书时长,并且可以进行调整,但调整前所借出的书,仍按原借书时长进行处理; (6)读者还书时,要登记还书日期,如果超出借书时长,要缴纳相应的罚款;如果所还图书由借书者在持有期间造成破损,也要进行登记并进行相应的罚款处罚。 初步设计的该图书馆管理系统,其关系模式如图 41 所示。 (分数:15.00)(1).问题 1(5 分) 对关系“借还”,请回答以
12、下问题: (1)列举出所有候选键; (2)根据需求描述,借还关系能否实现对超出借书时长的情况进行正确判定?用 60 字以内文字简要叙述理由。如果不能,请给出修改后的关系模式(只修改相关关系模式属性时,仍使用原关系名,如需分解关系模式,请在原关系名后加 1,2,进行区别)。(分数:5.00)_(2).问题 2(5 分) 对关系“图书”,请回答以下问题: (1)写出该关系的函数依赖集; (2)判定该关系是否属于 BCNF,用 60 字以内文字简要叙述理由。如果不是,请进行修改,使其满足 BCNF,如果需要修改其他关系模式,请一并修改,给出修改后的关系模式(只修改相关关系模式属性时,仍使用原关系名,
13、如需分解关系模式,请在原关系名后加 1,2,进行区别)。(分数:5.00)_(3).问题 3(5 分) 对关系“书目”,请回答以下问题: (1)它是否属于第四范式,用 60 字以内文字叙述理由。 (2)如果不是,将其分解为第四范式,分解后的关系名依次为:书目 1,书目 2,。如果在解决问题 1、问题 2时,对该关系的属性进行了修改,请沿用修改后的属性。(分数:5.00)_试题五(共 15 分) 阅读下列说明,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。 说明 某高速路不停车收费系统(ETC)的业务描述如下: (1)车辆驶入高速路入口站点时,将驶入信息(ETC 卡号,入口编号,驶入时间
14、)写入登记表; (2)车辆驶出高速路出口站点(收费口)时,将驶出信息(ETC 卡号,出口编号,驶出时间)写入登记表;根据入口编号、出口编号及相关收费标准,清算应缴费用,并从绑定的信用卡中扣除费用。 一张 ETC 卡号只能绑定一张信用卡号,针对企业用户,一张信用卡号可以绑定多个 ETC卡号。使用表绑定(ETC 卡号,信用卡号)来描述绑定关系,从信用卡(信用卡号,余额)表中扣除费用。 针对上述业务描述,完成下列问题:(分数:15.00)(1).问题 1(4 分) 在不修改登记表的结构和保留该表历史信息的前提下,当车辆驶入时,如何保证当前ETC 卡已经清算过,而在驶出时又如何保证该卡已驶入而末驶出?
15、请用 100 字以内文字简述处理方案。(分数:5.00)_(2).问题 2(5 分) 当车辆驶出收费口时,从绑定信用卡余额中扣除费用的伪指令如下:读取信用卡余额到变量 x,记为 xR(A);扣除费用指令 xx-a;写信用卡余额指令记为 W(A,x)。 (1)当两个绑定到同一信用卡号的车辆同时经过收费口时,可能的指令执行序列为:x1R(A), x1x1-a1,x2R(A),x2x2-a2,W(A,x1),W(A,x2)。此时会出现什么问题?(100 字以内) (2)为了解决上述问题,引入独占锁指令 XLock(A)对数据 A 进行加锁,解锁指令 Unlock(A)对数据 A 进行解锁。请补充上述
16、执行序列,使其满足 2PL 协议。(分数:5.00)_(3).问题 3(6 分) 下面是用 E-SQL 实现的费用扣除业务程序的一部分,请补全空缺处的代码。 CREATE PROCEDURE 扣除(IN ETC 卡号 VARCHAR(20),IN 费用 FLOAT) BEGIN UPDATE 信用卡 SET 余额余额-费用 FROM 信用卡,绑定 WHERE 信用卡信用卡号绑定信用卡号 AND _(a)_; if error then ROLLBACK; else _(b)_; END(分数:5.00)_计算机水平考试中级数据库系统工程师 2014 年上半年下午真题答案解析(总分:75.00,
17、做题时间:150 分钟)试题一(共 15 分) 阅读下列说明和图,回答问题 1 至问题 4,将解答填入答题纸的对应栏内。 说明 某巴士维修连锁公司欲开发巴士维修系统,以维护与维修相关的信息。该系统的主要功能如下: 1)记录巴士 ID 和维修问题。巴士到车库进行维修,系统将巴士基本信息和 ID 记录在巴士列表文件中,将待维修机械问题记录在维修记录文件中,并生成维修订单。 2)确定所需部件。根据维修订单确定维修所需部件,并在部件清单中进行标记。 3)完成维修。机械师根据维修记录文件中的待维修机械问题,完成对巴士的维修,登记维修情况;将机械问题维修情况记录在维修记录文件中,将所用部件记录在部件清单中
18、,并将所用部件清单发送给库存管理系统以对部件使用情况进行监控。巴士司机可查看已维修机械问题。 4)记录维修工时。将机械师提供的维修工时记录在人事档案中:将维修总结发送给主管进行绩效考核。 5)计算维修总成本。计算部件清单中实际所用部件、人事档案中所用维修工时的总成本;将维修工时和所用部件成本详细信息给会计进行计费。 现采用结构化方法对巴士维修系统进行分析与设计,获得如图 11 所示的上下文数据流图和图 12 所示的 0 层数据流图。 (分数:15.00)(1).问题 1(5 分) 使用说明中的词语,给出图 11 中的实体 E1E5 的名称。(分数:3.75)_正确答案:( E1:巴士司机 E2
19、:机械师 E3:会计 E4:主管 E5:库存管理系统)解析:试题一分析 本题考查的是 DFD 的应用,属于比较传统的题目,考查点也与往年类似。 问题 本问题考查的是顶层 DFD。顶层 DFD 通常用来确定系统边界,其中只包含一个唯一的加工(即待开发的系统)、外部实体以及外部实体与系统之间的输入输出数据流。题目要求填充的正是外部实体。 从题干说明 1)没有明确说明由巴士到车库后由谁提供待维修问题,图 1-1 中的 E1,考察说明中 3)中最后一句说明“巴士司机可查看已维修机械问题”可以看出,从系统到巴士司机有输出数据流“已维修机械问题”,可知 E1为巴士司机。从 2)中“机械师根据维修记录文件中
20、的待维修机械问题,完成对巴士的维修,登记维修情况”再看说明 4)中机械师提供维修工时,可以看出,从 E2 到系统有输入数据流“维修工时”、输出数据流“待维修机械问题”,可知 E2 为机械师,还将维修总结发送给主管,即系统到 E4 有输出数据流“维系总结”,可知 E4 为主管。从说明 5)将维修工时和所用部件成本详细信息给会计,从系统到 E3 有输出数据流“维修工时和所用部件成本详细信息”,可知 E3 为会计。说明 3)中将所用部件清单发送给库存管理系统以对部件使用情况进行监控,及系统到 E5 有输出数据流“所用部件清单”,可知 E5 为库存管理系统。(2).问题 2(4 分) 使用说明中的词语
21、,给出图 12 中的数据存储 D1D4 的名称。(分数:3.75)_正确答案:( D1:巴士列表文件 D2:维修记录文件 D3:部件清单 D4:人事档案)解析: 本问题考查 0 层数据流图中的数据存储。系统中的主要功能与图 12 中的处理一一对应,1)对应处理“记录巴士 ID 和维修问题”,将巴士 ID 记录在巴士列表文件中,可知 D1 为巴士列表文件。说明 2)对应处理“确定所需部件”,将维修所需部件在部件清单中进行标记,所以 D3 为部件清单。说明 1)中将待维修机械问题记录在维修记录文件中,可知 D2 为维修记录文件。说明 4)对应处理“记录维修工时”,描述了将机械师提供的维修工时记录在
22、人事档案中,可以判定 D4 是人事档案。(3).问题 3(3 分) 说明图 1-2 中所存在的问题。(分数:3.75)_正确答案:( 图 12 中处理 3 只有输出数据流,没有输入数据流。D2 和 D3 是黑洞,只有输入的数据流,没有输出的数据流。父图与子图不平衡,图 12 中没有图 11 中的数据流“维修情况”。)解析: 本问题考查 0 层数据流图中的数据流。分析图 12,可以发现,处理 3 只有输出数据流没有输入数据流,D2 和 D3 只有输入数据流,而没有输出流,造成黑洞。另外,对照图 12 和图 11,发现图11 中从 E2 输入的数据流维修工时维修情况,在图 12 中只有维修工时,造
23、成父图与子图不平衡。(4).问题 4(3 分) 根据说明和图中术语,采用补充数据流的方式,改正图 1-2 中的问题。要求给出所补充数据流的名称、起点和终点。(分数:3.75)_正确答案:( )解析: 针对问题 3分析图 12 中存在的问题,题目要求以补充数据流的方式解决,进一步分析说明,说明 3)对应处理“完成维修”,机械师根据维修记录文件中的待维修机械问题完成对巴士的维修,可知处理完成维修需要从维修记录文件读取待维修问题,补充一条从 D2 到处理 3 的数据流“待维修机械问题”。说明 5)对应处理“计算维修总成本”,需要计算部件清单中实际所用部件,补充从部件清单到计算总成本的数据流“实际所用
24、部件”。说明 3)中机械师要登记维修情况,判定图 12 中缺少了 E2 到处理 3的数据流“维修情况”。 到此为止所有缺失的数据流都补齐了,也解决了问题 3中的平衡问题、处理了只有输出数据流没有输入数据流的问题,D2 和 D3 也既有输入数据流,又有输出数据流。根据以上描述,回答下列问题: (分数:15.00)(1).问题 1(4 分) 请将下面创建消费关系的 SQL 语句的空缺部分补充完整,要求指定关系的主码、外码,以及消费金额大于零的约束。 CRETE TABLE 消费( 流水号 CHAR(12) _(a)_, 会员手机号 CHAR(11),项目名称 CHAR(8), 消费金额 NUMBE
25、R_(b)_, 消费日期 DATE, _(c)_, _(d)_, );(分数:5.00)_正确答案:( (a)PRIMARY KEY(或 NOT NULL UNIQUE) (b)CHECK (消费金额0) (c)FOREIGN KEY (会员手机号)REFERENCES 会员(会员手机号) (d)FOREIGN KEY (项目名称)REFERENCES 项目(项目名称)解析:试题二分析 本题考查 SQL 的应用,属于比较传统的题目,考查点也与往年类似。 问题 1 本问题考查数据定义语言 DDL 和完整性约束。根据题意,需要对“消费”表的“流水号”加主键(或非空)约束,考查实体完整性约束,对应的
26、语法为: PRIMARY KEY (或 NOT NULL UNIQUE) “消费金额”需要大于 0,所以需要加 Check 约束,对应的语法为: CHECK (消费金额0) “会员手机号”是“会员”关系的主键,是“消费”关系的外键,考查参照完整性约束,需要增加外键约束,对应的语法为: FOREIGNKEY (会员手机号) REFERENCES 会员 (会员手机号) “项目名称”是“项目”关系的主键,是“消费”关系的外键,考查参照完整性约束,需要增加外键约束,对应的语法为: FOREIGN KEY (项目名称) REFERENCES 项目(项目名称)(2).问题 2(6 分) (1)手机号为 1
27、8812345678 的客户预约了 2014 年 3 月 18 日两个小时的羽毛球场地,消费流水号由系统自动生成。请将下面 SQL 语句的空缺部分补充完整。 INSERT INTO 消费(流水号,会员手机号,项目名称,消费金额,消费日期) SELECT 201403180001,18812345678,羽毛球,_(e)_, 2014318 FROM 会员,项目,预约单 WHERE 预约单项目名称项目项目名称 AND _(f)_ AND 项目项目名称羽毛球 AND 会员会员手机号18812345678; (2)需要用触发器来实现会员等级折扣的自动维护,因数 float vip_value(cha
28、r(11)会员手机号)依据输入的手机号计算会员的折扣。请将下面 SQL 语句的空缺部分补充完整。 CREATE TRIGGER VIP_TRG _(g)_ ON _(h)_ REFERENCING new row AS nrow FOR EACH ROW BEGIN UPDATE 会员 SET_(i)_ WHERE_(j)_; END(分数:5.00)_正确答案:( (1)(e)价格*使用时长*折扣 (f)预约单会员手机号会员会员手机号 (2)(g)INSERT (h)消费 (i)折扣vip_value(nrow.会员手机号) (j)会员会员手机号nrow.会员手机号)解析: 本问题考查数据操
29、纵语言 DML。 (1)本题考查一个较完整的查询语句,需要向“消费”关系插入新元组。 SELECT 子句缺少“消费金额”。消费金额=价格*使用时长*折扣。 WHERE 子句缺少“预约单”关系和“会员”关系按照“会员手机号”的连接,因此应该增加“预约单会员手机号会员会员手机号”。 (2)本题考查触发器,触发器是一个能由系统自动执行对数据库修改的语句。一个触发器由事件、条件和动态三部分组成:事件是指触发器将测试条件是否成立,若成立就执行相应的动作,否则就什么也不做:动态是指若触发器测试满足预定的条件,那么就由数据库管理系统执行这些动作。本题首先定义触发器的事件,用触发器来实现会员等级折扣的自动维护
30、。 (g)和(h)缺少向“消费”关系插入的语句,因此应该分别补充“INSERT”和“消费”。 (i)语句调用 vip_value 函数实现会员折扣的更新,函数参数为会员手机号,因此应该补充“折扣=vip_value(nrow.会员手机号)”。 (j)语句实现“会员”关系和“nrow”关系按照“会员手机号”的连接,因此应该补充“会员会员手机号nrow.会员手机号”。(3).问题 3(5 分) 请将下面 SQL 语句的空缺部分补充完整。 (1)俱乐部年底对各种项目进行绩效考核,需要统计出所负责项目的消费总金额大于等于十万元的项目和项目经理,并按消费金额总和降序输出。 SELECT 项目项目名称,项
31、目经理,SUM(消费金额) FROM 项目,消费 WHERE _(k)_ GROUP BY _(l)_ ORDERBY _(m)_; (2)查询所有手机号码以“888”结尾姓“王“的员工姓名和电话。 SELECT 姓名,电话 FROM 员工 WHERE 姓名 _(n)_ AND 电话 _(o)_(分数:5.00)_正确答案:( (1)(k)项目项目名称消费项目名称 (1)项目项目名称,项目经理 HAVING SUM(消费金额)100000 (m)SUM(消费金额)DESC (2)(n)LIKE王 (o)LIKE888)解析: 本问题考查数据操纵语言 DML。 (1)本题考查一个较完整的查询语句
32、,知识点包括夺标查询、集函数、查询分组、分组条件和排序查询结果。查询涉及“项目”和“消费”关系模式。用集函数 SUM(消费金额)求消费总金额,若有 GROUP BY 子句,则集函数作用在每个分组上,且 GROUP BY 之后应包含除了集函数之外的所有结果列。若 GROUP BY 之后跟有 HAVING 子句,则只有满足条件的分组才会输出。“ORDER BY 列名ASC|DESC”对输出结果进行升序或降序的排列,若不明确制定法升序或降序,则默认升序排列。 (2)本题考查用关键字 LIKE 进行字符匹配。 LIKE 的语法为: NOTLIKE匹配串 其中,匹配串可以是一个完整的字符串,也可以含有通
33、配符和_,其中代表任意长度(包括 0 长度)的字符串,_代表单个字符。手机号码以“888”结尾,姓“王”的员工对用的表示为:姓名 LIKE王AND电话 LIKE888。试题三(共 15 分)阅读下列说明和图,回答问题 1 至问题 3,将解答填入答题纸的对应栏内。说明某家电销售电子商务公司拟开发一套信息管理系统,以方便对公司的员工、家电销售、家电厂商和客户等进行管理。需求分析(1)系统需要维护电子商务公司的员工信息、客户信息、家电信息和家电厂商信息等。员工信息主要包括:工号、姓名、性别、岗位、身份证号、电话、住址,其中岗位包括部门经理和客服等。客户信息主要包括:客户 ID、姓名、身份证号、电话、
34、住址、账户余额。家电信息主要包括:家电条码、家电名称、价格、出厂日期、所属厂商。家电厂商信息包括:厂商 ID、厂商名称、电话、法人代表信息、厂址。(2)电子商务公司根据销售情况,由部门经理向家电厂商订购各类家电。每个家电厂商只能由一名部门经理负责。(3)客户通过浏览电子商务公司网站查询家电信息,与客服沟通获得优惠后,在线购买。概念模型设计根据需求阶段收集的信息,设计的实体联系图(不完整)如图 31 所示。(分数:15.00)(1).问题 1(6 分) 补充图 31 中的联系和联系的类型。(分数:5.00)_正确答案:( )解析:试题三分析 本题考查数据库设计,属于比较传统的题目,考查点也与往年
35、类似。 问题 1 本问题考查数据库的概念结构设计,题目要求补充完整实体联系图中的联系和联系的类型。 根据题目的需求描述可知,一个家电厂商可以供应多台家电,而一台家电只能对应一个家电厂商,因此“家电厂商”和“家电”之间存在“供应”联系,联系的类型为一对多(1:*,或 1:m)。 根据题目的需求描述可知,“员工”和“部门经理”之间存在一个包含关系。 根据题目的需求描述可知,“客户”、“客服”和“家电”之间存在“购买”联系,联系的类型为多对多对多(*:*:*,或 m:n:o)。(2).问题 2(6 分) 根据图 31,将逻辑结构设计阶段生成的关系模式中的空(1)(3)补充完整。用下划线指出“家电”、
36、“家电厂商”和“购买”关系模式的主键。(分数:5.00)_正确答案:( (1)厂商 ID (2)部门经理工号或经理工号或员工工号 (3)客户 ID、客服工号、家电条码 )解析: 本问题考查数据库的逻辑结构设计,题目要求补充完整各关系模式,并给出各关系模式的主键。 根据实体联系图和需求描述,“家电”和“家电厂商”存在多对一的关系,在家电关系中需要记录家电厂商的主键,也就是“厂商 ID”。所以,对于“家电”关系模式,需补充属性“厂商 ID”。“家电条码”为“家电”关系的主键。 根据实体联系图和需求描述,“家电厂商”和“部门经理”之间存在多对一的关系,在家电厂商关系中需要记录部门经理的主键,也就是“
37、部门经理工号”(或“经理工号”、或“员工工号”)。“厂商 ID”为“家电厂商”的主键。 根据实体联系图和需求描述,“客户”、“客服”和“家电”之间的多对多对多的“购买”联系。因为是多对多对多联系,所以“购买”联系需要单独作为一个关系,这个关系需要记录“客户”、“客服”和“家电”的主键。所以,对于“购买”关系模式,需补充属性“客户 ID”“客服工号”和“家电条码”。“订购单号”为“购买”的主键。(3).问题 3(3 分) 电子商务公司的主营业务是销售各类家电,对账户有余额的客户,还可以联合第三方基金公司提供理财服务,为此设立客户经理岗位。客户通过电子商务公司的客户经理和基金公司的基金经理进行理财
38、。每名客户只由一名客户经理和一名基金经理负责,客户经理和基金经理均可负责多名客户。请根据该要求,对图 31 进行修改,画出修改后的实体间联系和联系的类型。(分数:5.00)_正确答案:( )解析: 本问题考查数据库的概念结构设计,根据新增的需求增加实体联系图中的实体的联系和联系的类型。 根据问题描述,需要新增“客户经理”,包含于“员工”。 根据问题描述,客户只由一名客户经理和一名基金经理负责,客户经理和基金经理均可负责多名客户,所以“客户”、“客户经理”和“基金经理”之间存在一个“理财”联系,联系的类型为多对 1 对 1(*:1:1,或 m:1:1)。试题四(共 15 分) 阅读下列说明,回答
39、问题 1 至问题 3,将解答填入答题纸的对应栏内。 说明 某图书馆的管理系统部分需求和设计结果描述如下: 图书馆的主要业务包括以下几项: (1)对所有图书进行编目,每一书目包括 ISBN 号、书名、出版社、作者、排名,其中一部书可以有多名作者,每名作者有唯一的一个排名; (2)对每本图书进行编号,包括书号、ISBN 号、书名、出版社、破损情况、存放位置和定价,其中每一本书有唯一的编号,相同 ISBN 号的书集中存放,有相同的存储位置,相同 ISBN 号的书或因不同印刷批次而定价不同; (3)读者向图书馆申请借阅资格,办理借书证,以后凭借书证从图书馆借阅图书。办理借书证时需登记身份证号、姓名、性
40、别、出生年月日,并交纳指定金额的押金。如果所借图书定价较高时,读者还须补交押金,还书后可退还所补交的押金; (4)读者借阅图书前,可以通过 ISBN 号、书名或作者等单一条件或多条件组合进行查询。根据查询结果,当有图书在库时,读者可直接借阅;当所查书目的所有图书己被他人借走时,读者可进行预约,待他人还书后,由馆员进行电话通知; (5)读者借书时,由系统生成本次借书的唯一流水号,并登记借书证号、书号、借书日期,其中同时借多本书使用同一流水号,每种书目都有一个允许一次借阅的借书时长,一般为 90 天,不同书目有不同的借书时长,并且可以进行调整,但调整前所借出的书,仍按原借书时长进行处理; (6)读者还书时,要登记还书日期,如果超出借书时长,要缴纳相应的罚款;如果所还图书由借书者在持有期间造成破损,也要进行登记并进行相应的罚款处罚。 初步设计的该图书馆管理系统,其关系模式如图 41 所示。 (分数:15.00)(1).问题 1(5 分) 对关系“借还”,请回答以下问题: (1)列举出所有候选键; (2)根据需求描述,借还关系能否实现对超出借书时长的情况进行正确判定?用 60 字以内文字简要叙述理由。如果不能,请给出修改后的关系模式(只修改相关关系模式属性时,仍使用原关系名,如需分解关系模式,请在原关系名后加 1,2,进行区别