(2023年)福建省莆田市全国计算机等级考试数据库技术预测试题(含答案)_第1页
(2023年)福建省莆田市全国计算机等级考试数据库技术预测试题(含答案)_第2页
(2023年)福建省莆田市全国计算机等级考试数据库技术预测试题(含答案)_第3页
(2023年)福建省莆田市全国计算机等级考试数据库技术预测试题(含答案)_第4页
(2023年)福建省莆田市全国计算机等级考试数据库技术预测试题(含答案)_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

(2023年)福建省莆田市全国计算机等级考试数据库技术预测试题(含答案)学校:________班级:________姓名:________考号:________

一、1.选择题(10题)1.下列叙述正确的是

A.任意一个二维表都能表示一个关系

B.每一个关系有多种记录类型

C.在关系中属性的顺序可以任意交换

D.关系模式中的属性可以动态地改变

2.下列关于“分布式数据库系统”的叙述中,正确的是______。

A.分散在各节点的数据是不相关的

B.用户可以对远程数据进行访问,但必须指明数据的存储节点

C.每一个节点是一个独立的数据库系统,既能完成局部应用,也支持全局应用

D.数据可以分散在不同节点的计算机上,但必须在同一台计算机上进行数据处理

3.数据库依靠()来支持数据独立性的。

A.三级模式结构B.完整性约束C.模式分级和模式间的映像D.数据库管理系统

4.下面的条目中,哪一项不是IBM数据仓库三层结构中的组成部分?

A.OLTP业务系统B.前台分析工具C.数据仓库D.数据集市

5.SQL语句GrantInsertOnTableSCToU5WithGrantOption的作用是

A.U5拥有对表SC的Insert权限

B.U5拥有传播Insert的权限

C.U5拥有对表SC的Insert权限或拥有对Insert权限的传播

D.U5不仅拥有对表SC的Insert权限,还可传播此权限

6.

7.在关系模型中,“关系中不允许发现相同的元组”的约束是通过______实现的。

A.候选键B.主键C.外键D.一般键

8.任何一个二目关系在函数依赖的范畴内必能达到()。A.A.1NFB.2NFC.3NFD.BCNF

9.下面哪种语言编写的程序可由计算机直接执行

A.高级语言B.汇编语言C.PASCAL语言D.机器语言

10.

下列叙述中,错误的是

A.学生信息表s中的主码可以改为sname

B.如果知道了课程的cno,并不一定能够找到唯一的grade

C.如果知道了课程的cno就可以在c表中找到唯一的课程名称

D.如果知道了学生的sname,并不一定能够找到唯一的sno

二、填空题(10题)11.在一个10阶的B-树上,每个非树根结点所含的关键字数目最多允许为【】个,最少允许为【】个。

12.下表为一路由器的路由表。如果该路由器接收到一个源IP地址为0、目的IP地址为0的IP数据报,那么它将把此IP数据报投递到___________。

13.能够模式化为维属性和度量属性的数据统称为______数据。

14.在关系数据模型中,二维表的列称为属性,二维表的行称为______。

15.RC5算法中使用了3种运算:___________、加和循环。

16.____________服务是用于控制与限定网络用户对主机、应用、数据与网络服务的访问类犁。

17.OraCle系统不仅具有高性能的RDBMS,而且提供全过程的应用开发工具。0raCleDesigner2000所承担的功能是____________。

18.数据库管理员的英文缩写是

【】

19.死锁的4个必要条件是

【】

【】

、不剥夺条件和循环等待

20.在TCP/IP的参考模型中,HTTP协议定义在_____层。

三、单选题(10题)21.收缩整个数据库的大小,可以采用下列语句:()

A.DBCCSHRINKDATABASE

B.DBCCSHRINKFILE

C.ALTERDATABASE

D.CREATESCHEMA

22.在SQLServer2008中,设用户U1是某数据库db_datawriter角色中的成员,则U1在该数据库中有权执行的操作是()

A.SELECT

B.SELECT和INSERT

C.INSERT、UPDATE和DELETE

D.SELECT、INSERT、UPDATE和DELETE

23.下列关于数据库重构的说法中,错误的是__________。

A.数据库的重构就是对数据库的逻辑结构作必要的小范围改变

B.当存储空间的分配过于零散,导致存取效率下降,所以必须重构数据库

C.数据库重构包括重新设计数据库及其应用程序

D.如果能够重构数据库,尽量不要重新设计数据库及相应的应用程序

24.在对全局E-R模型进行优化时,通常利用规范化理论中的()概念消除冗余关系。

A.无损联接B.函数依赖C.范式D.逻辑蕴涵

25.磁盘的读写单位是()

A.块B.扇区C.簇D.字节

26.在SQLSever中创建用户数据库,实际就是定义数据库所包含的文件以及文件的属性。下列不属于数据库文件属性的是__________。

A.初始大小B.物理文件名C.文件结构D.最大大小

27.在建立表结构时定义关系完整性规则()

A.使DBS能够自动维护数据完整性约束条件B.还需要编程实现数据完整性约束条件C.没有必要定义D.将使系统操作复杂

28.SQL语言的GRANT和REVOKE语句主要用来维护数据库的()。A.安全性B.完整性C.可靠性D.一致性

29.可以用于概念模型设计的是()

A.层次树结构B.数据流图C.E-R图D.关系数据模型

30.关于计算机的操作系统,下面叙述不正确的是

A.操作系统是从管理程序(管理软件和硬件的程序)发展而来的

B.操作系统既是系统软件又是应用软件

C.操作系统是计算机用户与计算机的接口

D.用户一般是通过操作系统使用计算机

四、C语言程序设计题(10题)31.已知数据文件in.dat中存有200个四位数,并已调用读函数readDat把这些数存入数组a中,请考生编制一函数isVal,其功能是:把千位数字和十位数字重新组成一个新的含有两位数字的数ab(新数的十位数字是原四位数的千位数字,新数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成另一个新的含有两位数字的数cd(新数的十位数字是原四位数的个位数字,新数的个位数字是原四位数的百位数字),如果新组成的两个位数ab>cd,ab必须是偶数且能被5整除,cd必须是奇数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。最后main函数调用写函数writeDat把结果cnt以及数组b中符合条件的四位数输出到0ut.dat文件中。

32.函数readDat是从文件in.dat中读取20行数据存放到字符串数组XX中(每行字符串长度均小于80)。请编制函数isSort,其函数的功能是:以行为单位对字符串按下面给定的条件进行排序,排序后的结果仍按行重新存入字符串数组XX中,最后调用函数writeDat把结果)XX输出到文件0ut.dat中。

条件:字符串从中间一分为二,左边部分按字符的ASCII值降序排序,右边部分不作处理,排序后,左边部分与右边部分按例子所示进行交换。如果原字符串长度为奇数,则最中间的字符不参加处理,字符仍放在原位置上。

33.已知数据文件in.dat中存有300个四位数,并已调用读函数rcadDat把这些数存入数组a中,请编制一函数jsvalue,其功能是:求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从大到小的顺序进行排序。最后main函数调用写函数writeDat把数组b中的数输出到文件out.dat中。

34.编写一个函数findStr(char*str,char*substr),该函数统计一个长度为2的子字符串substr在另一个字符串str中出现的次数,该次数作为函数值返回。例如,假定输入的字符串为”asdasasdfgasdaszx67asdmklo”,子字符串为”as”,函数返回值是6。

函数ReadWrite实现从文件in.dat中读取两个字符串,并调用函数findStr,最后把结果输出到文件out.dat中。

注意:部分源程序存在test.c文件中。请勿改动主函数main和其他函数中的任何内容,仅在函数findStr的花括号中

填入你编写的若干语句。

35.已知数据文件in.dat中存有300个四位数,并已调用读函数readDat把这些数存入数组a中,请编制一数jsValue,其功能是:求出个位数上的数减千位数上的数减百位数上的数减十位数上的数大于零的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从大到小的顺序进行排序。最后main函数调用写函数writeDat把数组b中的数输出到文件0ut.dat。

36.程序test.C的功能是:把s字符串中的所有字符左移一个位置,串中的第一个字符移到最后。请考生编写函数chg(char*s)实现程序要求,最后调用函数readwriteDAT把结果输出到0ut.dat文件中。

37.函数ReadDat实现从文件in.dat中读取一篇英文文章,存入到无符号字符串数组XX中;请编制函数encryptChar,按给定的替代关系对数组XX中的所有字符进行替代,其替代值仍存入数组)xx的对应的位置上,最后调用函数wmeDat把结果xX输出到文件out.dat中。

替代关系:f(p)=p*11mod256,mod为取余运算,P是数组xx中某一个字符的ASCII值,f(p)是计算后无符号的整型值(注意:中间变量定义成整型变量),如果计算后f(p)值小于等于32或f(p)对应的字符是小写字母,则该字符不变,否则用f(p)替代所对应的字符。

注意:部分源程序存放在test.c文件中,原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格,并也按此替代关系进行处理。

请勿改动住数main、读数据函数ReadDat和输出数据函数WriteDat的内容。

38.函数ReadDat实现从文件in.dat中读取一篇英文文章,存入到字符串数组XX中;请编制函数eneryptChar,按给定的替代关系对数组XX中的所有字符进行替代,仍存入数组XX对应的位置上,最后调用函数WriteDat把结果xX输出到文件out.dat中。

替代关系:f(p)=p*11mod256,mod为取余运算,P是数组XX中某一个字符的ASCII值,f(p)是计算后的无符号整型值(注意:中间变量定义成整型变量),如果计算后f(p)值小于等于32或f(p)对应的字符是大写字母,则该字符不变,否则用f(p)替代所对应的字符。

注意:部分源程序存放在test.c文件中,原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格,并也按此替代关系进行处理。

请勿改动主函数main、读函数ReadDat和输出函数WriteDat的内容。

39.已知数据文件in.dat中存有200个四位数,并已调用读函数readDat把这些数存入数组a中,请考生编制一函数jsVal,其功能是:依次从数组a中取出一个四位数,如果该四位数小于该四位数以后的连续五个数且该数是偶数(该四位数以后不满五个数,则不统计),则统计出满足此条件的个数cnt,并把这些四位数存入数组b中,而后对数组b进行升序排序,最后调用写函数writeDat把结果cnt以及数组b中符合条件的四位数输出到0ut.dat文件中。

注意:部分源程序存在test.c文件中。

程序中已定义数组:a[200],b[200],已定义变量:cnt

请勿改动数据文件in.dat中的任何数据、主函数main、读函数readDat和写函数writeDat的内容。

40.已知在文件in.dat中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量s1(整型),金额je(长整型)五部分组成。其中:金额=单价*数量。函数ReadDat读取这100个销售记录并存入结构数组sell中。请编制函数SortDat,其功能要求:按产品代码从小到大进行排列,若产品代码相同,则按金额从小大进行排列,最终排列结果仍存入结构数组sell中。最后main函数调用函数WriteDat把结果输出到文件out.dat中。

提示:若中间变量为PROtemp,则可以直接使用结构赋值语句进行解题;产品代码比较请用函数strcmp进行解题。例如:sell[i]=temp;

注意:部分源程序存放在test.c文件中。

请勿改动主函数main、读函数ReadDat和输出函数WriteDat的内容。

五、设计与应用题(2题)41.设有高校选课系统,需要对学校的系信息、教师信息、课程信息、学生信息、学生选课信息进行管理。已知系(DEPT)信息包括系编号(DeptNO)、系名称(DeptName);教师(Teacher)信息包括教师号(TNO)、教师名(Tname);课程(Course)信息包括课程号(CNO)、课程名(CName)、课程学分(Credit);学生(Student)信息包括学号(SNO)、学生姓名(Sname)、学生性别(Sex)。选课系统的管理规则如下:Ⅰ.一个系可聘用多名教师,一个教师只受聘于一个系;Ⅱ.一个系可有多名学生,一个学生只属于一个系;Ⅲ.一名教师可讲授多门课程,一门课程可由多名教师讲授;Ⅳ.一名学生可选修多门课程,一门课程可被多名学生选修;V.学生选修完课程后,可获得相应课程的成绩。针对以上描述,完成下列设计内容:(1)构建选修课系统的ER图。(要求图中的实体集名用试卷中给出的英文名,联系所关联的实体集名的首字母,字母问用“一”或“_”连接,大小写不限)。(6分)(2)根据所构建的ER图,设计满足3NF的关系模式,并标出每个关系模式的主码和外码。(要求关系模式名同实体集名或联系名,属性名用试卷中给出的英文名,大小写不限)(4分)

42.某教务管理系统使用SQLServer2008数据库管理系统,数据库软硬件配置信息如下:Ⅰ.数据库运行在两路IntelXeonE5-26092.4GHzCPU(每路CPU4核心),128GB内存、2块300GB15000转SAS硬盘(RAIDl)的服务器上;Ⅱ.服务器操作系统为Windows200332位企业版,安装SP2补丁;Ⅲ.数据库为SQLServer2008Enterprise(32位),数据库中总数据量近130GB。近一个学期以来,用户反映系统运行缓慢,经程序员定位,确定为数据库服务器响应缓慢,需要进行调优。(10分)

六、单选题[1分](2题)43.数据库系统的三级模式结构和二层映像功能提供了数据的逻辑独立性和物理独立性。下列提供逻辑独立性的是()。

A.外模式/模式映像B.模式/内模式映像C.内模式/外模式映像D.模式/模式映像

44.数据库性能优化是数据库应用系统上线后最常见的运行维护任务之一。下列有关数据库性能优化的说法,错误的是()。

A.数据库性能优化和数据库的外部环境有很大关系,如果外部环境出现瓶颈,单独对数据库进行调整很难取得较好效果

B.在数据库性能优化期间可能对原有符合范式的关系转为不符合范式的关系

C.物化视图将会预先计算并保存耗时操作的结果,可大幅度提高查询效率,但是物化视图必须人工手动刷新

D.存储过程在执行期间不需要重新编译,可以在一定程度上提高运行效率,但是其与数据库管理系统绑定,更换数据库管理系统时需要重新编写

参考答案

1.C解析:关系数据库对关系是有一定限制的,每一个关系仅仅有一种记录类型;关系一旦确定,关系模式中属性的数据类型和属性的个数就不能再改变,而属性的顺序可以任意交换。注意:并不是任意一个二维表都能表示一个关系,关系数据库对关系是有限定的。所以A)不正确;每一个关系仅仅有一种记录类型,所以B)不正确;关系模式中属性的数据类型和属性的个数是固定的,所以D)不正确。掌握关系数据库,关系代数和关系演算和SQL语言的相关知识。

2.C解析:在分布式数据库中数据的共享有两个层次:一是局部共享,二是全局共享。对于每一个节点是一个独立的数据库系统,既能完成局部应用,也支持全局应用。选项C的叙述是正确的。分散在各节点的数据是相关的;用户可以对远程数据进行访问,但没必要指明数据的存储节点;数据可以分散在不同节点的计算机上,不一定在同一台计算机上进行数据处理.因此选项A、B和D是不正确的。正确答案为C。

3.C解析:数据库系统的三级模式是对数据的3个抽象级别,数据库管理系统在这三级模式之间提供了两层映像:外模式/模式映像和模式/内模式映像,从而保证数据库系统中数据具有较高的逻辑独立性和物理独立性。

4.B解析:IBM数据仓库由三部组成:OLTP业务系统、数据仓库和数据集市,因此本题正确答案为选项B。

5.D解析:SQL语言用Grant语句向用户授予操作权限。在这个语句中,如果指定了WithGrantOption子句,则获得某种权限的用户还可以把这种权限再授予其他的用户;如果没有指定WithGrantOption子句,则获得某种权限的用户只能使用该权限,但不能传播该权限。本题的SQL语句带有WithGrantOption子句,因此,在执行此SQL语句后,U5不仅拥有了对表SC的Insert权限,还可以传播此权限,即由U5用户使用上述Grant命令给其他用户授权。

6.C解析:一级索引表可存储的文件块数为256;

二级为256+256*256=65792:

三级为256+256*256+256*256*256=16843008。

7.B解析:元组是由主键值的不同来区分的,“关系中不允许发现相同的元组”的约束是通过主键实现的。

8.D解析:假设这个二目关系是R(A,B)。不失一般性,其函数依赖集可能有空集、F={A→B}、F={A→B,B→A)这3种情况。对于空集情况,此关系满足BCNF。对于第二种情况,码是A,没有传递和部分函数依赖也没有违反BCNF的条件,因此也是BCNF。对于第三种情况,码是A或者B,没有传递和部分函数依赖,也满足每个函数依赖关系的决定因素都包含码的条件,因此是BCNF。综合以上3种情况,任何一个二目关系在函数依赖的范畴内至少能达到BCNF。

9.D解析:由机器语言编写的程序可由计算机直接执行,效率高,但机器语言不易记忆和理解。掌握计算机软件的基本概念。

10.A解析:主码是能够唯一标识表中元组的属性,在s表中snanle值可能会有相同的,因此不能将其设为主码。

11.941.定义任意非叶子结点最多只有M个儿子;且M>2;\r\n\u3000\u30002.根结点的儿子数为[2,M];\r\n\u3000\u30003.除根结点以外的非叶子结点的儿子数为[M/2,M];\r\n\u3000\u30004.每个结点存放至少M/2-1(取上整)和至多M-1个关键字;(至少2个关键字,根节点至少一个关键字\r\n

.7【解析】目的网络的IP地址是40.0.n0,那么查表可知,路由器应该把IP数据报投递到。

13.多维多维

14.元组或记录元组或记录

15.异或【解析】RC5算法中使用了3种运算:异或、加和循环。

16.访问控制【解析】一个功能完备的网络系统提供以下基本的安全服务功能:保密性、认证、数据完整性、防抵赖和访问控制。其中访问控制服务用于控制与限定网络用户对主机、应用、数据与网络服务的访问类型。

17.数据库建模。【解析】OracleDesigner2000是Oracle提供的CASE工具,能够帮助用户对复杂系统进行建模、分析和设计。

18.DBADataBaseAdministrator,数据库管理员。

19.互斥条件

部分分配(占有等待)对于永久性资源,产生死锁的必要条件有四个,互斥,不剥夺,部分分配,循环等待。

20.应用应用

21.A

22.C

23.C

24.B

25.B

26.C

27.A

28.ASQL语言中用GRANT、REVOKE语句实现数据控制功能,数据库中权限的授予可以使用GRANT....ON....TO....语句,要求指明授予哪个用户(组)对哪个对象有什么权限,而REVOKE语句实现数据库权限的回收,需要指明从哪个用户(组)回收对于哪个对象的什么权限。

29.C

30.B解析:操作系统是直接运行在裸机上的最基本的系统软件,其他软件都必须在操作系统的支持下才能运行。操作系统是一种资源管理程序,其主要功能是管理计算机软硬件资源,组织计算机的工作流程,方便用户的使用,并能为其他软件的开发与使用提供必要的支持。

31.\n【审题关键句】千位+十位与个位+百位,比较大小,整除,奇数,从大到小排序。

\n【解题思路】

\n本题类似第26套试题,通过审题可以发现主要是对四位数的筛选条件有所不同,即判断新组合的两位数要求第一个为偶数,第二个为奇数,比较两题的第10条语句,只需将新组合的第二个数的判断条件改为奇数判断,即“newV2%2”。

\n【参考答案】

\n

\n

32.\n【审题关键句】以行为单位从字符串左边部分降序排序,排序后左边部分与右边部分进行交换。如果原字符串长度为奇数,则最中间的字符不参加处理。

\n【解题思路】

\n①定义循环变量i、j、k和整型变量len、p。

\n②第一层for循环中,循环变量i从0开始,依次递增直到其值等于20,实现对20行数据的逐行处理。在循环体中,对于i行首先调用函数strlen(xx[i])求得第i行字符串的长度,并把其值赋给变量len,再用1en除以2,得到第i行字符串长度的一半,赋给变量P。在第二层for循环中,循环变量J从0开始,依次递过来增直到其值等于(p-1),在第三层for循环中,循环变量k从J+1开始,依次递过来增直到其值等于P,比较字符xx[i][j]ASCII码值与xx[i][k]ASCII码值的大小,如果字符xx[i]啪的ASCII码值小于xx[i][k]的ASCII码值,则两者进行互换实现对第i行字符串左半部分的字符串按降序排列。

\n③用变量len的值对2求余数,如果余数为1,则调用函数字符串拷贝函数strcpy,把从字符串xx[i]+P+1开始直到字符串xx[i]的结尾的子字符拷贝到字符串变量str中,再调用字符串连接函数stmcat把字符串xx[i]的中间字符连接到字符串变量str的后面,再调用字符串连接函数stmcat把字符串xx[i]的左半部分的子字符串连接到变量str的后面;如果余数不等于1,则调用字符串拷贝函数strcpy,把从字符串xx[i]+P开始直到字符串xx[i]的结尾的子字符拷贝到字符串变量str中,再调用字符串连接函数stmcat把字符串xx[i]的左半部分的子字符串连接到变量str的后面,实现字符串xx[i]左右部分子字符串的交换。

\n④调用字符串拷贝函数strcpy,把字符串变量str的值拷贝到字符串xx[i],实现把排序后的结果仍按行重新存入字符串数组XX中。

\n【参考答案】

\n

\n

33.\n【审题关键句】千位+百位等于十位+个位的数的个数,把所有满足此条件的四位数依次存入数组,然后对数组按从大到小的顺序进行排序。

\n【解题思路】

\n本题类似第9套试题,通过审题可以发现有两个不同点:①要求统计的四位数的条件是“千位+百位=十位+个位”,参考答案的第8条语句修改if语句的判断条件即可。②将统计结果按从大到小的顺序排序,参考答案的第13条语句,修改两数组元素的大小比较符即可。另外,对于数据交换的整型变量tmp可以自定义其变量名。

\n【参考答案】

\n

\n

\n

34.\n【审题关键句】统计一个长度为2的子字符串在另一个字符串中出现的次数。

\n【解题思路】

\n①定义字符指针p,q,并且q指向字符串str。定义计数整型变量cnt,设置其值等于0。

\n②在while循环中调用C语言的字符串库函数strstr,返回子字符串substr在字符串q第一次出现的位置,赋给变量P。用if语句判断,如果p的值为空,则说明在字符串str没有找到子字符串,退出循环。否则,变量cnt加1,再把P的值加2(因为子字符串substr的长度为2)赋给变量q,执行下一次循环。直到字符串中不存在子字符串时,退出循环结束。

\n③最后,返回子字符串substr在字符串str中出现的次数。

\n【参考答案】

\n

35.\n【审题关键句】个位-千位-百位-十位数大于零的个数,把所有满足此条件的数依次存入数组,按从大到小的顺序排序。

\n【解题思路】

\n本题类似第9套试题,通过审题可以发现有两个不同点:①要求统计的四位数的条件是“个位一千位-百位一十位数大于零的个数”,参考答案的第8条语句修改if语句的判断条件即可。②将统计结果按从大到小的顺序排序,参考答案的第13条语句,修改两数组元素的大小比较符即可。另外,对于数据交换的整型变量tmp可以自定义其变量名。

\n【参考答案】

\n

\n

36.【审题关键句】所有字符左移一个位置,串中的第一个字符移到最后。

\n【解题思路】

\n定义循环变量i,字符变量first和字符指针变量P,并使P指向字符串S。

\n②把字符串S的第一个字符赋给first变量保存起来。

\n③在for循环语句中,循环变量i从0开始,依次递增直到其值等于或大于(int)strlen(s)一1,把*(p+i+1)的值赋给+(p+i),实现把字符串S中的所有字符左移一个位置,循环结束后,把first的值赋给p[strlen(s).1],即把字符串的首字符移动到字符串的最后位置上。

\n【参考答案】

\n

\n

37.\n【审题关键句】字符替代f(p)=p*11mod256,小于等于32或对应小写字母不变,否则替换。

\n【解题思路】

\n本题类似第65套试题,通过审题可以发现主要是排序条件的设置要求有所不同,参考答案的第6行,修改if条件语句的设置即可。

\n【参考答案】

\n

\n

38.\n【审题关键句】字符替代f(p)=p*11mod256,小于等于32或对应大写字母不变,否则替换。

\n【解题思路】

\n本题类似第65套试题,通过审题可以发现主要是排序条件的设置要求有所不同,参考答案的第6行,修改if条件语句的设置即可。另外,在源程序中已经定义了一个无符号变量va1,因此,在编写答案程序时,不需要再重新定义。

\n【参考答案】

\n

\n

39.【审题关键句】小于后连续5个数,偶数,从小到大排序。

\n【解题思路】

\n①首先定义两个循环整型变量i、j和一个用于数据交换的整型变量ab。

\n②然后在for循环语句中,先指定循环变量i从0开始,依次递增到MAX-5(到MAX.5的原因是因为从倒数第5个数开始,其后面的数都不满5个数,与题目要求不符,因此可以省略最后5个数),接着对每个数组元素a[i]判断其是否为偶数且小于其后面连续的5个数,然后把满足此条件的数组元素a[i]赋给数组元素b[cnt],同时数组的下标变量cnt加1。③最后,用双重for循环语句对数组b中的数组元素两两比较大小,如果前一个数组元素大于后一个数组元素,则两者进行互换,实现对数组b进行升序或降序的排列。

\n【参考答案】

\n

\n

40.\n【审题关键句】计算金额,按产品代码从小到大进行排列,相同的则按金额从小到大排列,结果存入结构数组。

\n【解题思路】

\n本题类似第57套试题,通过审题可以发现主要是排序条件的设置要求有所不同,参考答案的第8行进行修改即可。

\n【参考答案】

\n

\n

41.【解题思路】

(1)ER图的画法

建立相应的ER图的过程如下:

第一,确定实体类型。本题有四个实体类型,即Teacher实体,Course实体,Student实体和DEPT实体。

第二,确定联系类型。Teacher实体与Course实体之间是多对多关系,即T-C关系,Student实体与Course实体之间是多对多关系,即S-C关系。DEPT实体与Teacher实体之间是一对多关系,即D-T关系。DEPT实体与Student实体之间是一对多关系,即D-S关系。

第三,把实体类型和联系类型组合成ER图。

第四,确定实体类型和联系类型的属性。

Teacher实体集属性:教师号、教师名

Course实体集属性:课程号、课程名、课程学分

Student实体集属性:学号、学生姓名、学生性别

DEPT实体集属性:系编号、系名称

(2)ER模型转换为关系模式的规则

①把ER模型中的每一个实体集转换为同名的关系,实体集的属性就是关系的属性,实体集的码就是关系的码。

②把ER模型中的每一个联系转换成一个关系,与该联系相连的各实体集的码以及联系的属性转换为关系的属性。关系的码根据下列情况确定。

若联系为1:1,则每个实体集码均是该关系的候选码。

若联系为1:n,则关系的码为n端实体集的码。

若联系为m:n,则为各实体集码的组合或其中一部分实体集码的组合。

③合并具有相同码的关系。根据规则,把一个ER模型转换为关系模式,一般经历下面两个步骤:

第一,标识ER模型中的联系。

第二,依次转换与每个联系相关联的实体集及联系。

【参考答案】

ER图如下所示:

设计3NF,如下:

DEFY(DeptNO,DeptName),主码:DeptNO,无外码

Teacher(TNO,TName,DeptNO),主码TNO,外码DeptNO

Student(SNO,SName,Sex,DeptNO),主码SNO,外码DeptNO

Course(CNO,CName,Credit),主码CNO,无外码

T-C(TNO,CNO),主码(TNO,CNO),外码TNO,CNO

S-C(SNO,CNO,成绩),主码(SNO,CNO),外码SNO,CNO

42.【解题思路】数据库性能优化的基本原则就是通过尽可能少的磁盘访问获得所需要的数据。SQLSERVER性能优化一般从数据库设计、应用程序编码、硬件优化、数据库索引、SQL语句、事务处理几个方面人手考虑问题。(1)分析阶段:在系统分析阶段往往有太多需要关注的地方,系统各种功能性、可用性、可靠性、安全性需求吸引了我们大部分的注意力,但必须注意的是,性能往往是很重要的非功能性需求,必须根据系统的特点确定其实时性需求、响应时间的需求、硬件的配置等。最好能有各种需求量化的指标。(2)设计阶段:例如数据库逻辑设计规范化;合理的冗余;主键的设计;外键的设计;字段的设计;数据库物理存储和环境的设计;数据库的物理存储、操作系统环境及网络环境的设计,皆使得我们的系统在将来能适应较多用户的并发操作和较大的数据处理量。这里需要注意文件组的作用,适用文件组可以有效的把I/O操作分散到不同的物理硬盘,提高并发能力。(3)系统设计:整个系统的设计,特别是系统结构的设计对性能具有很大的影响。对于一般的OLTP系统,可以选择C/S结构、三层的C/S结构等,不同的系统结构其性能的关键也有所不同。系统设计阶段应归纳某些业务逻辑在数据库编程阶段实现,数据库编程包括数据库存储过程、触发器和函数。用数据库编程实现业务逻辑的好处是减少网络流量并能更充分利用数据库的预编译和缓存功能;索引设计阶段可以根据功能和性能的需求进行初步的索引设计,这里需要根据预计的数据量和查询来设计索引,可能与将来实际使用时有所区别。(4)编码阶段:编码阶段首先需要所有程序员具备优化意识,也就是在实现功能的同时具备考虑优化性能的思想。数据库是能进行集合运算的工具,所谓集合运算实际是批量运算,即是尽量减少在客户端进行大数据量的循环操作,而用SQL语句或者存储过程代替。这个阶段主要是注意在SQL语句等方面的优化,如:尽量少做重复的工作,用SELECT后跟需要的字段代替SELECT*语句,注意事务和锁,注意I临时表和表变量的用法,慎用游标和触发器,尽量使用索引等。(5)硬件优化:RAID(独立磁盘冗余阵列)是由多个磁盘驱动器(一个阵列)组

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论