[计算机类试卷]2015年上半年软件水平考试(中级)数据库系统工程师下午(应用技术)真题试卷及答案与解析.doc

上传人:orderah291 文档编号:493216 上传时间:2018-11-30 格式:DOC 页数:19 大小:223.50KB
下载 相关 举报
[计算机类试卷]2015年上半年软件水平考试(中级)数据库系统工程师下午(应用技术)真题试卷及答案与解析.doc_第1页
第1页 / 共19页
[计算机类试卷]2015年上半年软件水平考试(中级)数据库系统工程师下午(应用技术)真题试卷及答案与解析.doc_第2页
第2页 / 共19页
[计算机类试卷]2015年上半年软件水平考试(中级)数据库系统工程师下午(应用技术)真题试卷及答案与解析.doc_第3页
第3页 / 共19页
[计算机类试卷]2015年上半年软件水平考试(中级)数据库系统工程师下午(应用技术)真题试卷及答案与解析.doc_第4页
第4页 / 共19页
[计算机类试卷]2015年上半年软件水平考试(中级)数据库系统工程师下午(应用技术)真题试卷及答案与解析.doc_第5页
第5页 / 共19页
点击查看更多>>
资源描述

1、2015年上半年软件水平考试(中级)数据库系统工程师下午(应用技术)真题试卷及答案与解析 一、试题一( 15分) 0 阅读下列说明和图,回答问题。【说明】 某大学为进一步推进无纸化考试,欲开发一考试系统。系统管理员能够创建包括专业方向、课程编号、任课教师等相关考试基础信息,教师和学生进行考试相关的工作。系统与考试有关的主要功能如下。(1)考试设置。教师制定试题 (题目和答案 ),制定考试说明、考试时间和提醒时间等考试信息,录入参加考试的学生信息,并分别进行存储。 (2)显示并接收解答。根据教师设定的考试信息,在 考试有效时间内向学生显示考试说明和题目,根据设定的考试提醒时间进行提醒,并接收学生

2、的解答。 (3)处理解答。根据答案对接收到的解答数据进行处理,然后将解答结果进行存储。 (4)生成成绩报告。根据解答结果生成学生个人成绩报告,供学生查看。 (5)生成成绩单。对解答结果进行核算后生成课程成绩单供教师查看。 (6)发送通知。根据成绩报告数据,创建通知数据并将通知发送给学生;根据成绩单数据,创建通知数据并将通知发送给教师。 现采用结构化方法对考试系统进行分析与设计,获得如图 1一 1所示的上下文数据流图和图 1一 2所示的 0层数据 流图。1 使用说明中的词语,给出图 1一 1中的实体 E1 E2的名称。 2 使用说明中的词语,给出图 1一 2中的数据存储 D1 D4的名称。 3

3、根据说明和图中词语,补充图 1一 2中缺失的数据流及其起点和终点。 4 图 1一 2所示的数据流图中,功能 (6)发送通知包含创建通知并发送给学生或老师。请分解图 1一 2中加工 (6),将分解出的加工和数据流填入答题纸的对应栏内(注:数据流的起点和终点须使用加工的名称描述 )。二、试题二( 15分) 4 阅读下列说明,回答问题。 【说明】 某大型集团公司 的数据库的部分关系模式如下: 员工表: EMP(Eno, Ename, Age, Sex, Tit1e),各属性分别表示员工工号、姓名、年龄、性别和职称级别,其中性别取值为 “男 ”“女 ”; 公司表: COMPANY(Cno, Cname

4、, City),各属性分别表示公司编号、名称和所在城市; 工作表: WORKS(Eno, Cno, Salary),各属性分别表示职工工号、工作的公司编号和工资。 有关关系模式的属性及相关说明如下: (1)允许一个员工在多家公司工作,使用身 份证号作为工号值。 (2)工资不能低于 1500元。 根据以上描述,回答下列问题: 5 请将下面创建工作关系的 SQL语句的空缺部分补充完整,要求指定关系的主码、外码,以及工资不能低于 1500元的约束。 CREATE TABLE WORKS( Eno CHAR(10) (a), Cno CHAR(4) (b), Salary int (c), PRIMA

5、RY KEY (d), ); 6 (1)创建女员工信息的视图 FemaleEMP,属性有 Eno、 Ename、 Cno, Cname和Salary,请将下面 SQL语句的空缺部分补充完整。 CREATE (e) AS SELECT EMP Eno, Ename, COMPANY Cno, Cname, Salary FROM EMP, COMPANY, WORKS WHERE (f); (2)员工的工资由职称级别的修改自动调整,需要用触发器来实现员工工资的自动维护,函数 float Salarr_value(char(10)Eno)依据员工号计算员工新的工资。请将下面 SQL语 句的空缺部分

6、补充完整。 CREATE (g)Salary_TRG AFTER(h)ON EMP REFERENCING new row AS nrow FOR EACH ROW BEGIN UPDATE WORKS SET (i) WHERE(j); END 7 请将下面 SQL语句的空缺部分补充完整。 (1)查询员工最多的公司编号和公司名称。 SELECT COMPANY Cno, Cname FROM COMPANY, WORKS WHERE COMPANY Cno一 WORKS Cno GROUP BY (k) HAVING (1) (SELECT COUNT( ) FROM WORKS GROUP

7、 BY Cno ); (2)查询所有不在 “中国银行北京分行 ”工作的员工工号和姓名。 SELECT Eno, Ename FROM EMP WHERE Eno (m) ( SELECT Eno FROM (n) WHERE (o) AND Cname=中国银行北京分行 ); 三、试题三( 15分) 7 阅读下列说明,回答问题。【说明】 某省针对每年举行的足球联赛,拟开发一套信息管理系统,以方便管理球队、球员、主教练、主裁判、比赛等信息。【需求分析】 (1)系统需要维护球队、球员、主教练、主裁判、比赛等信息。 球队信息主要包括:球队编号、名称、成立时间、人数、主场地址、球队主教练。 球员信息主

8、要包括:姓名、身份证号、出生日期、身高、家庭住址。 主教练信息主要包括:姓名、身份证号、出生日期、资格证书号、级别。 主裁判信息主要包括:姓名、身份证号、出生日期、资格证书 号、获取证书时间、级别。 (2)每支球队有一名主教练和若干名球员。一名主教练只能受聘于一支球队,一名球员只能效力于一支球队。每支球队都有自己的唯一主场场地,且场地不能共用。 (3)足球联赛采用主客场循环制,一周进行一轮比赛,一轮的所有比赛同时进行。 (4)场比赛有两支球队参加,一支球队作为主队身份、另一支作为客队身份参与比赛,一场比赛只能有一名主裁判,每场比赛有唯一的比赛编码,每场比赛都记录比分和日期。【概念结构设计】 根

9、据需求分析阶段的信息,设计的实体联系图 (不完整 )如图 3一 1所示。【逻辑结构设计】 根据概念 结构设计阶段完成的实体联系图,得出如下关系模式(不完整 ): 球队 (球队编号,名称,成立时间,人数,主场地址 )球员 (姓名,身份证号,出生日期,身高,家庭住址, (1)主教练 (姓名,身份证号,出生日期,资格证书号,级别, (2)主裁判 (姓名,身份证号,出生日期,资格证书号,获取证书时间,级别 )比赛 (比赛编码,主队编号,客队编号,主裁判身份证号,比分,日期 ) 8 补充图 3一 1中的联系和联系的类型。 图 3一 1中的联系 “比赛 ”应具有的属性是哪些? 9 根据图 3一 1,将逻辑

10、结构设计阶段生成的关系模式中的空 (1)、 (2)补充完整。 10 现在系统要增加赞助商信息,赞助商信息主要包括赞助商名称和赞助商编号。 赞助商可以赞助某支球队,一支球队只能有一个赞助商,但赞助商可以赞助多支球队。赞助商也可以单独赞助某些球员,一名球员可以为多个赞助商代言。请根据该要求,对图 3一 1进行修改,画出修改后的实体间联系和联系的类型。 四、试题四( 15分) 10 阅读下列说明,回答问题。【说明】 某地人才交流中心为加强当地企业与求职人员的沟通,促进当地人力资源的合理配置,拟建立人才交流信息网。【需求描述】 1每位求职人 员需填写求职信息登记表 (如表 4一 1所示 ),并出示相关

11、证件,经工作人员审核后录入求职人员信息。表 4一 1中毕业证书编号为国家机关统一编码,编号具有唯一性。每个求职人员只能填写一部联系电话。 2每家招聘企业需填写招聘信息登记表 (如表 4一 2所示 ),并出示相关证明及复印件,经工作人员核实后录入招聘企业信息。表 4一 2中企业编号由系统自动生成,每个联系人只能填写一部联系电话。 3求职人员和招聘企业的基本信息会在系统长期保存,并分配给求职人员和招聘企业用于登录的用户名和密码。求职人员登录系统后可登记自己的从业经 历、个人简历及特长,发布自己的求职意向信息;招聘企业的工作人员登录系统后可维护本企业的基本信息,发布本企业的岗位需求信息。 4求职人员

12、可通过人才交流信息网查询企业的招聘信息并进行线下联系;招聘企业的工作人员也可通过人才交流信息网查询相关的求职人员信息并进行线下联系。 5求职人员入职后应修改自己的就业状态 (在岗 /求职 );招聘企业在发布需求岗位有人员到岗后也应该及时修改需求人数。【逻辑结构设计】 根据上述需求,设计出如下关系模式: 个人信息 (身份证号,姓名,性别,出生日期,毕业院校,专业名称,学历,毕业证 书编号,联系电话,电子邮件,个人简历及特长 )从业经历 (身份证号,起止时间,企业名称,职位 )求职意向 (身份证号,职位名称,最低薪水 )企业信息 (企业编号,企业名称,地址,企业网址,联系人,联系电话,电子邮件,企

13、业简介 )岗位需求 (企业编号,职位,专业,学历,薪水,人数,备注 )11 对关系 “个人信息 ”,请回答以下问题: (1)列举出所有候选键。 (2)它是否为 3NF,用 60字以内文字简要叙述理由。 (3)将其分解为 BC范式,分解后的关系名依次为:个人信息 1,个人信息 2, 并用下划线标示分解后的各关系模式的 主键。 12 对关系 “企业信息 ”,请回答以下问题: (1)列举出所有候选键。 (2)它是否为 2NF,用 60字以内文字简要叙述理由。 (3)将其分解为 BC范式,分解后的关系名依次为:企业信息 1,企业信息 2, ,并用下划线标示分解后的各关系模式的主键。 13 若要求个人的

14、求职信息一经发布,即由系统自动查找符合求职要求的企业信息,填入表 R(身份证号,企业编号 ),在不修改系统应用程序的前提下,应采取什么方法来实现,用 100字以内文字简要叙述解决方案。 五、试题五( 15分) 13 阅读下列说明,回答问题 1至问题 3,将解答填入答题纸的对应栏内。 【说明】 某航空售票系统负责所有本地起飞航班的机票销售,并设有多个机票销售网点。以下为 E一 SQL编写的部分售票代码: EXEC soL SELECT balance INTO: x FROM tickets WHERE flight=: flightno; printf(”航班 s当前剩余机票数为: dn请输入

15、购票数: “, flightno, x); scanf(“ d“, a); EXEC soL UPDATE tickets SET balance =x =: a WHERE flight=: flightno; 请根据上述描述,完成下列问题。 14 上述售票程序,在并发状态下,可能发生什么错误?产生这种错误的原因是什么? 15 若将上述代码封装成一个完整的事务,则: (1)在并发请求下的响应效率会存在什么问题? (2)分析产生效率问题的原因。 (3)给出解决方案。 16 下面是改写的存储过程,其中 flightno为航班号; a为购票数; result为执行状态: 1表示成功, 0表示失败;

16、表 tickets中的剩余 机票数 balance具有大于等于零约束。请补充完整。 CREATE PROCEDRUE buy_ticket(charflightno IN, (a), int result OUT) AS BEGIN UPDATE tickets SET balance=(b); WHERE flight=flightno; if csoLcode SUCCESS) /soLcode为 SQL语句的执行状态 (c); result=0; return; COMMIT; (d) END 2015年上半年软件水平考试(中级)数据库系统工程师下午(应用技术)真题试卷答案与解析 一、试

17、题一( 15分) 1 【正确答案】 E1:教师 E2:学生 【试题解析】 本题考查采用结构化方法进行系统分析与设计,主要考查数据流图(DFD)的应用,是比较传统的题目,与往年相比考点类似,要求考生细心分析题目中所描述的内容。 DFD是一种便于用户理解、分析系统数据流程的图形化建模工具。是系统逻辑模型的重要组成部分。上下文 DFD(顶层 DFD)通常 用来确定系统边界,将待开发系统本身看作一个大的加工 (处理 ),然后根据谁为系统提供数据流,谁使用系统提供的数据流,确定外部实体。建模出的上下文 DFD中只有唯一的一个加工和一些外部实体,以及这两者之间的输入输出数据流。在上下文确定的系统外部实体以

18、及与外部实体的输入输出数据流的基础上,建模 O层 DFD,将上下文 DFD中的加工进一步分解,成多个加工,识别这些加工的输入输出数据流,使得所有上下文 DFD中的输入数据流,经过这些加工之后变换成上下文 DFD的输出数据流。根据 O层 DFD的中加工的复杂程度进一步建模加工的内容。 在建模分层 DFD时,根据需求情况可以将数据存储在建模在不同层次的 DFD中,注意要在绘制下层数据流图时要保持父图与子图平衡。父图中某加工的输入输出数据流 必须与它的子图的输入输出数据流在数量和名字上相同,或者父图中的一个输入(或输出 )数据流对应于子图中几个输入 (或输出 )数据流,而子图中组成这些数据流的数据项

19、全体正好是父图中的这一个数据流。 本问题考查上下文 DFD,要求确定外部实体。考察系统的主要功能,不难发现,针对系统与考试有关的主要功能,涉及到教师和学生,系统管理员不在与考试有关的主要功能 中涉及,另外没有提到其他与系统交互的外部实体。根据描述 (1)中 “教师制定试题等考试信息 ”等信息,描述 (2)中 “根据教师设定的考试信息,在考试有效时间内向学生显示考试说明和题目 ”,从而即可确定 El为 “教师 ”实体, E2为 “学生 ”实体。 2 【正确答案】 D1:试题 (表 )或题目和答案 (表 )D2:学生信息 (表 ) D3:考试信息 (表 )D4:解答结果 (表 ) 【试题解析】 本

20、问题要求确定 0层数据流图中的数据存储。分析说明中和数据存储有关的描述,说明中 (1)中 “教师制定试题 (题目和答案 ),制定考试说明、考试时间和 提醒时间等考试信息,录入参加考试的学生信息,并分别进行存储 ”,可知Dl、 D2和 D3为试题、学生信息和考试信息,再从图 1一 2中流入 D2的数据流名称 “学生信息数据 ”,确定 D2是学生信息,流入 Dl的数据流名称为 “试题 ”,确定Dl为试题,流入 D3的数据流名称为考试信息,确定 D3为考试信息。说明中 (3)根据答案对接收到的解答数据进行处理,然后将解答结果进行存储,确定 D4是解答结果。其他描述中对数据存储的使用更进多说明,进一步

21、确定 D1 D4满足上述分析。 3 【正确答案】 【试题解析】 本问题要求补充缺失的 数据流及其起点和终点。通过不同层的DFD以及说明中描述和图之间的对应关系加以确定。首先对照图 1一 1和图 1一2的输入、输出数据流,发现数据流的数量和名称均相同,所以,需进一步考查说明中的功能描述和图 1一 1中的数据流的对应关系,以确定缺失的是加工之间还是加工与数据存储之间的数据流。 说明 (2)显示并接收解答,需要 “根据教师设定的考试信息,在考试有效时间内向学生显示考试说明和题目 ”,对照图 1一 2可以看出,加工 2缺少所要显示的题目的输入源,即缺失输入流 “题目 ”,题目存储于数据存储试题中,因此

22、,缺少的数据流为从题目 (D1)到加工 2显示并接收解答的题目。说明 (3)处理解答,需要 “根据答案对接收到的解答数据进行处理 ”,对照图 1一 2可以看出,加工 3“处理解答 ”缺少输入流 “答案 ”,而答案从说明 (1)中可以看出是存储在试题 (题目和答案 )数据存储中 (D1),因此确定缺失的一条数据流 “答案 ”,从 Dl或试题到加工 3或处理解答。 4 【正确答案】 分解为加工:发送通知和加工:创建通知。【试题解析】 本问题针对建模分层 DFD的时候的分解粒度。考查说明 (6)发送通知中, “根据成绩报告数据,创建通知数据并将通知发送给学生;根据成绩单数据,创建通知数据并将通知发送

23、给教师。 ”说明功能 (6)发送通知包含创建通知并发送给学生或老师。在图 1一 2中建模为一个加工,完成的功能是依据不同的输入数据流创建通知,然后发送给相应的外部实体老师或学生,因此为了进一步清晰每个加工的职责,需对图 1一 2中原有加工 6进行分解,分 解为 “创建通知 ”和 “发送通知 ”。创建通知针对输入数据流 “报告数据 ”和 “成绩单数据 ”,这两条数据流保持原有的起点,终点即为创建通知。创建通知产生出 “通知数据 ”。 “通知数据 ”作为加工 “发送通知 ”的输入流,进一步根据通知数据是针对哪个外部实体而发送 “通知 ”给相应的学生或者教师。至此,对图 1一 2中原有加工 6的分解

24、完成。 二、试题二( 15分) 5 【正确答案】 (a)REFERENCES EMP(Eno) (b)REFERENCES COMPANY(Cno) (c)CHECK(Salary一 =1500) (d)(Eno, Cno) 【试题解析】 本题考查 SQL语句的应用。 此类题目要求考生掌握 SQL语句的基本语法和结构,认真阅读题目给出的关系模式,针对题目的要求具体分析并解答。本试题已经给出了 3个关系模式,需要分析每个实体的属性特征及实体之间的联系,补充完整 SQL语句。 由题目说明可知, Eno和 Cno两个属性组合是 WORKS关系表的主键,所以在PRIMARY KEY后填的应该是 (En

25、o, Cno)组合; Eno和 Cno分别作为外键引用到EMP和 COMPANY关系表的主键,因此需要用 REFERENCES对这两个属性进行外键约束; 由 “工资不能低于 1500元 ”的要求,可知需要限制账户余额属性值的范围,通过CHECK 约束来实现。从上述分析可知,完整的 SQL语句如下: CREATE TABLE WORKS( Eno CHAR(10)REFERENCES EMP(Eno) , Cno CHAR(4)REFERENCES COMPANY(Cno), Salary int CHECK(Salary =1500) , PRIMARY KEY (Eno, Cno) , );

26、 6 【正确答案】 (1)(e)VIEW FemaleEMP(Eno, Ename, Cno, Cname, Salary) (f)EMP Eno=WORKS Eno AND COMPANY Cno=WORKS Cno AND Sex=女 (2)(g)TRIGGER (h)UPDATE (i)Salary=Salary_value(nrow Eno) (j)WORKS Eno=nrow Eno 【试题解析】 (1)创建视图需要通过 CREATE VIEW语句来实现,由题目可知视图的属性有 (Eno, Ename, Cno, Cname, Salary);通过公共属性列 Eno和 Cno对使用的

27、三个基本表进行连接;由于只创建女员工的试图,所以还要在 WHERE后加入 “Sex=女 ”的条件。 从上分析可见,完整的 SQL语句如下: CREATE VIEW FemaleEMP(Eno, Ename, Cno, Cname, Salary) AS SELECT EMP Eno, Ename, COMPANY Cno, Cname, Salary FROM EMP, COMPANY, WORKS WHERE EMP Eno = WORKS Eno AND COMPANY Cno=WORKS Cno AND Sex=女 ; (2)创建触发器可通过 CREATE TRIGGER语句实现,要求考

28、生掌握触发器的基本语法结构。按照问题要求,在工资关系中更新职工职称级别时触发器应自动执行,故需要创建基于 UPDATE类型的触发器,其触发条件是更新职工职称级别;最后添加表 连接条件。完整的触发器实现的方案如下: CREATE TRIGGER Salary_TRG AFTER UPDA”TE ON EMP REFERENCING new row AS nrow FOR EACH ROW BEGIN UPDATE WORKS SET Salary = Salary value(nrow Eno) WHERE WORKS Erio= nrow Eno; END 7 【正确答案】 (1)(k)COM

29、PANY Cno, Cname (l)COUNT(*) =ALL (2)(m)NOT IN或 ANY(注:两者填一个即可 ) (n)WORKS, COMPANY (o)WORKS Cno=COMPANYCno 【试题解析】 SQL查询通过 SELECT语句实现。 (1)根据问题要求,可通过子查询实现 “查询员工最多的公司编号和公司名称 ”的查询;对 COUNT函数计算的结果应通过 HAVING条件语句进行约束;通过 Cno和Cname的组合来进行分组查询。完整 的 SQL语句如下: SELECT COMPANY Cno, Cname FROM COMPANY, WORKS WHERE COMP

30、ANY Cno一 WORKS Cno GROUP BY COMPANY Cno, Cname HAVING COUNT( ) =ALL (SELECT COUNT( ) FROM WORKS GROUP BY Cno ); (2)根据问题要求,需要使用嵌套查询。先将 WORKS和 COMPANY表进行连接,查找出所有在 “中国银行北京分行 ”工作的员工;然后在雇员表中使用 “NOT IN“或者 “ ANY”查询不在前述结果里面的员工即可。完整的 SQL语句如下: SELECT Eno, Ename FROM EMP WHERE Eno NOT IN 或 ANY ( SELECT Eno FRO

31、M WORKS, COMPANY WHERE WORKS Cno = COMPANY Cno AND Cname=中国银行北京分行 ); 三、试题三( 15分) 8 【正确答案】 “比赛 ”应具有的属性:比赛编码,比分,日期。 【试题解析】 本题考查数据库概念结构设计及向逻辑结构转换的掌握。 此类题目要求考生认真阅 读题目,根据题目的需求描述,给出实体间的联系。 根据题意由 “一名球员只能效力于一支球队 ”可知球队和球员之间为 1: *联系。由 “一场比赛有两支球队参加,一支球队作为主队身份、另一支作为客队身份参与比赛 ”可知球队分别按照 “主队 ”和 “客队 ”两种角色参与 “比赛 ”的 *

32、:木联系。 “比赛 ”应具有的属性:比赛编码,比分和日期。 9 【正确答案】 (1)球队编号 (2)球队编号 【试题解析】 根据问题 1分析可知球队和球员之间为 1: *联系,所以在球员关系里应该包括球队的主键,即 “球队编号 ”。根据 “每支球队有一名主教练 ,一名主教练只能受聘于一支球队 ”可知球队和教练之间为 1: 1联系,而球队关系已经给定,所以需要在主教练关系中包含球队的主键,即 “球队编号 ”。 10 【正确答案】 现在系统要增加赞助商信息,赞助商信息主要包括赞助商名称和赞助商编号。【试题解析】 根据题意由 “赞助商可以赞助某支球队,一支球队只能有一个赞助商,但赞助商可以赞助多支球

33、队 ”可知赞助商和球队之间为 1: *联系。由 “赞助商也可以单独赞助某些球员,一名球员可以为多个赞助商代言 ”可知赞助商和球员之间为 *: *联系。 四、试题四( 15分) 11 【 正确答案】 对关系 “个人信息 ”: (1)候选键:毕业证书编号 (2)不是 3NF。存在非主属性 “姓名 ”对候选键 “毕业证书编号 ”的传递依赖:毕业证书编号 身份证号,身份证号 姓名。故毕业证书编号 姓名为传递依赖。 (3)分解后的关系模式 个人信息 1(身份证号 ,姓名,性别,出生日期,联系电话,电子邮件,个人简历及特长 ) 个人信息 2(身份证号,毕业院校,专业名称,学历, 毕业证书编号 ) 【试题解

34、析】 根据题目描述和表 4一 1求职信息登记表所给出的内容,求职人员的身份证号 、姓名、性别、出生日期、联系电话、电子邮件、个人简历及特长等为基本属性,每个求职者在这些属性上取单一值;而每个求职者在毕业院校、专业名称、学历、毕业证书编号等属性上可以取多个值,其中毕业证书编号具有唯一性,可以唯一决定毕业院校、专业名称、学历和求职者个人信息。因此, “个人信息 ”关系的函数依赖集为 (毕业证书编号 ( 毕业院校,专业名称,学历,身份证号 ),身份证号 ( 姓名,性别,出生日期,联系电话,电子邮件,个人简历及特长 )。 由函数依赖集可知, “个人信息 ”关系的候选键为毕业证书编号,存在非主属性对候选

35、 键的传递依赖,如:毕业证书编号传递决定姓名 (毕业证书编号 身份证号,身份证号 姓名 )。故 “个人信息 ”关系不属于 3NF。 根据分解规则,将函数依赖:身份证号 ( 姓名,性别,出生日期,联系电话,电子邮件,个人简历及特长 )中的所有属性独立出来做一个关系模式,为 BCNF;从原关系模式中去掉上述函数依赖的右部属性,得到关系模式 (毕业证书编号,身份证号,毕业院校,专业名称,学历 ),函数依赖集为 (毕业证书编号 ( 毕业院校,专业名称,学历,身份证号 ),也为 BCNF。 12 【正确答案】 对关系 “企业信息 ”: (1)候选键: (企业编号,联系人 ) (2)不是 2NF。候选键

36、(企业编号,联系人 )部分决定非主属性企业名称。 (3)分解后的关系模式: 企业信息 1(企业编号 ,企业名称,地址,企业网址,企业简介 ) 企业信息 2(企业编号,联系人 ,联系电话,电子邮件 ) 【试题解析】 根据题目描述和表 4一 2招聘信息登记表所给出的内容,每个企业有多个联系人,每个联系人登记一个电话和一个电子邮件。存在函数依赖: (企业编号,联系人 )( 联系电话,电子邮件 ),企业编号 ( 企业名称,地址,企 业网址,企业简介 ),故 “企业信息 ”关系的候选键为 (企业编号,联系人 )。而候选键 (企业编号,联系人 ) 企业名称为部分依赖,故 “企业信息 ”关系不属于 2NF。

37、 根据分解规则,将函数依赖:企业编号 ( 企业名称,地址,企业网址,企业简介 )中的所有属性独立成一个关系模式,属于 BCNF,从原关系中去掉上述函数依赖的右部属性,得到关系模式 (企业编号,联系人,联系电话,电子邮件 ),也是BCNF。 13 【正确答案】 创建 “求职意向 ”表上的触发器,当有新记录插入时,查询 “岗位需求 ”表,查询符合新插入的求职意向的岗 位需求记录,提取相关字段插入表 R中。 【试题解析】 求职信息录入后,由系统根据求职意向查找符合的信息需求,从数据库端应采用触发器技术,在 “求职意向 ”表上添加触发器程序,当有插入新的求职意见记录时,根据求职表意向中的职位名称,在

38、“岗位需求 ”表中查找相同职位的记录,即得到需求该职位的企业编号,用相应的 SQL语句实现查询结果插入到指定表中。 五、试题五( 15分) 14 【正确答案】 当两个用户同时购买同一航班的机票时,可能发生丢失修改的错误,即一个用户购票后对剩余票数的修改被另一个用户的修改覆盖,第一 个用户的修改并未体现到数据库中。产生错误的原因是并发操作破坏了事务的隔离性。 【试题解析】 本题考查事务基本概念及编程应用。 此类题目要求考生认真阅读题目对实际问题的描述,分析现实业务中存在的问题,并以事务的方式提出解决方案及编程中的处理方式。根据题目描述的售票程序及部分代码,程序的逻辑是正确的,但在并发状态下,可能

39、会产生错误。修改指令 UPDATE会被分解为读取剩余票数到变量、修改变量、写入数据库几个步骤,并发时存在指令交叉,造成一个程序的修改被其他程序所覆盖,称为丢失修改错误。如下面所示的一个并发调度:若上面所示的两个售票程序并发执行,两个程序先读取剩余票数据 A(当前值为16)T1购票 1张后,写入剩余票数为 15, T2购票 2张后,写入剩余票数为 14。 T1写入的 15被 T2写入的 14所覆盖, T1所做的修改丢失。 上述两个程序单独执行或串行执行都不会出现这种错误,错误产生的原因在于事务并发执行时受到另一事务的干扰,破坏了事务的隔离性。 15 【正确答案】 (1)在并发请求下,查询剩余票数

40、后,会等待用户的响应,此时数据被锁定无法修改,导致其他用户只能等待该用户购票结束后才可购票,降低了系统的并发度。 (2)产生效率问题的原因是事务划分不合理。 (3)应将查询剩余票数的指令置于事务外部,事务只负责用户购票。 【试题解析】 封装的事务由两条 SQL语句构成,中间存在与用户的交互,等待用户输入购票张数,会造成长事务,加锁状态下,其他购票事务程序会长时间等待,严重影响系统的响应速度。应将查询票数从事务中分离出来, UPDATE指令独立构成一个事务。 16 【正确答案】 1 int a IN 2 balance一 a 3 ROLLBACK(或 ROLLBACKWORK) 4 result=1; retum。 【试题解析】 这是一个用存储过程实现购票的事务程序,存储过程参数部分给出了航班号和执行状态返回参数,应加入购票张数作为参数;修改剩余票数的UPDATE语句处需补充的是当前票数减去购票张数; SQL语句执行错误时应该进行事务回滚并退出程序,所有事务代码执行完成后提交,并返回。

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

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1