2022年河南省安阳市全国计算机等级考试数据库技术测试卷(含答案)_第1页
2022年河南省安阳市全国计算机等级考试数据库技术测试卷(含答案)_第2页
2022年河南省安阳市全国计算机等级考试数据库技术测试卷(含答案)_第3页
2022年河南省安阳市全国计算机等级考试数据库技术测试卷(含答案)_第4页
2022年河南省安阳市全国计算机等级考试数据库技术测试卷(含答案)_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

2022年河南省安阳市全国计算机等级考试数据库技术测试卷(含答案)学校:________班级:________姓名:________考号:________

一、1.选择题(10题)1.关系模型中,一个关键字

A.可由多个任意属性组成

B.至多由一个属性组成

C.可由一个或多个其值能惟一标识该关系模式或任何元组的属性组成

D.以上都不是

2.在关系代数中,自然连接的运算符号为________。

A.пB.xC.σD.∞

3.若对一个已经排好了序的序列进行排序,在下列4种方法中,哪一种方法比较好?

A.冒泡法B.直接选择法C.直接插入法D.归并法

4.如果一棵二叉树结点的前序序列是A,B,C,后序序列是C,B,A,则该二叉树结点的对称序序列

A.必为A,B,CB.必为A,C,BC.必为B,C,AD.不能确定

5.下列关于IP地址的叙述中,错误的是

A.IP地址由网络地址与主机地址两部分组成

B.根据不同的取值范围,IP地址可以分为5类

C.B类IP地址其网络地址空间长度为16位,主机地址空间长度为14位

D.C类IP地址范围从:192.0.0.0--233.255.255.255

6.下列()是伪传递规则。

A.若X→Y,且X→Z,则X→YZ

B.若X→Y,且AY→Z,则XA→Z

C.若X→Y,且Z→Y,则X→Y

D.若X→Y,且Y→Z,则X→Z

7.下列不属于数据操纵语言的是

A.SELECTB.DELETEC.CREATED.UPDATE

8.

从该B树中删除关键码15后,该B树的第2层的结点数为

A.6B.7C.8D.9

9.SQL语言的REVOKE语句实现下列哪一种数据控制功能

A.可靠性控制B.并发性控制C.安全性控制D.完整性控制

10.下列关于线程的叙述中,正确的是

A.每一个线程可以有多个标识符和其相应的线程描述表

B.不同的线程可以执行相同的程序

C.同一进程中的各个线程共享该进程的逻辑地址空间

D.多个线程不可以并发执行的

二、填空题(10题)11.分布式数据库系统兼顾了数据的集中管理和分散处理两个方面,且数据库虽然分布在网络上的各个结点中,但仍然是统一管理的。因此分布式数据库系统有良好的性能,既可独立完成局部应用,也可协作完成【】应用。

12.从设备的工作特性来分类,设备可以分为存储设备、【】。

13.Annstrong公理系统的三条推理规则是【】、增广律和传递律。

14.B+树索引支持搜索码的属性上的等值查询和()查询。

15.在实际应用中,分组交换技术可以分为两类:数据报与___________。

16.可变分区的主存分配算法有

【】

、最佳适应算法和最坏适应算法

17.

18.用户检索POP3邮件服务器的过程可以分成3个阶段:___________、事务处理阶段、更新阶段。

19.现有关键码值分别为10、20、30、40的4个结点,按所有可能的插入顺序构造二叉排序树,能构造______不同的二叉排序树。

20.设有一个二维数组A[1…6,1…4],若数组的起始地址为200,并且数据元素以行序为主序存放在数组中,每个元素占用4个存储单元,那么元素A[3,4]的存储地址为【】。

三、单选题(10题)21.设散列函数为H(k)=kmod7,现欲将关键码23,14,9,6,30,12,18依次散列于地址0~6中,用线性探测法解决冲突,则在地址空间0~6中,得到的散列表是

A.14,6,23,9,18,30,12

B.14,18,23,9,30,12,6

C.14,12,9,23,30,18,6

D.6,23,30,14,18,12,9

22.关于AdHoe网络的描述中,错误的是()A.A.是一种对等式的无线移动网络

B.在WLAN的基础上发展起来

C.采用无基站的通信模式

D.在军事领域应用广泛

23.对数据库模式设计进行优化有三项指标,下列指标中不属于这三项指标的是()A.A.单位时间内访问的逻辑记录个数要少

B.单位时间内数据的传送量要少

C.数据库模式中的关系(即数据库文件)数目要少

D.系统占用的存储空间要少

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

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

25.下面关于通道的叙述中,正确的是()Ⅰ.通道相当于一个功能简单的处理机Ⅱ.通道完成数据输入输出工作Ⅲ.通道与CPU共用一个内存

A.Ⅰ和ⅡB.Ⅰ和ⅢC.Ⅱ和ⅢD.都是

26.在SQLServer系统数据库中,存放用户数据库公共信息的是__________。

A.masterB.modelC.msdbD.tempdb

27.设栈S和队列Q的初始状态为空,元素e1、e2、e3、e4、e5和e6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出栈的顺序是e2、e4、e3、e6、e5、e1,则栈S的容量至少应该是()

A.6B.4C.3D.2

28.下列关于时钟的叙述中,哪一条是不正确的?()A.A.时钟中断可以屏蔽

B.时钟是操作系统运行的必要机制

C.时钟可以分成硬件时钟和软件时钟

D.利用时钟中断可以实现进程的轮转运行

29.有两个实体集,并且它们之间存在着一个M∶N联系,根据概念ER模型转换成关系数据库的规则,这个ER结构转换成表的个数为()

A.1B.2C.3D.4

30.进程具有并发性和()两大重要属性。

A.动态性B.静态性C.易用性D.封闭性

四、C语言程序设计题(10题)31.已知数据文件in.dat中存有200个四位数,并已调用读函数readDat把这些数存入数组a中,请考生编制一函数jsVal,其功能是:如果四位数各位上的数字均是奇数,则统计出满足此条件的个数cnt并把这些四位数按从大到小的顺序存入数组b中。最后main函数调用写函数writeDat把结果cnt以及数组b中符合条件的四位数输出到0ut.dat文件中。

32.已知数据文件in.dat中存有200个四位数,并已调用读函数readDat把这些数存入数组a中,请考生编制一函数jsVal,其功能是:从数组a中依次取出一个四位数,对每一个四位数作如下处理:把个位数字和千位数字重新组成一个新的含有两位数字的数(新数的十位数字是原四位数的个位数字,新数的个位数字是原四位数的千位数字),以及把百位数字和十位数字组成另一个新的含有两位数字的数(新数的十位数字是原四位数的百位数字,新数的个位数字是原四位数的十位数字),如果两个新组成数:一个是奇数,另一个为偶数,并且至少有一个数能被17整除,同时两个新数的十位数字均不为零,则将满足此条件的四位数存入数组b中,并计算满足上述条件的四位数的个数cnt,而后对数组b进行降序排序。最后main函数调用写函数writeDat把结果cnt以及数组b中符合条件的四位数输出到out.dat文件中。

例如:一个四位数为4512,依题意组成的第一个新数为24,第二个新数为51,其中51能被17整除,这两个新数的十位数字不为零,则4512这个四位数满足题意所规定条件。

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

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

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

填入你编写的若干语句。

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

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

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

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

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

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

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

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

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

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

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

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

提示:若中间变量为PROtemp,则可以直接使用结构赋值语句进行解题。

例如:sell[i]=temp;

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

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

39.已知在文件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的内容。

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

五、设计与应用题(2题)41.已知有如下关系模式:R1(a,b,c),R2(c,d,a),R3(e,f),R4(a,e,g),其中标下划线的属性是主码。请将上述关系模式用适当的ER图表示出来,并用下划线标注出作为实体主码的属性。(10分)

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

六、单选题[1分](2题)43.设在SQLServer2008某数据库中有销售表(商品号,销售时间,销售数量,销售价格),其中商品号的类型为char(6),销售价格的类型为int。现要定义统计指定商品销售总价的标量函数。有下列定义该标量函数的语句:Ⅰ.CreateFUNCTIONdb0.GetTotal(@GoodIDchar(6))ReturnsintASBEGINReturn(SELECTSUM(销售价格)FROM销售表WHERE商品号=@GoodID.ENDⅡ.CreateFUNCTIONdb0.GetTotal(@GoodIDchar(6))ReturnsintASBEGINReturns(SELECTSUM(销售价格)FROM销售表WHERE商品号=@GoodID.ENDⅢ.CreateFUNCTIONdb0.GetTotal(@GoodIDchat(6))ReturnsintBEGINReturn(SELECTSUM(销售价格)FROM销售表WHERE商品号=@GoodID.END1V.CreateFUNCTIONdb0.GetTotal(@GoodIDchar(6))ReturnsintReturns(SELECTSUM(销售价格)FROM销售表WHERE商品号=@GoodID.上述语句中,正确的是()。

A.仅I和ⅡB.仅Ⅲ和ⅣC.仅Ⅱ和ⅣD.仅I和Ⅲ

44.在分布式数据库的数据分配中,若所有全局数据有且只有一份,他们被分割成若干切片,每个片段被分配在一个特定场地上,则该策略属于()。

A.集中式B.分割式C.全复制式D.混合式

参考答案

1.C解析:关键字:属性或属性的集合,其值惟一标识一个元组。

2.D解析:在关系代数中,∞表示连接;×表示广义笛卡尔积;п表示投影;σ表示选择。

3.C解析:若以排序所用的比较时间来看,直接插入法和归并法都比较少,对于n个元素的序列,大约需要比较n-1次;但归并法要占用较大的存储空间,所以用直接插入法比较好。

4.D解析:二叉树是树形结构的一种重要类型,它是结点的有限集合,这个有限集合或者为空集,或者由一个根(N)结点及两个不相交的、分别称作这个根的左子树(L)和右子树(R)的二叉树组成。按周游二叉树的方法可以分为:①前序序列法(NLR):访问根,按前序周游左子树,按前序周游右子树;②后序序列法(LRN):按后序周游左子树,按后序周游右子树,访问根;③对称序列法(LNR):按对称序周游左子树,访问根,按对称序周游右子树。按照以上定义可知,如二叉树的前序序列为A,B、C,则二叉树可能如下图所示类型中的一种:

它们的对称序列分别为C、B、A;B、C、A;A、B,C;A、C、B。因此本题的答案为选项D。

5.C解析:根据不同的取值范围,IP地址可以分为5类。A类IP地址其网络地址空间长度为7位,主机地址空间长度为24位;B类IP地址其网络地址空间长度为14位,主机地址空间长度为16位;C类IP地址范围从:192.0.0.0--233.255.255.255。注意:B类IP地址其网络地址空间长度为14位,主机地址空间长度为16位,选项C)正好叙述相反,故C)错误。掌握计算机网络中各层使用的协议。

6.B解析:Armstrong公理系统的伪传递规则是:由X→Y,WY→Z,有XW→Z。对比可以知道选项B)是正确答案。

7.C解析:INSERT、SELECT、UPDATE、DELETE都属于数据操纵语言。CREATE属于数据定义语言,故选择C)选项。熟练掌握SQL语言中的数据定义语言。

8.B解析:若要删除15,则原包含15的结点中只剩下关键码11了,此时结点所包含的关键码的个数小于2,于是从右边兄弟结点移一个关键码23到该结点来,但因为涉及到它们双亲结点中的关键码18要作相应变化,所以实际上是把关键码23移入到双亲结点,而把关键码18移到原来包含15的结点,如图所示:

所以,从该B树中删除关键码15后,该B树的第2层的结点数不变,为7。

9.C解析:所有授予出去的权限可以用RE—VOKE语句收回,保证了数据库管理系统的数据安全。

10.B解析:每一个线程有惟一的标识符和一张线程描述表。不同的线程可以执行相同的程序。同一进程中的各个线程共享该进程的内存地址空间。多个线程是可以并发执行的。注意:每一个线程不能有多个标识符,故A)选项错误;同一进程中的各个线程共享该进程的内存地址空间,而不是逻辑地址空间,故C)选项错误;多个线程是可以并发执行的,故D)选项错误。掌握进程,线程的概念和各自的特点。

11.全局全局解析:应填“全局”,这是分布式数据库系统的特点。

12.输入输出设备输入输出设备解析:设备管理是指对计算机中除了CPU和内存以外的所有输入、输出设备的管理。但是设备的种类繁多,按照设备的工作特性来分,可以分为存储设备、输入输出设备,按照设备上数据组织方式可以分为块设备、字符设备;按照资源分配的角度来分可以分为独占设备、共享设备、虚拟设备。

13.自反律自反律解析:Amnstring公理系统的三条推理规则是自反律、增广律和传递律。

14.范围

15.虚电路【解析】在实际应用中,分组交换技术可以分为两类:数据报与虚电路。

16.最先适应算法系统在寻找空闲区时可采用:最先适应算法,最佳适应算法,最坏适应算法

17.iAnywhereWitlessServer【解析】SYBASE的移动与嵌入计算产品主要包括SYBASESQLAnywhereStudio和iAnywhereWirelessServer。

18.认证阶段【解析】用户检索POP3邮件服务器的过程可以分成3个阶段:认证阶段、事务处理阶段、更新阶段。

19.14

20.260A[]是一个二维数组,A[3,4]代表第三行第4个数,前面有二行,第三行有三个元素,所以元素个数为2*6+3=15,15*4=60,所以存储地址为260。

21.B解析:将23,14,9,6,30,12,18依次按散列函数K(k)=kmod7计算,并按线性探测法解决冲突,得到的散列结果是14,18,23,9,30,12,6。

22.B选项A),AdHoC网络是一种自组织、对等式、多跳的无线移动网络;选项B),AdhoC网络是在分组无线网的基础上发展起来的;选项C),AdHoC网络是由一组用户构成、不需要基站的移动通信模式;选项D),AdHoC网络在军事上卜分重要,它可以支持野外联络、独立站点通信和舰队战斗群通信、临时通信要求和无人侦查与情报传输。

23.C

24.B

25.D解析:通道相当于一个功能简单的处理器,具有自己的指令系统,并与主机共享同一个内存,以保存通道程序和交换数据,通道的功能就是在CPU的控制下完成数据的输入输出工作。

26.B

27.C

28.D

29.C

30.A

31.\n【审题关键句】各位都是奇数,从大到小排序。

\n【解题思路】

\n本题类似第32套试题,通过审题可以发现主要是对四位数的筛选条件有所不同,即判断四位数的每一位数都为奇数,参考答案的第8条语句,只需将每位数的判断条件改为奇数判断即可。

\n【参考答案】

\n

\n

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

\n【解题思路】

\n本题类似第24套试题,通过审题可以发现主要是对四位数的筛选条件有所不同,体现在两个方面:①分解后重新组合成十位数的方式不同,参考答案的第8、9条语句重新指定两位数的组合方式;②新组合的两位数的奇偶性判断及整除判断,参考答案的第10条语句。

\n本题第10条语句中各条件表达式之间的关系有些复杂,大致思路是:①首先判断新组合的两位数的十位不为0,即表达式“gwbw”;②再判断新组合的第一个两位数为偶数,第二个两位数为奇数,且两个两位数中至少有一个能被17整除的情况,两个整除关系表达式式要用或运算符(11)连接,且用括号括起来先计算或运算,再与奇偶性判断表达式进行与运算;③最后,在判断新组合的第一个两位数为奇数,第二个两位数为偶数,且两个两位数中至少有一个能被17整除的情况(各表达式之间的连接关系同第2步)。完成以上3部分的表达式设计后,再通过与运算将3部分表达式连接起来。

\n【参考答案】

\n

\n

33.\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

34.\n【审题关键句】大于后连续5个数,奇数,从小到大排序。

\n【解题思路】本题类似第35套试题,通过审题可以发现主要有两个不同点:①判断数值为奇数,可通过a[i]%2进行判断,参考答案的第4条语句;②要求进行比较的元素大于后连续5个数,因此在设置判断条件时,作为比较的两个数之间应该是大于关系,参考答案的第4条语句。

\n【参考答案】

\n

\n

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

\n【解题思路】

\n本题类似第67套试题,通过审题可以发现主要是排序条件的设置要求有所不同,参考答案的第6行,修改if条件语句的设置即可。本题值得一提的是在设置判断条件的时候,一定要注意两题要求中的两个细微的差别,第67套要求的是新字符所对应的数字是0~9的不变,是对数值型数据进行判断;而本套要求的是原字符所对应的字符是o~9的保持不变,是对字符型数据进行判断,在条件表达式的写法上需要大家注意区分。

\n【参考答案】

\n

\n

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

\n【解题思路】

\n本题类似第9套试题,通过审题可以发现仅有一个不同点,即要求统计的四位数的条件是“个位+千位=百位+十位”,参考答案的第8条语句,修改if条件语句的判断条件即可,对于数据交换的整型变量tmp可以自定义其变量名。

\n【参考答案】

\n

\n

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

\n【解题思路】

\n本题类似第77套试题,通过审题可以发现主要是对字符串左边部分排序时所采用的排序方式不同,参考答案的第11行,修改if条件语句的设置即可。

\n【参考答案】

\n

\n

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

\n【解题思路】

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

\n【参考答案】

\n

\n

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

\n【解题思路】

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

\n【参考答案】

\n

\n

40.【审题关键句】千位+十位组合与个位+百位组合,都是奇数,两数相减结果大于等于0小于等于10,从大到小排序。

\n【解题思路】

\n①首先,本题要定义多个变量,包括两仑循环变量循环i、j;用来存放四位数分解之后各位数的变量qw(千位)、bw(百位)、SW(十位)和gw(个位);两个用来存放重新组合数字的变量newV1和newV2。

\n②通过for循环依次对数组中的每个四位数进行分解,每分解一个四位数,根据题目要求,对其各位数进行重新组合,形成两个新的十位数,组合条件分别是原四位数的千位和十位组成一个十位数,个位和百位组成一个十位数,并将两个新的十位数分别赋给变量newV1和newV2。

\n③数字重组完毕之后,再根据题目要求筛选满足条件的四位数,本题需要考虑多个筛选条件:一是新组合的十位数中,其十位数不能为0,即原四位数的千位和个位数字不能为0;二是两个新组合的十位数之差必须大于等于0小于等于10;三是两个新组合的数字均为奇数。

\n④将同时满足以上3个条件的四位数赋给数组b[cnt],同时数组下标值加1,当for循环执行完毕后,则将所有满足条件的四位数全部存放到数组b[cnt]qb。

\n⑤最后通过两个for循环,对数组b[cnt]中的元素按从大到小的顺序排序,排序过程中,可用newV1或newV2作为数据交换的中间变量。

\n【参考答案】

\n

\n

41.【解题思路】

ER模型和关系模式相互转换的一般规则如下:

(1)将每一个实体类型转换成一个关系模式,实体的属性为关系模式的属性。

f21对干一元联系,按各种情处理,如下表格所示。二元关系ER图转换成的关系联系的处理主键外键1:11→1(2个关系)

模式A

模式B(有两种)

处理方式(1):

把模式B的主键,

联系的属性加入模式A

处理方式(2):

把模式A的主键,

联系的属性加入模式B()(依据联系的处理方式)

方式(1):

模式B的主键为模式A外键

方式(2):

表A的主键为表B的外键1:N1→n(2个关系)

模式A

模式B把模式A的主键,联

系的属性加入模式B()模式A的主键为模式B的外键M:Nm→n(3个关系)

模式A

模式B

模式A-B联系类型转换

成关系模式A-B;

模式A-B的属性:

(a)联系的属性

(b)两端实体类型的主键两端实体类型的

主键一起构成模

式A-B主键两端实体类型的主

键分别为模式A-B的外键此题为关系模式转换为实体类型,因此采用实体→关系的逆向思维解题。从模式R1和R2可知,R1和R2为一对一关系,根据这两个模式的拆分可以确定三个实体,此处将这三个实体分别命名为A、B和C。其中A、B和C分别一一对应,且a和c分别是B和C的外键。从模式R1和R4可知,R1和R4为多对一关系,由此确定实体D。从模式R3和R4可知,R3和R4为多对一关系,由此可以确定出实体E。

【参考答案】

a、c为A的候选码,可任选其一做主码。可通过以下ER图来表示:

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

提交评论