2015上半年数据库系统工程师考试真题及答案-下午卷.doc
《2015上半年数据库系统工程师考试真题及答案-下午卷.doc》由会员分享,可在线阅读,更多相关《2015上半年数据库系统工程师考试真题及答案-下午卷.doc(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2015上半年数据库系统工程师考试真题及答案-下午卷试题一【说明】某大学为进一步推进无纸化考试,欲开发一考试系统。系统管理员能够创建包括专业方向、课程编号、任课教师等相关考试基础信息,教师和学生进行考试相关的工作。系统与考试有关的主要功能如下。(1)考试设置。教师制定试题(题目和答案),制定考试说明、考试时间和提醒时间等考试信息,录入参加考试的学生信息,并分别进行存储。(2)显示并接收解答。根据教师设定的考试信息,在考试有效时间内向学生显示考试说明和题目,根据设定的考试提醒时间进行提醒,并接收学生的解答。(3)处理解答。根据答案对接收到的解答数据进行处理,然后将解答结果进行存储。(4)生成成绩
2、报告。根据解答结果生成学生个人成绩报告,供学生查看。(5)生成成绩单。对解答结果进行核算后生成课程成绩单供教师查看。(6)发送通知。根据成绩报告数据,创建通知数据并将通知发送给学生;根据成绩单数据,创建通知数据并将通知发送给教师。现采用结构化方法对考试系统进行分析与设计,获得如图1-1所示的上下文数据流图和图1-2所示的0层数据流图。【问题1】使用说明中的词语给出图1-1中的实体E1E2的名称。 E1:教师E2:学生本题考查采用结构化方法进行系统分析与设计,主要考查数据流图(DFD)的应用,是比较传统的题目,与往年相比考点类似,要求考生细心分析题目中所描述的内容。DFD是一种便于用户理解、分析
3、系统数据流程的图形化建模工具。是系统逻辑模型的重要组成部分。上下文DFD(顶层DFD)通常用来确定系统边界,将待开发系统本身看作一个大的加工(处理),然后根据谁为系统提供数据流,谁使用系统提供的数据流,确定外部实体。建模出的上下文DFD中只有唯一的一个加工和一些外部实体,以及这两者之间的输入输出数据流。在上下文确定的系统外部实体以及与外部实体的输入输出数据流的基础上,建模0层DFD,将上下文DFD中的加工进一步分解,成多个加工,识别这些加工的输入输出数据流,使得所有上下文DFD中的输入数据流,经过这些加工之后变换成上下文DFD的输出数据流。根据0层DFD的中加工的复杂程度进一步建模加工的内容。
4、在建模分层DFD时,根据需求情况可以将数据存储在建模在不同层次的DFD中,注意要在绘制下层数据流图时要保持父图与子图平衡。父图中某加工的输入输出数据流必须与它的子图的输入输出数据流在数量和名字上相同,或者父图中的一个输入(或输出)数据流对应于子图中几个输入(或输出)数据流,而子图中组成这些数据流的数据项全体正好是父图中的这一个数据流。本问题考查上下文DFD,要求确定外部实体。考察系统的主要功能,不难发现,针对系统与考试有关的主要功能,涉及到教师和学生,系统管理员不在与考试有关的主要功能中涉及,另外没有提到其他与系统交互的外部实体。根据描述(1)中“教师制定试题等考试信息”等信息,描述(2)中“
5、根据教师设定的考拭信息,在考试有效时间内向学生显示考试说明和题目”,从而即可确定E1为“教师”实体,E2为“学生”实体。【问题2】使用说明中的词语,给出图1-2中的数据存储D1D4的名称。 D1:试题(表)或题目和答案(表) D2:学生信息(表) D3:考试信息(表) D4:解答结果(表)本问题要求确定0层数据流图中的数据存储。分析说明中和数据存储有关的描述,说明中(1)中“教师制定试题(题目和答案),制定考试说明、考试时间和提醒时间等考试信息,录入参加考试的学生信息,并分别进行存储”,可知D1、D2和D3为试题、学生信息和考试信息,再从图1-2中流入D2的数据流名称“学生信息数据”,确定D2
6、是学生信息,流入D1的数据流名称为“试题”,确定D1为试题,流入D3的数据流名称为考试信息,确定D3为考试信息。说明中(3)根据答案对接收到的解答数据进行处理,然后将解答结果进行存储,确定D4是解答结果。其他描述中对数据存储的使用更进多说明,进一步确定D1D4满足上述分析。【问题3】根据说明和图中词语,补充图1-2中缺失的数据流及其起点和终点。本问题要求补充缺失的数据流及其起点和终点。通过不同层的DFD以及说明中描述和图之间的对应关系加以确定。首先对照图1-1和图1-2的输入、输出数据流,发现数据流的数量和名称均相同,所以,需进一步考查说明中的功能描述和图1-1中的数据流的对应关系,以确定缺失
7、的是加工之间还是加工与数据存储之间的数据流。说明(2)显示并接收解答,需要“根据教师设定的考试信息,在考试有效时间内向学生显示考试说明和题目”,对照图1-2可以看出,加工2缺少所要显示的题目的输入源,即缺失输入流“题目”,题目存储于数据存储试题中,因此,缺少的数据流为从题目(D1)到加工2显示并接收解答的题目。说明(3)处理解答,需要“根据答案对接收到的解答数据进行处理”,对照图1-2可以看出,加工3“处理解答”缺少输入流“答案”,而答案从说明(1)中可以看出是存储在试题(题目和答案)数据存储中(D1),因此确定缺失的一条数据流“答案”,从D1或试题到加工3或处理解答。 【问题4】图1-2所示
8、的数据流图中,功能(6)发送通知包含创建通知并发送给学生或老师。请分解图1-2中加工(6),将分解出的加工和数据流填入答题纸的对应栏内。(注:数据流的起点和终点须使用加工的名称描述)本问题针对建模分层DFD的时候的分解粒度。考查说明(6)发送通知中,“根据成绩报告数据,创建通知数据并将通知发送给学生;根据成绩单数据,创建通知数据并将通知发送给教师。”说明功能(6)发送通知包含创建通知并发送给学生或老师。在图1-2中建模为一个加工,完成的功能是依据不同的输入数据流创建通知,然后发送给相应的外部实体老师或学生,因此为了进一步清晰每个加工的职责,需对图1-2中原有加工6进行分解,分解为“创建通知”和
9、“发送通知”。创建通知针对输入数据流“报告数据”和“成绩单数据”,这两条数据流保持原有的起点,终点即为创建通知。创建通知产生出“通知数据”。“通知数据”作为加工“发送通知”的输入流,进一步根据通知数据是针对哪个外部实体而发送“通知”给相应的学生或者教师。至此,对图1-2中原有加工6的分解完成。 试题二【说明】 某大型集团公司的数据库的部分关系模式如下:员工表:EMP(Eno,Ename,Age,Sex, Title),各属性分别表示员工工号、姓名、年龄、性别和职称级别,其中性别取值为“男”“女”;公司表:COMPANY(Cno,Cname,City),各属性分别表示公司编号、名称和所在城市;工
10、作表:WORKS(EnoCno,Salary),各属性分别表示职工工号、工作的公司编号和工资。有关关系模式的属性及相关说明如下:(1)允许一个员工在多家公司工作,使用身份证号作为工号值。(2)工资不能低于1500元。 【问题1】请将下面创建工作关系的SQL语句的空缺部分补充完整,要求指定关系的主码、外码,以及工资不能低于1500元的约束。(a) REFERENCES EMP(Eno)(b) REFERENCES COMPANY(Cno)(c) CHECK(Salary=1500)(d) (Eno,Cno)本题考查SQL语句的应用。此类题目要求考生掌握SQL语句的基本语法和结构,认真阅读题目给出
11、的关系模式,针对题目的要求具体分析并解答。本试题已经给出了3个关系模式,需要分析每个实体的属性特征及实体之间的联系,补充完整SQL语句。由题目说明可知,Eno和Cno两个属性组合是WORKS关系表的主键,所以在PRIMARYKEY后填的应该是(Eno,Cno)组合;Eno和Cno分别作为外键引用到EMP和COMPANY关系表的主键,因此需要用REFERENCES对这两个属性进行外键约束;由“工资不能低于1500元”的要求,可知需要限制账户余额属性值的范围,通过CHECK约束来实现。从上述分析可知,完整的SQL语句如下:【问题2】(1)创建女员工信息的视图FemaleEMP属性有Eno、Enam
12、e、Cno、Cname和Salary,请将下面SQL语句的空缺部分补充完整。(2)员工的工资由职称级别的修改自动调整,需要用触发器来实现员工工资的自动维护,函数float Salary_value(char(10) Eno)依据员工号计算员工新的工资。请将下面SQL语句的空缺部分补充完整。(1) (e) VIEWFemaleEMP(Eno,Ename,Cno,Cname,Salary)(f) EMP.Eno=WORKS.EnoANDCOMPANY.Cno=WORKS.CnoANDSex=女,(2) (g) TRIGGER(h) UPDATE(i) Salary=Salaryvalue(nrow
13、.Eno)(j) WORKS.Eno=nrow.Eno(1) 创建视图需要通过CREATEVIEW语句来实现,由题目可知视图的属性有(Eno,Ename,Cno,Cname,Salary);通过公共属性列Eno和Cno对使用的三个基本表进行连接;由于只创建女员工的试图,所以还要在WHERE后加入“Sex=女”的条件。从上分析可见,完整的SQL语句如下:(2) 创建触发器可通过CREATETRIGGER语句实现,要求考生掌握触发器的基本语法结构。按照问题要求,在工资关系中更新职工职称级别时触发器应自动执行,故需要创建基于UPDATE类型的触发器,其触发条件是更新职工职称级别;最后添加表连接条件。
14、完整的触发器实现的方案如下:【问题3】请将下面SQL语句的空缺部分补充完整。(1)查询员工最多的公司编号和公司名称。(2)查询所有不在“中国银行北京分行”工作的员工工号和姓名。(1) (k) COMPANY.Cno,Cname(l) COUNT(*)=ALL(2) (m) NOT IN或ANY(注:两者填一个即可)(n) WORKS,COMPANY(o) WORKS.Cno=COMPANY.CnoSQL查询通过SELECT语句实现。(1)根据问题要求,可通过子查询实现“查询员工最多的公司编号和公司名称”的查询;对COUNT函数计算的结果应通过HAVING条件语句进行约束;通过Cno和Cname
15、的组合来进行分组查询。完整的SQL语句如下:(2) 根据问题要求,需要使用嵌套查询。先将WORKS和COMPANY表进行连接,查找出所有在“中国银行北京分行”工作的员工;然后在雇员表中使用“NOTIN”或者“ANY”查询不在前述结果里面的员工即可。完整的SQL语句如下: 试题三【说明】某省针对每年举行的足球联赛,拟开发一套信息管理系统,以方便管理球队、球员、主教练、主裁判、比赛等信息。【需求分析】(1)系统需要维护球队、球员、主教练、主裁判、比赛等信息。球队信息主要包括:球队编号、名称、成立时间、人数、主场地址、球队主教练。球员信息主要包括:姓名、身份证号、出生日期、身高、家庭住址。主教练信息
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2015 上半年 数据库 系统 工程师 考试 答案 下午
限制150内