1、计算机水平考试中级数据库系统工程师 2013 年上半年下午真题及答案解析(总分:75.00,做题时间:150 分钟)试题一 阅读以下说明和图,根据要求回答下列问题。 说明 某慈善机构欲开发一个募捐系统,以跟踪记录为事业或项目向目标群体进行募捐而组织的集体性活动。该系统的主要功能如下所示。 (1)管理志愿者。根据募捐任务给志愿者发送加入邀请、邀请跟进、工作任务;管理志愿者提供的邀请响应、志愿者信息、工作时长、工作结果等。 (2)确定募捐需求和收集所募捐赠(资金及物品)。根据需求提出募捐任务、活动请求和捐赠请求,获取所募集的资金和物品。 (3)组织募捐活动。根据活动请求,确定活动时间范围。根据活动
2、时间,搜索场馆,即:向场馆发送场馆可用性请求,获得场馆可用性。然后根据活动时间和地点推广募捐活动,根据相应的活动信息举办活动,从募捐机构获取资金并向其发放赠品。获取和处理捐赠,根据捐赠请求,提供所募集的捐赠;处理与捐赠人之间的交互,即:录入捐赠人信息,处理后存入捐赠人信息表;从捐赠人信息表中查询捐赠人信息,向捐赠人发送募捐请求,并将已联系的捐赠人存入已联系的捐赠人表。根据捐赠请求进行募集,募得捐赠后,将捐赠记录存入捐赠表;对捐赠记录进行处理后,存入已处理捐赠表,向捐赠人发送致谢函。根据已联系的捐赠人和捐赠记录进行跟进,将捐赠跟进情况发送给捐赠人。 现采用结构化方法对募捐系统进行分析与设计,获得
3、如图所示的分层数据流图。 (分数:15.00)(1).使用说明中的词语,给出图 1 中的实体 E1E4 的名称。(分数:5.00)_(2).在建模 DFD 时,需要对有些复杂加工(处理)进行进一步精化,图 2 为图 1 中处理 3 的进一步细化的 1层数据流图,图 3 为图 2 中 3.1 进一步细化的 2 层数据流图。补全图 2 中加工 P1、P2 和 P3 的名称和图 2与图 3 中缺少的数据流。(分数:5.00)_(3).使用说明中的词语,给出图 3 中的数据存储 D1D4 的名称。(分数:5.00)_试题二 阅读以下说明,根据要求回答下列问题。 说明 某航空公司要开发一个订票信息处理系
4、统,该系统的部分关系模式如下: 航班(航班编号,航空公司,起飞地,起飞时间,目的地,到达时间,票价) 折扣(航班编号,开始日期,结束日期,折扣) 旅客(身份证号,姓名,性别,出生日期,电话,VIP 折扣) 购票(购票单号,身份证号,航班编号,搭乘日期,购票金额) 有关关系模式的属性及相关说明如下: (1)航班表中的起飞时间和到达时间不包含日期,同一航班不会在一天出现两次及两次以上; (2)各航空公司会根据旅客出行淡旺季适时调整机票的折扣,旅客购买机票的购票金额计算公式为:票价折扣VIP 折扣,其中旅客的 VIP 折扣与该旅客已购买过的机票的购票金额总和相关,在旅客每次购票后被修改。VIP 折扣
5、值的计算由函数 float vip_value(char18身份证号)完成。 根据以上描述,回答下列问题。(分数:15.00)(1).请将如下创建购票关系的 SQL 语句的空缺部分补充完整,要求指定关系的主键、外键,以及购票金额大于零的约束。 CREATE TABLE 购票( 购票单号 CHAR(15) _, 身份证号 CHAR(18), 航班编号 CHAR(6), 搭乘日期 DATE, 购票金额 FLOAT _, _, _, );(分数:5.00)_(2).(1)身份证号为 210000196006189999 的客户购买了 2013 年 2 月 18 日 CA5302 航班的机票,购票单号
6、由系统自动生成。下面的 SQL 语句将上述购票信息加入系统中,请将空缺部分补充完整。 INSERT INTO 购票(购票单号,身份证号,航班编号,搭乘日期,购票金额) SELECT 201303105555,210000196006189999,CA5302,2013/2/18, _ FROM 航班,折扣,旅客 WHERE _ AND 航班.航班编号=CA5302 AND AND 2013/2/18 BETWEEN 折扣.开始日期 AND 折扣.结束日期 AND 旅客.身份证号=210000196006189999; (2)需要用触发器来实现 VIP 折扣的修改,调用函数vip_value()
7、来实现。请将如下 SQL 语句的空缺部分补充完整。 CREATE TRIGGER VIP_TRG AFTER _ ON _ RE FERENCING new row AS nrow FOR EACH row BEGIN UPDATE 旅客 SET _ WHERE _; END(分数:5.00)_(3).请将如下 SQL 语句的空缺部分补充完整。 (1)查询搭乘日期在 2012 年 1 月 1 日至 2012 年 12 月 31 日之间,且合计购票金额大于等于 10000 元的所有旅客的身份证号、姓名和购票金额总和,并按购票金额总和降序输出。 SELECT 旅客.身份证号,姓名,SUM(购票金额
8、) FROM 旅客,购票 WHERE _ GROUP BY _; ORDER BY _; (2)经过中转的航班与相同始发地和目的地的直达航班相比,会享受更低的折扣。查询从广州到北京,经过一次中转的所有航班对,输出广州到中转地的航班编号、中转地、中转地到北京的航班编号。 SELECT _ FROM 航班航班 1,航班 航班 2 WHERE _;(分数:5.00)_试题三 阅读以下说明,根据要求回答下列问题。 说明 某电视台拟开发一套信息管理系统,以方便对全台的员工、栏目、广告和演播厅等进行管理。 需求分析 (1)系统需要维护全台员工的详细信息、栏目信息、广告信息和演播厅信息等。员工的信息主要包括
9、:工号、姓名、性别、出生日期、电话和住址等,栏目信息主要包括:栏目名称、播出时间和时长等。广告信息主要包括:广告编号、价格等。演播厅信息包括:房间号、房间面积等。 (2)电视台根据调度单来协调各档栏目、演播厅和场务。一个销售档栏目只会占用一个演播厅,但会使用多名场务来进行演出协调。演播厅和场务可以被多个栏目循环使用。 (3)电视台根据栏目来插播广告。每档栏目可以插播多条广告,每条广告也可以在多档栏目中插播。 (4)一档栏目可以有多名主持人,但一名主持人只能主持一档栏目。 (5)一名编辑人员可以编辑多条广告,一条广告只能由一名编辑人员编辑。 概念模型设计 根据需求阶段收集的信息而设计的实体联系图
10、(不完整)如图所示。 (分数:15.00)(1).补充图中的联系和联系的类型。(分数:5.00)_(2).根据图,将逻辑结构设计阶段生成的关系模式中补充完整,并用下划线指出所在关系模式的主键。(分数:5.00)_(3).现需要记录广告商信息,增加广告商实体。一个广告商可以提供多条广告,一条广告只能由一个广告商提供。请根据该要求,对图进行修改,画出修改后的实体间联系和联系的类型。(分数:5.00)_试题四 阅读以下说明,根据要求回答下列问题。 说明 某水果零售超市拟开发一套信息系统,对超市的顾客、水果、员工、采购和销售信息进行管理。 需求分析 (1)水果零售超市实行会员制,顾客需具有会员资格才能
11、进行购物,顾客需持所在单位出具的证明信才能办理会员资格,每位顾客具有唯一编号。 (2)超市将采购员和导购员分成若干个小组,每组人员负责指定的若干种水果的采购和导购。每名采购员可采购指定给该组购买的水果;每名导购员都可对顾客选购的本组内的各种水果进行计价和包装,并分别贴上打印条码。 (3)顾客选购水果并计价完毕后进行结算,生成结算单。结算单包括流水号、购买的各种水果信息和顾客信息等,每张结算单具有唯一的流水号。 (4)超市在月底根据结算单对导购员进行绩效考核,根据采购情况对采购员进行考核,同时也根据结算单对顾客消费情况进行会员积分。 初步设计的数据库关系模式如下。 (分数:15.00)(1).对
12、于“顾客”关系模式,请回答以下问题: (1)给出所有候选键。 (2)该关系模式可达到第几范式,用 60 字以内的文字简要叙述理由。(分数:5.00)_(2).对于“结算单”关系模式,请回答以下问题: (1)用 100 字以内的文字简要说明它会产生什么问题。 (2)将其分解为第 3 范式,分解后的关系名依次为:结算单 1,结算单 2,结算单 3,并用下划线标注分解后的各关系模式的主键。(分数:5.00)_(3).对于“职责”关系模式,请回答以下问题: (1)它是否为第 4 范式,用 100 字以内的文字叙述理由。 (2)将其分解为第 4 范式,分解后的关系名依次为:职责 1,职责 2。(分数:5
13、.00)_试题五 阅读以下说明,根据要求回答下列问题。 说明 某连锁酒店提供网上预订房间业务,流程如下:(1)客户查询指定日期内所有类别的空余房间数,系统显示空房表(日期,房间类别,数量)中的信息。 (2)客户输入预订的起始日期、结束日期、房间类别和数量,并提交。 (3)系统将用户提交的信息写入预订表(身份证号,起始日期,结束日期,房间类别,数量),并修改空房表的相关数据。 针对上述业务流程,回答下列问题。(分数:15.00)(1).如果两个用户同时查询相同日期和房间类别的空房数量,得到的空房数量为 1,并且这两个用户又同时要求预订,可能会产生什么结果,请用 100 字以内的文字简要叙述。(分
14、数:5.00)_(2).引入如下伪指令:将预订过程作为一个事务,将查询和修改空房表的操作分别记为 R(A)和 W(A,x),插入预订表的操作记为 W(B,a),其中 x 代表空余房间数,a 代表预订房间数,则事务的伪指令序列为:x=R(A),W(A,x-a),w(B,a)。 在并发操作的情况下,若客户 1、客户 2 同时预订相同类别的房间时,可能出现的执行序列为:x1=R(A),x2=R(A),W(A,x1-a1),W(B1,a1),W(A,x2-a2),W(B2,a2)。 (1)此时会出现什么问题,请用 100 字以内的文字简要叙述。 (2)为了解决上述问题,引入共享锁指令SLock(X)和
15、独占锁指令 XLock(X)对数据 X 进行加锁,解锁指令 Unlock(X)对数据 X 进行解锁,请补充上述执行序列,使其满足 2PL 协议,不产生死锁且持有锁的时间最短。(分数:5.00)_(3).下面是实现预订业务的程序,请补全空缺处的代码。其中主变量“:Cid”、“:Bdate”、“:Edate”、“:Rtype”、“:Num”分别代表身份证号、起始日期、结束日期、房间类别和订房数量。 SET TRANSACTION ISOLATION LEVEL REPEATABLE READ; UPDATE 空房表 SET 数量=数量-:Num WHERE _; if error then ROL
16、LBACK; return -1; INSERT INTO 预订表 VALUES (:cid, :Bdate, :Edate, :Rtype, :Num); if error then ROLLBACK; return -2; _;(分数:5.00)_计算机水平考试中级数据库系统工程师 2013 年上半年下午真题答案解析(总分:75.00,做题时间:150 分钟)试题一 阅读以下说明和图,根据要求回答下列问题。 说明 某慈善机构欲开发一个募捐系统,以跟踪记录为事业或项目向目标群体进行募捐而组织的集体性活动。该系统的主要功能如下所示。 (1)管理志愿者。根据募捐任务给志愿者发送加入邀请、邀请跟进
17、、工作任务;管理志愿者提供的邀请响应、志愿者信息、工作时长、工作结果等。 (2)确定募捐需求和收集所募捐赠(资金及物品)。根据需求提出募捐任务、活动请求和捐赠请求,获取所募集的资金和物品。 (3)组织募捐活动。根据活动请求,确定活动时间范围。根据活动时间,搜索场馆,即:向场馆发送场馆可用性请求,获得场馆可用性。然后根据活动时间和地点推广募捐活动,根据相应的活动信息举办活动,从募捐机构获取资金并向其发放赠品。获取和处理捐赠,根据捐赠请求,提供所募集的捐赠;处理与捐赠人之间的交互,即:录入捐赠人信息,处理后存入捐赠人信息表;从捐赠人信息表中查询捐赠人信息,向捐赠人发送募捐请求,并将已联系的捐赠人存
18、入已联系的捐赠人表。根据捐赠请求进行募集,募得捐赠后,将捐赠记录存入捐赠表;对捐赠记录进行处理后,存入已处理捐赠表,向捐赠人发送致谢函。根据已联系的捐赠人和捐赠记录进行跟进,将捐赠跟进情况发送给捐赠人。 现采用结构化方法对募捐系统进行分析与设计,获得如图所示的分层数据流图。 (分数:15.00)(1).使用说明中的词语,给出图 1 中的实体 E1E4 的名称。(分数:5.00)_正确答案:( E1:志愿者 E2:捐赠人 E3:募捐机构 E4:场馆)解析: 由题干中的关键信息“根据募捐任务给志愿者发送加入邀请、邀请跟进、工作任务;管理志愿者提供的邀请响应、志愿者信息、工作时长、工作结果等”,结合
19、如图 1 所示的 0 层数据流图中与实体 E1相关的“加入邀请/邀请跟进/工作任务”这一条输入数据流,以及“志愿者信息/工作时长/邀请响应/工作结果”这一条输出数据流可知,实体 E1 的名称是“志愿者”。 根据题干中给出的“根据活动时间,搜索场馆,即:向场馆发送场馆可用性请求,获得场馆可用性”等关键信息,结合图 1 中输入至实体 E4 的数据流“场馆可用性请求”,以及输出数据流“场馆可用性”等可知,实体 E4 的名称是“场馆”。 基于题干中给出的“根据相应的活动信息举办活动,从募捐机构获取资金并向其发放赠品”等关键信息,结合图 1 中输入至实体 E3 的数据流“赠品”,以及输出数据流“资金”等
20、可知,实体 E3 的名称是“募捐机构”。 依据题干中给出的“从捐赠人信息表中查询捐赠人信息,向捐赠人发送募捐请求”等关键信息,结合图 1 中输入至实体 E2 的数据流“募捐请求”,以及输出数据流“捐赠人信息”等可知,实体 E2 的名称是“捐赠人”。(2).在建模 DFD 时,需要对有些复杂加工(处理)进行进一步精化,图 2 为图 1 中处理 3 的进一步细化的 1层数据流图,图 3 为图 2 中 3.1 进一步细化的 2 层数据流图。补全图 2 中加工 P1、P2 和 P3 的名称和图 2与图 3 中缺少的数据流。(分数:5.00)_正确答案:( P1:确定活动时间范围 P2:搜索场馆 P3:
21、推广募捐活动 )解析: 基于问题 1 的解析结果,结合如图 2 所示的 1 层数据流图中与加工 P1 相关的“活动时间”这一条输出数据流,查找到题干中与之相关的关键信息“(3)组织募捐活动。根据活动请求,确定活动时间范围。根据活动时间”可知,P1 的名称是“确定活动时间范围”。 根据题干中给出的“根据活动时间,搜索场馆,即:向场馆发送场馆可用性请求,获得场馆可用性”等关键信息,结合图 2 中加工 P2 的输入数据流“活动时间”和“场馆可用性”,以及输出数据流“场馆可用性请求”等可知,P2 的名称是“搜索场馆”。 由题干中给出的关键信息“然后根据活动时间和地点推广募捐活动,根据相应的活动信息举办
22、活动”等,结合图 2 中加工 P3 的输入数据流“活动时间和地点”,以及输出数据流“活动信息”等可知,P3 的名称是“推广募捐活动”。 结合题干中给出的关键信息“(3)组织募捐活动。根据活动请求,确定活动时间范围”,以及图 1 中处理 2 至处理 3 的数据流“活动请求”可知,图 2 中缺少了一条从处理2 至处理 3.2 的数据流“活动请求”。 依据题干中给出的“(2)确定募捐需求和收集所募捐赠(资金及物品)获取所募集的资金和物品”、“(3)组织募捐活动获取和处理捐赠,根据捐赠请求,提供所募集的捐赠”等关键信息可知,图 2 中缺少了一条从处理 3.5 至处理 2 的数据流“所募集资金”。 基于
23、题干中给出的关键信息“(3)组织募捐活动根据捐赠请求进行募集”,以及图 2 中处理 2 至处理 3.1 的数据流“捐赠请求”可知,图 3 中缺少了一条从处理 2 至处理 3.1.3 的数据流“捐赠请求”。 根据图 2中处理 3.1 至处理 2 的数据流“所募集物品”、“所募集资金”,以及“(2)确定募捐需求和收集所募捐赠(资金及物品)获取所募集的资金和物品”可知,图 3 中缺少了一条从处理 3.1.3 至处理 2 的数据流“所募集捐赠”。(3).使用说明中的词语,给出图 3 中的数据存储 D1D4 的名称。(分数:5.00)_正确答案:(D1:捐赠人信息表 D2:已联系的捐赠人表 D3:捐赠表
24、 D4:已处理捐赠表)解析: 结合题干中给出的关键信息“录入捐赠人信息,处理后存入捐赠人信息表”,以及图 3 中处理3.1.1 的名称“录入捐赠人信息”可知,图 3 中数据存储 D1 的名称是“捐赠人信息表”。 同理,根据题干中给出的关键信息“向捐赠人发送募捐请求,并将已联系的捐赠人存入已联系的捐赠人表”,以及图 3 中处理 3.1.2 的名称“请求募捐”及其输出数据流“已联系的捐赠人”等可知,数据存储 D2 的名称是“已联系的捐赠人表”。 基于题干中给出的关键信息“根据捐赠请求进行募集,募得捐赠后,将捐赠记录存入捐赠表”,以及图 3 中处理 3.1.3 的名称“募集”及其输出数据流“捐赠记录
25、”等可知,数据存储 D3 的名称是“捐赠表”。 依据题干中给出的关键信息“对捐赠记录进行处理后,存入已处理捐赠表”,以及图 3 中处理 3.1.3 的名称“募集”及其输出数据流“已处理的捐赠记录”等可知,数据存储 D4 的名称是“已处理捐赠表”。试题二 阅读以下说明,根据要求回答下列问题。 说明 某航空公司要开发一个订票信息处理系统,该系统的部分关系模式如下: 航班(航班编号,航空公司,起飞地,起飞时间,目的地,到达时间,票价) 折扣(航班编号,开始日期,结束日期,折扣) 旅客(身份证号,姓名,性别,出生日期,电话,VIP 折扣) 购票(购票单号,身份证号,航班编号,搭乘日期,购票金额) 有关
26、关系模式的属性及相关说明如下: (1)航班表中的起飞时间和到达时间不包含日期,同一航班不会在一天出现两次及两次以上; (2)各航空公司会根据旅客出行淡旺季适时调整机票的折扣,旅客购买机票的购票金额计算公式为:票价折扣VIP 折扣,其中旅客的 VIP 折扣与该旅客已购买过的机票的购票金额总和相关,在旅客每次购票后被修改。VIP 折扣值的计算由函数 float vip_value(char18身份证号)完成。 根据以上描述,回答下列问题。(分数:15.00)(1).请将如下创建购票关系的 SQL 语句的空缺部分补充完整,要求指定关系的主键、外键,以及购票金额大于零的约束。 CREATE TABLE
27、 购票( 购票单号 CHAR(15) _, 身份证号 CHAR(18), 航班编号 CHAR(6), 搭乘日期 DATE, 购票金额 FLOAT _, _, _, );(分数:5.00)_正确答案:( PRIMARY KEY(或 NOT NULL UNIQUE) CHECK(购票金额0) FOREIGN KEY (身份证号) REFERENCES 旅客(身份证号) FOREIGN KEY (航班编号) REFERENCES 航班(航班编号)解析: 在创建“购票”关系模式的 SQL 语句时,由于属性“购票单号”为“购票”关系模式的主键,即不能为空且唯一标识一条数据记录,因此空缺处需要填入“PRI
28、MARYKEY(或 NOTNULL UNIQUE,或 NOT NULL PRIMARY KEY)”对该属性进行主键约束。 结合题干给出的关键信息“购票金额大于零”可知,空缺处应填入“CHECK(购票金额0)”对属性“购票金额”进行约束。 由于属性“身份证号”、“航班编号”是“购票”关系模式的外键,因此空缺处需要使用 FOREIGN KEY 对这两个属性进行外键约束,即应填入“FOREIGN KEY(身份证号)REFERENCES 旅客(身份证号)”、“FOREIGN KEY(航班编号)REFERENCES 航班(航班编号)”。(2).(1)身份证号为 210000196006189999 的客
29、户购买了 2013 年 2 月 18 日 CA5302 航班的机票,购票单号由系统自动生成。下面的 SQL 语句将上述购票信息加入系统中,请将空缺部分补充完整。 INSERT INTO 购票(购票单号,身份证号,航班编号,搭乘日期,购票金额) SELECT 201303105555,210000196006189999,CA5302,2013/2/18, _ FROM 航班,折扣,旅客 WHERE _ AND 航班.航班编号=CA5302 AND AND 2013/2/18 BETWEEN 折扣.开始日期 AND 折扣.结束日期 AND 旅客.身份证号=210000196006189999;
30、(2)需要用触发器来实现 VIP 折扣的修改,调用函数vip_value()来实现。请将如下 SQL 语句的空缺部分补充完整。 CREATE TRIGGER VIP_TRG AFTER _ ON _ RE FERENCING new row AS nrow FOR EACH row BEGIN UPDATE 旅客 SET _ WHERE _; END(分数:5.00)_正确答案:( 票价*折扣*VIP 折扣 航班.航班编号=折扣.航班编号 INSERT 购票 VIP 折扣=vip_value(nrow.身份证号) 旅客.身份证号=nrow.身份证号)解析: (1)基于题干给出的关键信息“旅客购
31、买机票的购票金额计算公式为:票价折扣VIP 折扣”可知,(空缺处对应填入 INSERT INTO 语句中“购票金额”的计算公式,即“票价*折扣*VIP 折扣”。 结合题干给出的“其中旅客的 VIP 折扣与该旅客已购买过的机票的购票金额总和相关,在旅客每次购票后被修改”等关键信息可知,该 SELECT 查询语句中将涉及到“航班”、“折扣”两个关系模式,因此空缺处应对这二者进行关联,即应填入“航班.航班编号=折扣.航班编号”。 (2)使用 T-SQL 语句来创建触发器的基本语句如下。 create trigger trigger_name on table_name | view_name for
32、 | After | Instead of insert,update,delete as sql_statement 在“购票”关系模式中插入一条数据记录时,触发器应能够自动执行,因此需要创建基于 INSERT 类型的触发器,即空缺处应依次填入“INSERT”、“购票”。 根据题干给出的“VIP 折扣值的计算由函数 float vip_value(char18身份证号)完成”等关键信息可知,空缺处应填入的触发器执行动作是“VIP 折扣=vip_value(nrow.身份证号)”。 空缺处应添加表的连接条件“旅客.身份证号=nrow.身份证号”。(3).请将如下 SQL 语句的空缺部分补充完整
33、。 (1)查询搭乘日期在 2012 年 1 月 1 日至 2012 年 12 月 31 日之间,且合计购票金额大于等于 10000 元的所有旅客的身份证号、姓名和购票金额总和,并按购票金额总和降序输出。 SELECT 旅客.身份证号,姓名,SUM(购票金额) FROM 旅客,购票 WHERE _ GROUP BY _; ORDER BY _; (2)经过中转的航班与相同始发地和目的地的直达航班相比,会享受更低的折扣。查询从广州到北京,经过一次中转的所有航班对,输出广州到中转地的航班编号、中转地、中转地到北京的航班编号。 SELECT _ FROM 航班航班 1,航班 航班 2 WHERE _;
34、(分数:5.00)_正确答案:( 身份证号=购票.身份证号 AND 搭乘日期 BETWEEN 2012/1/1 AND 2012/12/31 旅客.身份证号,姓名 HAVlNG SUM(购票金额)=10000 SUM(购票金额) DESC 航班 1.航班编号,航班 1.目的地,航班 2.航班编号 航班 1.起飞地=广州 AND 航班 2.目的地=北京 AND 航班 1.目的地=航班 2.起飞地;)解析: (1)查询搭乘日期在 2012 年 1 月 1 日至 2012 年 12 月 31 日之间,且合计购票金额大于等于 10000元的所有旅客的身份证号、姓名和购票金额总和,并按购票金额总和降序输
35、出。 SELECT 旅客.身份证号,姓名,SUM(购票金额) FROM 旅客,购票 WHERE 旅客.身份证号=购票.身份证号 AND 搭乘日期 BETWEEN 2012/1/1 AND 2012/12/31 GROUP BY 旅客.身份证号,姓名 HAVING SUM(购票金额)=10000; ORDER BY SUM(购票金额) DESC; (2)经过中转的航班与相同始发地和目的地的直达航班相比,会享受更低的折扣。查询从广州到北京,经过一次中转的所有航班对,输出广州到中转地的航班编号、中转地、中转地到北京的航班编号。 SELECT 航班 1.航班编号,航班 1.目的地,航班 2.航班编号
36、FROM 航班航班 1,航班航班 2 WHERE 航班 1.起飞地=广州 AND 航班 2.目的地=北京 AND 航班 1.目的地=航班 2.起飞地;试题三 阅读以下说明,根据要求回答下列问题。 说明 某电视台拟开发一套信息管理系统,以方便对全台的员工、栏目、广告和演播厅等进行管理。 需求分析 (1)系统需要维护全台员工的详细信息、栏目信息、广告信息和演播厅信息等。员工的信息主要包括:工号、姓名、性别、出生日期、电话和住址等,栏目信息主要包括:栏目名称、播出时间和时长等。广告信息主要包括:广告编号、价格等。演播厅信息包括:房间号、房间面积等。 (2)电视台根据调度单来协调各档栏目、演播厅和场务
37、。一个销售档栏目只会占用一个演播厅,但会使用多名场务来进行演出协调。演播厅和场务可以被多个栏目循环使用。 (3)电视台根据栏目来插播广告。每档栏目可以插播多条广告,每条广告也可以在多档栏目中插播。 (4)一档栏目可以有多名主持人,但一名主持人只能主持一档栏目。 (5)一名编辑人员可以编辑多条广告,一条广告只能由一名编辑人员编辑。 概念模型设计 根据需求阶段收集的信息而设计的实体联系图(不完整)如图所示。 (分数:15.00)(1).补充图中的联系和联系的类型。(分数:5.00)_正确答案:( )解析: 这是一道要求读者掌握数据库的概念结构设计的综合分析题,本题的解答思路如下。 仔细阅读题干给出
38、的说明信息,由其中关键信息“(3)电视台根据栏目来插播广告。每档栏目可以插播多条广告,每条广告也可以在多档栏目插播”等可知,图中实体“广告”与实体“栏目”之间存在联系“插播”,其联系的类型为多对多(m:n)。 基于题干给出的“(4)一档栏目可以有多个主持人,但一名主持人只能主持一档栏目”等关键信息可知,图中实体“栏目”与实体“主持人”之间存在联系“主持”,其联系的类型为一对多(1:n)。 根据题干给出的关键信息“(2)电视台根据调度单来协调各档栏目、演播厅和场务。一个销售档栏目只会占用一个演播厅,但会使用多名场务来进行演出协调。演播厅和场务可以被多个栏目循环使用”等关键信息可知,图中实体“场务
39、”与联系“调度”之间存在关联,其关联的类型为多(n)。 整理以上分析结果,结合图可得出完整的信息管理系统实体联系图,如图所示。 (2).根据图,将逻辑结构设计阶段生成的关系模式中补充完整,并用下划线指出所在关系模式的主键。(分数:5.00)_正确答案:( (1)编辑人员工号 (2)栏目名称 (3)栏目名称,广告编号 (4)栏目名称,房间号,场务工号 广告(广告编号,销售价格,编辑人员工号) 主持人(主持人工号,栏目名称) 插播单(栏目名称,广告编号,播出时间) 调度单(栏目名称,房间号,场务工号)解析: 这是一道要求读者掌握数据库的逻辑结构设计的综合理解题,本题的解答思路如下。 基于问题 1的
40、分析结果,在图中实体“编辑人员”与实体“广告”之间存在联系“编辑”,其联系的类型为一对多(1:n)。结合题干说明信息中已给出的关系模式:员工(工号,姓名,性别,出生日期,电话,住址),可知“广告”关系模式中需要加入一端实体的主键“编辑人员工号”(即空缺处所填写的内容)。结合常识可知,属性“广告编号”唯一标识每一条“广告”的数据记录,因此它是“广告”关系模式的主键。 同理,在图中实体“栏目”与实体“主持人”之间存在联系“主持”,其联系的类型为一对多(1:n)。题干中已给出的关系模式:栏目(栏目名称,播出时间,时长),可知“主持人”关系模式中需要加入一端实体的主键“栏目名称”(即空缺处所填写的内容
41、)。结合常识可知,属性“主持人工号”唯一标识每一条“主持人”的数据记录,因此它是“主持人”关系模式的主键。 对于图中联系类型为多对多(m:n)的“插播”联系,应将其转换成一个独立的关系模式,其属性为两端实体类型的主键加上联系类型自身的属性,而该关系模式的主键为两端实体主键的组合。因此空缺处应填入“栏目名称,广告编号”。属性“栏目名称”、“广告编号”的组合是“插播单”关系模式的主键。 对于图中联系类型为 1:m:n 的“调度”联系,应将其转换成一个独立的关系模式,其属性为三端实体类型的主键加上联系类型自身的属性,而该关系模式的主键为三端实体主键的组合。因此空缺处应填入“栏目名称,房间号,场务工号”。属性“栏目名称”、“房间号”、“场务工号”的组合是“调度”关系模式的主键。(3).现需要记录广告商信息,增加广告商实体。一个广告商可以提供多条广告,一条广告只能由一个广告商提供。请根据该要求,对图进行修改,画出修改后的实体间联系和联系的类型。(分数:5.00)_正确答案:( )解析: 这是一道要求读者掌握数据库的概念结构设计的综合应用题,本题的解答思路如下:如果需要广告商信息,则新增一个“广告商”实体,而一个广告商可以提供多条广告,一条广告只能由一个广告商提供,因此“广告商”和“广告”两个实体之间都存在联系“提供”,其联系的类型都为一对多(1:n