2016上半年数据库系统工程师考试真题及答案-下午卷.doc
《2016上半年数据库系统工程师考试真题及答案-下午卷.doc》由会员分享,可在线阅读,更多相关《2016上半年数据库系统工程师考试真题及答案-下午卷.doc(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2016上半年数据库系统工程师考试真题及答案-下午卷试题一阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。【说明】某会议中心提供举办会议的场地设施和各种设备,供公司与各类组织机构租用。场地包括一个大型报告厅、一个小型报告厅以及诸多会议室。这些报告厅和会议室可提供的设备有投影仪、白板、视频播放/回放设备、计算机等。为了加强管理,该中心欲开发一会议预订系统,系统的主要功能如下。(1)检查可用性。客户提交预订请求后,检查预订表,判定所申请的场地是否在申请日期内可用;如果不可用,返回不可用信息。(2)临时预订。会议中心管理员收到客户预定请求的通知之后,提交确认。系统生成新临时预订存入
2、预订表,并对新客户创建一条客户信息记录加以保存。根据客户记录给客户发送临时预订确认信息和支付定金要求。(3)分配设施与设备。根据临时预订或变更预定的设备和设施需求,分配所需设备(均能满足用户要求)和设施,更新相应的表和预订表。(4)确认预订。管理员收到客户支付定金的通知后,检查确认,更新预订表,根据客户记录给客户发送预订确认信息。(5)变更预订。客户还可以在支付余款前提交变更预订请求,对变更的预订请求检查可用性,如果可用,分配设施和设各;如果不可用,返回不可用信息。管理员确认变更后,根据客户记录给客户发送确认信息。(6)要求付款。管理员从预订表中查询距预订的会议时间两周内的预定,根据客户记录给
3、满足条件的客户发送支付余款要求。(7)支付余款。管理员收到客户余款支付的通知后,检查确认,更新预订表中的已支付余款信息。现采用结构化方法对会议预定系统进行分析与设计,获得如图1-1所示的上下文数据流图和图1-2所示的0层数据流图(不完整)。【问题1】使用说明中的词语,给出图1-1中的实体E1E2的名称。E1:客户E2:管理员本题考查采用结构化方法进行系统分析与设计,主要考查数据流图(DFD)的应用,是比较传统的题目,考点与往年类似,要求考生细心分析题目中所描述的内容。面向数据流建模是目前仍然被广泛使用的结构化分析与设计的方法之一,而DFD是面向数据流建模的重要工具,是一种便于用户理解、分析系统
4、数据流程的图形化建模工具,是系统逻辑模型的重要组成部分。DFD将系统建模成“输入加工(处理)输出”的模型,即流入软件的数据对象、经由加工的转换、最后以结果数据对象的形式流出软件,并采用分层的方式加以表示。上下文DFD(顶层DFD)通常用来确定系统边界,将待开发系统看作一个大的加工(处理),然后根据系统从哪些外部实体接收数据流,以及系统将数据流发送到哪些外部实体,建模出的上下文图中只有唯一的一个加工和一些外部实体,以及这两者之间的输入输出数据流。0层DFD在上下文确定的系统外部实体以及与外部实体的输入输出数据流的基础上,将上下文DFD中的加工分解成多个加工,识别这些加工的输入输出数据流,使得所有
5、上下文DFD中的输入数据流,经过这些加工之后变换成上下文DFD的输出数据流。根据0层DFD中加工的复杂程度进一步建模加工的内容。在建分层DFD时,根据需求情况可以将数据存储建模在不同层次的DFD注意要在绘制下层数据流图时要保持父图与子图平衡。父图中某加工的输入输出数琚流必须与它的子图的输入输出数据流在数量和名字上相同,或者父图中的一个输入(或输出)数据流对应于子图中几个输入(或输出)数据流,而子图中组成这些数据流的数据项全体正好是父图中的这一条数据流。本题考查上下文DFD,要求确定外部实体。在上下文DFD中,系统名称作为唯一加工的名称,外部实体和该唯一加工之间有输入输出数据流。通过考查系统的主
6、要功能,不难发现,系统中涉及到客户和会议中心管理员,没有提到其他与系统交互的外部实体。根据描述(1)“客户提交预订请求后”,(2)“会议中心管理员收到客户预定请求的通知之后,提交确认”、“根据客户记录给客户发送临时预订确认信息和支付定金要求”等信息,对照图1-1,从而即可确定E1为“客户”实体,E2为“管理员”实体。【问题2】使用说明中的词语,给出图1-2中的数据存储D1D4的名称。D1:预定表;D2:客户表;D3:场地表 (设施表或场地设施表);D4:设备表。注:D3和D4可互换。本题要求确定图1-2所示的0层数据流图中的数据存储。重点分析说明中与数据存储有关的描述。根据(1)“客户提交预订
7、请求后,检查预订表”,(2)“系统中成新临时预订存入预订表,并对新客户创建一条客户信息记录加以保存”,可知D1为预订表、D2为客户表;根据“会议中心提供举办会议的场地设施和各种设备”,(3)“根据临时预订或变更预定的设备和设施需求,分配所需设备(均能满足用户要求)和设施,更新相应的表和预订表”,“分配设施和设备”可知D3为和D4分别为场地(设施)表和设备表。【问题3】根据说明和图中术语,补充图1-2之中缺失的数据流及其起点和终点。注:上述6条数据流无顺序要求。本问题要求补充缺失的数据流及其起点和终点。对照图1-1和图1-2的输入、输出数据流,数量不同,考查图1-1中从加工“会议预订系统”输出至
8、E1的数据流,有“临时预订/预订/变更确认信息”,而图1-2中从加工输出至E1的数据流“临时预订确认信息”和“变更预订确认信息”,但缺少了其中一条数据流“预订确认信息”。另外,图1-1中有“付款凭据”,图1-2中没有“付款凭据”,而只有“已支付定金凭据”,没有针对说明(7)中“管理员收到客户余款支付的通知后”中的“支付余款凭据”。上述两条数据流的遗失,使父图和子图数据流没有达到平衡。所以需要确定这两条条数据流或者其分解的数据流的起点或终点。考查说明中的功能,先考查“确认预定”,功能(4)中“给客户发送预订确认信息”,对照图1-2,加工4没有到实体E1客户的“预订确认信息”数据流;功能(7)中“
9、管理员收到客户余款支付的通知后”,对照图1-2,加工7没有从实体E1客户输入的数据流“余款支付凭据”。图中“余款支付凭据”数据流是上下文数据流图中数据流“支付凭据”的分解,与另一条分解出的数据流“已支付定金凭据”对照,改名为“己支付余款凭据”。下面再仔细核对说明和图1-2之间是否还有遗失的数据流。不难发现,功能(4)中“根据客户记录给客户发送预订确认信息”,而图1-2中加工4从D1预订表中读取预订信息,并没有读取客户信息,所以,此处遗失了数据流“客户记录”,起点是D2客户表,终点是加工4确认预订;功能(5)中“管理员确认变更后,根据客户记录给客户发送确认信息”,而图1-2中加工5并没有所根据的
10、“客户记录”输入数据流,所以,此处遗失了数据流“客户记录”,起点是D2客户表,终点是加工5变更预订;功能(6)中“根据客户记录给满足条件的客户发送支付余款要求”,而图1-2中加工6并没有所根据的“客户记录”输入数据流,所以,此处遗失了数据流“客户记录”,起点是D2客户表,终点是加工6要求预订。继续核对说明和图1-2,不难发现,功能(6)中“管理员从预订表中查询距预订的会议时间两周内的预定”,而图1-2中没有从D1预订表到加工6的输入流,所以,此处遗失了数据流“距预订会议时间两周内的预订”,其起点是D1预订表,终点是加工6要求付款。【问题4】如果发送给客户的确认信息是通过Email系统向客户信息
11、中的电子邮件地址进行发送的,那么需要对图1-1和1-2进行哪些修改?用150字以内文字加以说明。将Email系统作为外部实体,并将发送给客户(E1)的确认信息数据流的终点全部改为Email系统(或具体说明确认信息数据流:临时预订确认信息、预订确认信息、变更确认信息,终点均改为Email系统)。DFD中,外部实体可以是用户,也可以是与本系统交互的其他系统。如果某功能交互的是外部系统(在本题中是Email系统),则本系统需要将发送给客户的确认息发送给Email系统。然后由第三方Email系统向客户发送邮件,此时第三方Email系统即为外部实体,而非本系统内部加工,因此需要对图1-1和图1-2进行修
12、改,添加外部实体“Email系统”,并将数据流确认信息的终点全部改为Email系统。即将数据流“临时预订确认信息”、“预订确认信息”、“变更确认信息”数据流的终点改为新的外部实体“Email系统”。试题二阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。【说明】某单位公用车辆后勤服务部门数据库的部分关系模式如下: 驾驶员:EMP(Eno,Ename,Age,Sex,telephone),各属性分别表示驾驶员工号、姓名、年龄、性别和电话号码; 车辆:CAR(Cno,Brand,Capacity),各属性分别表示汽车车牌号、品牌名和排量;调度:SCHEDULE(Sno,Eno,Cno,
13、StartTime,Endtime),各属性分别表示调度号、驾驶员工号、汽车车牌号、发车时间和收车时间;奖金:BONUS(Eno,Year,Month,Amount),各属性分别表示驾驶员工号、年、月和当月的奖金数量。有关车辆调度的相关说明如下:公车的行驶时间只能在工作时间内,因此规定调度表中每天安排发车的时间在上午07:00:00至下午18:00:00范围内。 【问题1】请将下面创建调度关系的SQL语句的空缺部分补充完整,要求指定关系的主码、外码,以及调度表中每天安排发车的时间在上午07:00:00至下午18:00:00范围内的约束(由函数Time Get_time(DATETIME Sta
14、rtTime)返回出车的时间)。(a)REFERENCES EMP(Eno)(b)REFERENCES CAR(Cno)(c)CHECK(Get_time(StartTime)BETWEEN07:00:00,AND18:00:00)(d)Sno本题考查SQL语句的基本语法与结构知识。此类题目要求考生掌握SQL语句的基本语法和结构,认真阅读题目给出的关系模式,针对题目的要求具体分析并解答。本试题已经给出了4个关系模式,需要分析每个实体的属性特征及实体之间的联系,补充完整SQL语句。由题目说明可知Sno属性是SCHEDULE关系表的主键,所以在PRIMARYKEY后填的应该是Sno;Eno和Cno
15、分别作为外键引用到EMP和CAR关系表的主键,因此需要用REFERENCES对这两个属性进行外键约束;由“每天安排发车的时间在上午07:00:00至下午18:00:00范围内”的约束,可知需要限制StartTime属性值的取值范围,通过CHECK约束来实现。从上分析可见,完整的SQL语句如下:【问题2】(1)创建所有奥迪品牌汽车的调度信息的视图AudiSCHEDULE,属性有Eno、Ename、Cno、Brand、StartTime和EndTime,请将下面SQL语句的空缺部分补充完整。(2)驾驶员的奖金在收车时间写入时,由出车时间段自动计算,并用触发器来实现奖金的自动维护,函数float B
16、onus_value(DATETIME StartTime, DATETIME EndTime)依据发车时间和收车时间来计算本次出车的奖金。系统在每月初自动增加一条该员工的当月奖金记录,初始金额为零。请将下面SQL语句的空缺部分补充完整。 (1)(e)View AduiSCHEDULE(Eno,Ename,Cno,Brand,StartTime,EndTime)(f)Emp.Eno=SCHEDULE.Eno AND SCHEDULE.Cno=Car.Cno AND Car.Brand=奥迪(2)(g)TRIGGER(h)UPDATE OF EndTime(i)Amount=Amount+Bon
17、us_value(nrow.StartTime,nrow.EndTime)(j)BONUS.Eno=nrow.Eno(1)创建视图需要通过CREATE VIEW语句来实现,由题目可知视图的属性有(Eno,Ename,Cno,Brand,StartTime,EndTime);通过公共属性列Eno和Cno对使用的三个基本表进行连接;由于只创建奥迪汽车的视图,所以还要在WHERE后加入Bram=奥迪的约束条件。从上分析可见,完整的SQL语句如下:(2)创建触发器通过CREATE TRIGGER语句实现,要求考生掌握触发器的基本语法结构。按照问题要求,在SCHEDULE关系中更新调度信息时触发器应自动
18、执行,故需要创建基于UPDATE类型的触发器;最后添加表连接条件。完整的触发器实现的方案如下:【问题3】请将下面SQL语句的空缺部分补充完整。(1)查询调度次数最多的汽车车牌号及其品牌。 (2)查询所有在调度表中没有安排过“大金龙”品牌车辆的驾驶员工员和姓名。(1)(k)Car.Cno,Brand(l)COUNT(*)=ALL(2)(m)NOT IN或ANY(注:两者填其中一个即可)(n)SCHEDULE,CAR(o)SCHEDULE.Cno=CAR.CnoSQL查询通过SELECT语句实现。(1)根据问题要求,可通过子查询实现“调度次数最多的汽车车牌号及其品牌”的查询;对COUNT函数计算的
19、结果应通过HAVING条件语句进行约束;通过Cno和Brand的组合来进行分组查询。完整的SQL语句如下:(2)根据问题要求,需要使用嵌套查询。先将WORKS和COMPANY表进行连接,查找出所有在“安排过大金龙,品牌车辆的驾驶员”;然后在雇员表中使用“NOTIN,或者“ANY”查询不在前述结果里面的员工即可。完整的SQL语句如下:试题三阅读下列说明,回答问题1至问题3;将解答填入答题纸的对应栏内。【说明】某销售公司当前的销售业务为商城实体店销售。现该公司拟开展网络销售业务,需要开发一个信息化管理系统。请根据公司现有业务及需求完成该系统的数据库设计。【需求描述】(1)记录公司所有员工的信息。员
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2016 上半年 数据库 系统 工程师 考试 答案 下午
限制150内