软考数据库系统工程师下午试题与答案.docx

上传人:b****1 文档编号:812434 上传时间:2022-10-13 格式:DOCX 页数:25 大小:77.13KB
下载 相关 举报
软考数据库系统工程师下午试题与答案.docx_第1页
第1页 / 共25页
软考数据库系统工程师下午试题与答案.docx_第2页
第2页 / 共25页
软考数据库系统工程师下午试题与答案.docx_第3页
第3页 / 共25页
软考数据库系统工程师下午试题与答案.docx_第4页
第4页 / 共25页
软考数据库系统工程师下午试题与答案.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

软考数据库系统工程师下午试题与答案.docx

《软考数据库系统工程师下午试题与答案.docx》由会员分享,可在线阅读,更多相关《软考数据库系统工程师下午试题与答案.docx(25页珍藏版)》请在冰豆网上搜索。

软考数据库系统工程师下午试题与答案.docx

软考数据库系统工程师下午试题与答案

试题一

阅读以下说明和图,根据要求回答下列问题。

[说明]

某慈善机构欲开发一个募捐系统,以跟踪记录为事业或项目向目标群体进行募捐而组织的集体性活动。

该系统的主要功能如下所示。

1管理志愿者。

根据募捐任务给志愿者发送加入邀请、邀请跟进、工作任务;管理志愿者提供的邀请响应、志愿者信息、工作时长、工作结果等。

2确定募捐需求和收集所募捐赠<资金及物品>。

根据需求提出募捐任务、活动请求和捐赠请求,获取所募集的资金和物品。

3组织募捐活动。

根据活动请求,确定活动时间范围。

根据活动时间,搜索场馆,即:

向场馆发送场馆可用性请求,获得场馆可用性。

然后根据活动时间和地点推广募捐活动,根据相应的活动信息举办活动,从募捐机构获取资金并向其发放赠品。

获取和处理捐赠,根据捐赠请求,提供所募集的捐赠;处理与捐赠人之间的交互,即:

录入捐赠人信息,处理后存入捐赠人信息表;从捐赠人信息表中查询捐赠人信息,向捐赠人发送募捐请求,并将已联系的捐赠人存入已联系的捐赠人表。

根据捐赠请求进行募集,募得捐赠后,将捐赠记录存入捐赠表;对捐赠记录进行处理后,存入已处理捐赠表,向捐赠人发送致谢函。

根据已联系的捐赠人和捐赠记录进行跟进,将捐赠跟进情况发送给捐赠人。

现采用结构化方法对募捐系统进行分析与设计,获得如图所示的分层数据流图。

1、使用说明中的词语,给出图1中的实体E1~E4的名称。

2、在建模DFD时,需要对有些复杂加工<处理>进行进一步精化,图2为图1中处理3的进一步细化的1层数据流图,图3为图2中3.1进一步细化的2层数据流图。

补全图2中加工P1、P2和P3的名称和图2与图3中缺少的数据流。

3、使用说明中的词语,给出图3中的数据存储D1~D4的名称。

试题一

1、E1:

志愿者E2:

捐赠人

E3:

募捐机构E4:

场馆

由题干中的关键信息"根据募捐任务给志愿者发送加入邀请、邀请跟进、工作任务;管理志愿者提供的邀请响应、志愿者信息、工作时长、工作结果等",结合如图1所示的0层数据流图中与实体E1相关的"加入邀请/邀请跟进/工作任务"这一条输入数据流,以及"志愿者信息/工作时长/邀请响应/工作结果"这一条输出数据流可知,实体E1的名称是"志愿者"。

根据题干中给出的"根据活动时间,搜索场馆,即:

向场馆发送场馆可用性请求,获得场馆可用性"等关键信息,结合图1中输入至实体E4的数据流"场馆可用性请求",以及输出数据流"场馆可用性"等可知,实体E4的名称是"场馆"。

基于题干中给出的"根据相应的活动信息举办活动,从募捐机构获取资金并向其发放赠品"等关键信息,结合图1中输入至实体E3的数据流"赠品",以及输出数据流"资金"等可知,实体E3的名称是"募捐机构"。

依据题干中给出的"从捐赠人信息表中查询捐赠人信息,向捐赠人发送募捐请求"等关键信息,结合图1中输入至实体E2的数据流"募捐请求",以及输出数据流"捐赠人信息"等可知,实体E2的名称是"捐赠人"。

2、P1:

确定活动时间范围P2:

搜索场馆

P3:

推广募捐活动

数据流名称

起点

终点

所募集资金

3.5或举办活动并募集资金

2

活动请求

2

3.2或确定活动时间范围

捐赠请求

2<可不填>

所募集捐赠<或

所募集资金或所

募集物品

或募集

2<可不填>

或募集

2<可不填>

或募集

2<可不填>

注:

数据流没有次序要求;其中"2"处可以为"确定募捐需求收集所募捐赠"

基于问题1的解析结果,结合如图2所示的1层数据流图中与加工P1相关的"活动时间"这一条输出数据流,查找到题干中与之相关的关键信息"<3>组织募捐活动。

根据活动请求,确定活动时间范围。

根据活动时间……"可知,P1的名称是"确定活动时间范围"。

根据题干中给出的"根据活动时间,搜索场馆,即:

向场馆发送场馆可用性请求,获得场馆可用性"等关键信息,结合图2中加工P2的输入数据流"活动时间"和"场馆可用性",以及输出数据流"场馆可用性请求"等可知,P2的名称是"搜索场馆"。

由题干中给出的关键信息"然后根据活动时间和地点推广募捐活动,根据相应的活动信息举办活动……"等,结合图2中加工P3的输入数据流"活动时间和地点",以及输出数据流"活动信息"等可知,P3的名称是"推广募捐活动"。

结合题干中给出的关键信息"<3>组织募捐活动。

根据活动请求,确定活动时间范围",以及图1中处理2至处理3的数据流"活动请求"可知,图2中缺少了一条从处理2至处理3.2的数据流"活动请求"。

依据题干中给出的"<2>确定募捐需求和收集所募捐赠<资金及物品>……获取所募集的资金和物品"、"<3>组织募捐活动……获取和处理捐赠,根据捐赠请求,提供所募集的捐赠"等关键信息可知,图2中缺少了一条从处理3.5至处理2的数据流"所募集资金"。

基于题干中给出的关键信息"<3>组织募捐活动……根据捐赠请求进行募集",以及图2中处理2至处理3.1的数据流"捐赠请求"可知,图3中缺少了一条从处理2至处理的数据流"捐赠请求"。

根据图2中处理3.1至处理2的数据流"所募集物品"、"所募集资金",以及"<2>确定募捐需求和收集所募捐赠<资金及物品>……获取所募集的资金和物品"可知,图3中缺少了一条从处理至处理2的数据流"所募集捐赠"。

3、D1:

捐赠人信息表D2:

已联系的捐赠人表D3:

捐赠表D4:

已处理捐赠表

结合题干中给出的关键信息"录入捐赠人信息,处理后存入捐赠人信息表",以及图3中处理的名称"录入捐赠人信息"可知,图3中数据存储D1的名称是"捐赠人信息表"。

同理,根据题干中给出的关键信息"……向捐赠人发送募捐请求,并将已联系的捐赠人存入已联系的捐赠人表",以及图3中处理的名称"请求募捐"及其输出数据流"已联系的捐赠人"等可知,数据存储D2的名称是"已联系的捐赠人表"。

基于题干中给出的关键信息"……根据捐赠请求进行募集,募得捐赠后,将捐赠记录存入捐赠表",以及图3中处理的名称"募集"及其输出数据流"捐赠记录"等可知,数据存储D3的名称是"捐赠表"。

依据题干中给出的关键信息"……对捐赠记录进行处理后,存入已处理捐赠表……",以及图3中处理的名称"募集"及其输出数据流"已处理的捐赠记录"等可知,数据存储D4的名称是"已处理捐赠表"。

试题二

阅读以下说明,根据要求回答下列问题。

[说明]

某航空公司要开发一个订票信息处理系统,该系统的部分关系模式如下:

航班<航班编号,航空公司,起飞地,起飞时间,目的地,到达时间,票价>

折扣<航班编号,开始日期,结束日期,折扣>

旅客<身份证号,姓名,性别,出生日期,,VIP折扣>

购票<购票单号,身份证号,航班编号,搭乘日期,购票金额>

有关关系模式的属性及相关说明如下:

4航班表中的起飞时间和到达时间不包含日期,同一航班不会在一天出现两次及两次以上;

5各航空公司会根据旅客出行淡旺季适时调整机票的折扣,旅客购买机票的购票金额计算公式为:

票价×折扣×VIP折扣,其中旅客的VIP折扣与该旅客已购买过的机票的购票金额总和相关,在旅客每次购票后被修改。

VIP折扣值的计算由函数floatvip_value完成。

根据以上描述,回答下列问题。

4、请将如下创建购票关系的SQL语句的空缺部分补充完整,要求指定关系的主键、外键,以及购票金额大于零的约束。

CREATETABLE购票<

购票单号CHAR<15>______,

身份证号CHAR<18>,

航班编号CHAR<6>,

搭乘日期DATE,

购票金额FLOAT______,

______,

______,

>;

5、<1>身份证号为的客户购买了20XX2月18日CA5302航班的机票,购票单号由系统自动生成。

下面的SQL语句将上述购票信息加入系统中,请将空缺部分补充完整。

INSERTINTO购票<购票单号,身份证号,航班编号,搭乘日期,购票金额>

______

FROM航班,折扣,旅客

WHERE______AND航班.航班编号='CA5302'AND

AND'2013/2/18'BETWEEN折扣.开始日期AND折扣.结束日期

AND旅客.身份证号

<2>需要用触发器来实现VIP折扣的修改,调用函数vip_value<>来实现。

请将如下SQL语句的空缺部分补充完整。

CREATETRIGGERVIP_TRGAFTER______ON______

REFERENCINGnewrowASnrow

FOREACHrow

BEGIN

UPDATE旅客

SET______

WHERE______;

END

6、请将如下SQL语句的空缺部分补充完整。

<1>查询搭乘日期在20XX1月1日至20XX12月31日之间,且合计购票金额大于等于10000元的所有旅客的身份证号、姓名和购票金额总和,并按购票金额总和降序输出。

SELECT旅客.身份证号,姓名,SUM<购票金额>

FROM旅客,购票

WHERE______

GROUPBY______;

ORDERBY______;

<2>经过中转的航班与相同始发地和目的地的直达航班相比,会享受更低的折扣。

查询从XX到北京,经过一次中转的所有航班对,输出XX到中转地的航班编号、中转地、中转地到北京的航班编号。

SELECT______

FROM航班航班1,航班航班2

WHERE______;

试题二

4、PRIMARYKEY<或NOTNULLUNIQUE>

CHECK<购票金额>0>

FOREIGNKEY<身份证号>REFERENCES旅客<身份证号>

FOREIGNKEY<航班编号>REFERENCES航班<航班编号>

在创建"购票"关系模式的SQL语句时,由于属性"购票单号"为"购票"关系模式的主键,即不能为空且唯一标识一条数据记录,因此空缺处需要填入"PRIMARYKEY<或NOTNULLUNIQUE,或NOTNULLPRIMARYKEY>"对该属性进行主键约束。

结合题干给出的关键信息"购票金额大于零"可知,空缺处应填入"CHECK<购票金额>0>"对属性"购票金额"进行约束。

由于属性"身份证号"、"航班编号"是"购票"关系模式的外键,因此空缺处需要使用FOREIGNKEY对这两个属性进行外键约束,即应填入"FOREIGNKEY<身份证号>REFERENCES旅客<身份证号>"、"FOREIGNKEY<航班编号>REFERENCES航班<航班编号>"。

5、票价*折扣*VIP折扣

航班.航班编号=折扣.航班编号

INSERT

购票

VIP折扣=vip_value

旅客.身份证号=nrow.身份证号

<1>基于题干给出的关键信息"旅客购买机票的购票金额计算公式为:

票价×折扣×VIP折扣"可知,<空缺处对应填入INSERTINTO语句中"购票金额"的计算公式,即"票价*折扣*VIP折扣"。

结合题干给出的"其中旅客的VIP折扣与该旅客已购买过的机票的购票金额总和相关,在旅客每次购票后被修改"等关键信息可知,该SELECT查询语句中将涉及到"航班"、"折扣"两个关系模式,因此空缺处应对这二者进行关联,即应填入"航班.航班编号=折扣.航班编号"。

<2>使用T-SQL语句来创建触发器的基本语句如下。

createtriggertrigger_nameon{table_name|view_name}{for|After|Insteadof}

[insert,update,delete]assql_statement

在"购票"关系模式中插入一条数据记录时,触发器应能够自动执行,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 工作总结汇报

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1