2021年山东省日照市全国计算机等级考试数据库技术真题(含答案)_第1页
2021年山东省日照市全国计算机等级考试数据库技术真题(含答案)_第2页
2021年山东省日照市全国计算机等级考试数据库技术真题(含答案)_第3页
2021年山东省日照市全国计算机等级考试数据库技术真题(含答案)_第4页
2021年山东省日照市全国计算机等级考试数据库技术真题(含答案)_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

【2021年】山东省日照市全国计算机等级

考试数据库技术真题(含答案)

学校:班级:姓名:考号:

一、1.选择题(10题)

i.关于因特网中主机的IP地址,叙述不正确的是()。

A.IP地址是由用户自己决定的

B.每台主机至少有一个IP地址

C主机的IP地址必须是惟一的

D.一个主机可以属于两个或者多个逻辑网络

2.存在一个等待事务集{TO,T1,Tn},其中TO正等待被T1锁住

的数据项,T1正等待被T2锁住的数据项,Tn-1正等待被Tn锁住的

数据项,且Tn正等待被T0锁住的数据项,则系统的工作状态处于

A.并发处理B.封锁C.循环D.死锁

3.设有“供应者”关系模式:Supplier(Sname,Saddress,Item,Price),其

中各属性分别表示供应者名、供应者地址、货物名称、货物售价,一个

供应者供应一种货物则对应到关系中的一个元组。在这个关系中存在一

些问题,其中不正确的说法是

A.数据冗余B.更新异常C.插入异常D.删除正常

4.事务的原子性是指

A.事务中包括的所有操作要么都做,要么都不做

B.事务一旦提交,对数据库的改变是永久的

C一个事务内部的操作及使用的数据对并发的其他事务是隔离的

D.事务必须是使数据库从一个一致性状态改变到另一个一致性状态

5.系统产生死锁的四个必要条件是:资源的独占使用、资源的非抢占分

配、资源的循环等待和资源的

A.完全分配B.部分分配C.静态分配D.顺序分配

6.解决内存碎片的通常的手法,是把所有的空闲区合并成一片连续区域,

这一过程称为0

A.合并B.内存回收C.紧凑D.碎片整理

7.设计性能较优的关系模式称为规范化,规范化主要的理论依据是

A.关系规范化理论B.关系运算理论C关系代数理论D.数理逻辑

8.若已知一个栈的入栈序列是1、2、3.....n,其输出序列是pl、p2、

p3、…、pn,则加为()。

A.iB.n-iC.n-i+1D.不确定

9.数据字典是数据库分析阶段最重要的工具之一,其基本功能是()。

A.数据管理B.数据查询C.数据定义D.数据维护

10.数据独立性是指()。

A.数据依赖于程序B.数据库系统C.数据库管理系统D.数据不依赖于

程序

二、填空题(10题)

ll.SQLServer数据管理系统中常用的性能工具包括和。

12.数据库恢复通常基于数据备份和o

13.在路由表中,特定主机路由表项的子网掩码为□

14.RIP协议中表示距离的参数为o

15.在混合式P2P网络中,根据结点的能力可将结点分为用户结点、搜

索结点和3种类型。

16.因为网状型拓扑结构复杂,必须采用路由选择算法和方

法。

17.计算机是由运算器、存储器、输入设备和输出设备这5个

主要功能部件组成的,它们被称为计算机的五大硬件。

18.一个程序在一个数据集合上的一次执行过程称为它是系统

进行资源分配的独立单位。

19.在0S1中,采用了三级抽象,即体系结构、服务定义和o

20.在数据库设计的四个阶段中,每个阶段都有自己的设计内容。“为哪

些表、在哪些字段上、建什么样的索引。”这一设计内容应该属于

设计阶段。

三、单选题(10题)

21.下列计算机表示的信息中,不能称为“数据”的是()

A.人的姓名B.图形符号C.计算机程序D.文件名

22.用户对SQL数据库的访问权限中,如果只允许删除基本表中的元组,

应授予哪一种权限?

A.DROPB.DELETEC.ALTERD.UPDATE

23.设数组data[0...m]作为循环队列SQ的存储空间,front为队头指针,

rear为队尾指针,则执行出队操作的语句为()

A.front:=front1

B.front:=(front1)modm

C.rear:=(rear1)modm

D.front:=(front1)mod(m1)

24.索引使用原则中不可以为该列建立索引的是:()

A.经常在查询中作为条件被使用的列。

B.频繁进行排序或分组的列。

C一个列的值域很大时。

D.如果待排列的列有多个,选择任意一列。

25•一个栈的入栈序列是a、b、c、d、e,则栈的不可能的输出序列是()

A.edcbaB.decbaC.dceabD.abcde

26.Aarr和Barr两个数组说明如下:VARAarr:Array[0...7]ofchar;

Barr:Array[-5...2,3...8]ofchar;这两个数组分别能存放的字符的最

大个数是()

A.7和35B.1和5C.8和48D.1和6

27.对于学生信息表S(SNUMBER,SNAME,SEX,AGE,

DEPT)(STUDENT由学号SNO,姓名SNAME,性别SEX,年龄AGE,

所在系DEPT5个属性组成,其中SNUMBER为主码),求年龄20〜23

岁之间的学生姓名和年龄,正确的语句是()。

A.SELECTSNAME,AGEFROMSWHEREAGE>20ANDAGE<23

B.SELECTSNAME,AGEFROMSWHEREAGEBETWEEN20AND

23

C.SELECT*FROMSWHERE.AGEBETWEEN20AND23

D.以上均不正确

28.物理结构设计的任务是设计数据库的()

A.存储格式B.存取方法C.存储结构与存取方法D.存储模式

29.收缩整个数据库的大小,可以采用下列语句:()

A.DBCCSHRINKDATABASE

B.DBCCSHRINKFILE

C.ALTERDATABASE

D.CREATESCHEMA

30.软件生存期的()阶段的最终结果是提供一个可作为设计基础的系统

规格说明书。

A.规划B.需求分析C.设计D.程序编制

四、C语言程序设计题(10题)

31.程序test.c的功能是:计算出自然数SIX和NINE满足条件

SIX+SIX+SIX=NINE+NINE的个数ent,以及满足此条件的所有SIX与

NINE的和SUMO请编写函数countValue实现程序的要求,最后main

函数调用函数writeDAT把结果ent和sum,输出到文件Out.dat中。

其中的S,I,X,N,E各代表一个十进制数字,允许代表的数字相同,

但s和N不能为0。例如:944+944+944=1416+1416注意:部分源程序

存放在test.c文件中。

请勿改动主函数main和输出数据函数writeDAT的内容。

Iinclude<stdio.h>

2intent,sum;

3voidwriteDAT();

4voidcountvalue()

5

6

7

8voidmam()

(

10ent-sum,0;

countvalue();

12printf("满足条件的个数7d\M,ent);

13printf(”满足条件所有的SIX与NINE的和=*d\n"sum);

14writeDATO;

15I

/♦把彷架cm和cum・出JR文件ouLdat中•/

16voidwriteDAT()

17

18FILE・fp;

19fp-fopen(*out.dat",Hww);〃以只写的方式打开文件out.dat

20fprintf(fp,”d\nQd\n",ent,sure);〃把皓果cmIDMim♦出到文件ouutet中

21fclose(fp);〃关闭文件omdaf

22

32.程序test.C的功能是:利用以下所示的简单迭代方法求方程

cos(x).x=0的一个实根。迭代公式:Xn+l=cos(xn)(n是迭代次数)

迭代步骤如下:

⑴取XI初值为0.0;

(2)XO=X1,把XI的值赋给x0;

⑶Xl=cos(x0),求出一个新的xl;

(4)若x0.XI的绝对值小于0.000001,执行步骤(5),否则执行步骤(2);

(5)所求XI就是方程cos(X)-X=0的一个实根,作为函数值返回。

请编写函数countvalue实现程序的功能,最后main函数调用函数

writeDAT把结果输出到文件Out.dat中。注意部分源程序存放在test.C

文件中。

请勿改动主函数main和输出数据函数writeDAT的内容。

!*include<math.h>〃表示这个拶序中要引用vu&.o的数学薛的故

;«include<stdiOeh>〃赛示这个修序要引用v6・O的标准■入•出由效

!voidwriteDAT():〃sxlt俗DAT《,成我的说明诵句

4•doublecountValuef)

5

6

7

8•main()

9;(

B〃在■上■示方程的个文根

10;printf(\nrcountValuoO);JW•

〃在修示求fl!这个实的精度

11!printf(*%f\n*rcos(countvalue())-countvalue());6RIH

12;writeDAT();〃死船果■出用文件out4中

13;>

!/・m«!FcDAT0把站燮♦出到文件outdtf中•/

14;voidwriteDAT()

15!(

16•FILE-wf;〃定义文的Wt父

17;«£open("out.dat;//以只写的方式打开ouc.da。井使指向这个文件

〃无求利的实帙耳人川文件05

18!fprlntf(wfrcountValueO);

19ifclose(wf);〃美用文件out.g。

20j)

33.已知数据文件INI.DAT和IN2.DAT中分别存有100个两位十进

制数,并且已调用读函数readDat把这两个文件中的数存入数组a和b

中,请考生编制一个函数jsVal,实现的功能是依次对数组a和b中的数

按条件重新组成一个新数并依次存入数组C中,再对数组C中的数按

从小到大的顺序进行排序,最后调用输出函数writeDat把结果C输出到

文件out.dat中。组成新数的条件:如果数组a和b中相同下标位置的

数均是奇数,则数组a中十位数字为新数的千位数字,个位数字仍为新

数的个位数字,数组b中的十位数字为新数的百位数字,个位数字为新

数的十位数字,这样组成的新数并存入数组C中。

例如m123t24152115

bt3245172718IS

ct34SI12751155

播序Re*115512753451

注意i部分源程序存在文杵中・

程序中已定义s叩00卜b(100)和500]・

请勿改动数据文件IN1.DAT和IN2.DAT中的任何效榭.主曲数num().建浦敷reMDstO和"卡数wnteDuO的内霖.

1'•include<stdio.h>

2;IdefineMAX100

3;intatMAXHb(MAXJ,c(MAXJ/

4,intent•0;/•奇•初含的个敏•/

5jvoidjsVdl()

6\1

7t

8!)

;/・纪**(文件IN1DAT司M.DAT中的100个育粒十堪.依存入脓耻•国b中♦/

9!voidreadDat()

intit

FILE・fp;

fp-fopen("lnl.datM,wr");

ford-0;1<MAX;

tscanf<fp,"td",ia(11);

fclose(fp);

fp•fopen(-102.cUt","r*);

for(i-0;1<MWC;

fsc&nf(fp.Fd".«b(iD;

fclose(fp);

I

voidmainO

23

24mtitvoidwriteDat();

25ford-0;1<MXXj

26c(l]•0;

27readDat(>;

29jsVal();

29ford-0;1<MAX“C110;

30prlntf<w%d\n",c(i));

31writoDatOi

32)

/•把帧果数期C,出到文钟M3中•/

33voidwriteDat()

34'

35;FILE*tp;

36!mt1/

37jfp-fopen("out"w">;

381ford-0;1<MAX“c(i)>0;iP

39;fprlntf(fp,*ld\n",c(iH;

40;fclose(fp);

34.函数ReadDat实现从文件in.dat中读取一篇英文文章存入到字符串

数组XX中;请编制函数SortCharD,其函数的功能是:以行为单位对

字符按ASCII码从大到小的顺序进行排序,排序后的结果仍按行重新存

入字符串数组XX中。最后main函数调用函数WriteDat把结果XX输

出到文件out.dat中。

例:原文:dAe,BfC.

CCbbAA结果:fedCBAbbCCAA原始数据文件存放的格式是:每行

的宽度均小于80个字符,含标点符号和空格。

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

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

的内容。

tinclude<stdio.h>

tinclude<string.h>

charxx[50](SOJj

4unsignedintmaxline■0;/•文章的总行数•/

5intReadDat(void);

6voidWriteDat(void);

7voidSortCharD(void)

B

9

10

11voidmain()

12(

13if(ReadDat())

14(

15printf("数据文件in.dat不能打开!\n\007«);

16return;

17

18SortCharD();

19WriteDat0;

20I

从文件rnxbt中读取一篇英文文拿存入*字衿席数iaXX中•/

21intReadDat(void)

22(

23FILE

24inti•0;

25char*p;

26if((fp-fopen(win.datR,**r"))—NULL)

27return1;〃如果文件ln.dat内*为空.Nifi®I

/•当从文件ln.dat中设以79个字符存入xx[11没才命课发生叼,执行・环体中的谡句•/

28while(fgets(xx[i],80rfp)!•NULL)

29(

30p•strchr(xxFi),*\n*);〃在学校申中叁找回车换行将第一个西配的位置

31if(P)*p・0;〃如果p的值不为零.他苴值设置为0

32i++;〃行变量加1

33)

34maxline•1;〃JC文章的◎行微M蛤攵(KmaitUne

35(close(fp);

36return0;

37I

/•ICMJRxx・出到文件oui.<ht中・/

38»voidWriteDat(void)

39;(

40!FILE*fp;

41iunsignedinti;

42;fp-fopen(*out.dat*\*ww);

43!for(1-0;1<maxline;

44j(

H

45;printf(ts\n**rxx(i]);

46!fprintf(fp*"ls\n",xx(i]);

47i1

48;fclose(fp);

49;}

35.已知数据文件in.dat中存有300个四位数,并已调用读函数readDat

把这些数存入数组a中,请编制一数jsValue,其功能是:求出个位数上

的数减千位数上的数减百位数上的数减十位数上的数大于零的个数ent,

再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位

数按从大到小的顺序进行排序。最后main函数调用写函数writeDat把

数组b中的数输出到文件Out.dato

例如i1239.9.1-2-3X),则该数满足条件存入数组6中・且个数cn«cnt+L

8129.9-8-l-2<0,则该数不满足条件忽略・

注意:部分源程序存在lestc文件中•

程序中已定义数组:a[300J,b[300],已定义我最:ent

请勿改动数据文件m.dat中的任何数报、主函数main()、读语数neadDrtO和写话数writeDa")的内容.

*include<stdio.h>

inta[300),b(300)fcnt-0;

3voidreadDat();

voidwriteDat();

5voidjsValue<)

6

7

8

9main()

10

11inti;

12readDat();

jsValueO;

14writeDat();

-R

15printf("cnt%d\n/ent);

16for(i•0;1<ent;i♦十)

17printf(*b(IdjMdV®"#ab(il);

18

19voidreadDat()

20

21FILE*fp;

22int1;

wRHw

23fp=fopen(in.datrr)

24for(i»0;i<300;“♦)

25fscant(fp,&a(1

26fclose(fp);

21

28voidwrlteDat()

29

30FILE,fp;

31int1;

ww

32fp=fopen(out.datr;

R

33fprlntf(fp,*%d\nrent);

34for(i-0;i<ent;1>♦♦)

35fprintf(fp,fd\n,b(i))

36fclose(fp);

37

36.函数ReadDat实现从文件in.dat中读取一篇英文文章,存入到字符

串数组XX中;请编制函数eneryptChar,按给定的替代关系对数组XX

中的所有字符进行替代,仍存入数组XX对应的位置上,最后调用函数

WriteDat把结果xX输出到文件out.dat中。

替代关系:f(p)=p*Umod256,mod为取余运算,P是数组XX中某一

个字符的ASCII值,f(p)是计算后的无符号整型值C主意:中间变量定义

成整型变量),如果计算后f(p)值小于等于32或f(p)对应的字符是大写

字母,则该字符不变,否则用f(p)替代所对应的字符。

注意:部分源程序存放在test.c文件中,原始数据文件存放的格式是:

每行的宽度均小于80个字符,含标点符号和空格,并也按此替代关系

进行处理。

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

1♦include<stdio.h>

2•include<string.h>

3♦include<ctype.h>

4unsignedcharxx[50][80];

5intmaxline-0;/♦文章的总行数•/

6intReadDat(void);

7voidWriteDat(void);

8voidencryptChar()

9I

10unsignedintval;

11

12

13voidmain()

14(

15if(ReadDatO)

16(

17printf("数据文件m.dat不佬打开!\n\007");

18return;

19)

20encryptChar();

21WriteDat();

22I

,♦从文付mdal中口:取一■荚文文・・存人父字符中数mu中•/

intReadDat(void)

24

25FILE*fp;

26inti-0;

27unsignedchar*p;

28if((fp-fopen(-in.datH,)-NULL)

29return1;

30while(fgets(xx(1),80,fp)-NULL)

31I

32p=strehr(xx(i)#*\n*);

33if(p)*p-0;

34If

35

36maxline-i;

37fclose(fp);

38return0;

39>

/•«««u■出到文件outdai中•/

40voidWriteDat(void)

41

42FILE*fp;

43inti;

44fp■fopenfout.dat**,W

45for(i»0;i<maxline;1*♦)

46(

47printf("laXn",xx{iB;

48fprintf(fprFs\n",xx(i]);

49

50fclose(fp);

51

37.函数readDat是从文件in.dat中读取20行数据存放到字符串数组

xx中(每行字符串长度均小于80)°请编制函数jsSort,其函数的功能是:

以行为单位对字符串变量的下标为奇数的位置上的字符按其ASCII值

从小到大的顺序进行排序,下标为偶数的位置上的字符仍按原来位置存

放,排序后的结果仍按行重新存入字符串数组)XX中,最后调用函数

WrriteDat把结果xx输出到out.dat文件中。

例如:位置01234567

源字符串hgfedcba

则处理后字符串hafcdebs

注意,部分源程序存在EC文件中.

请勿改动数据文件in.dat中的任何数据、主的敷mainO.I(的数re&dDat()和耳函效writuDat。的内容.

1!।Iinclude<stdio.h>

2I•include<string.h>

3•voidreadDat();

4!voidwriteDat();

5;charxx(20)(801:

6!voidjsSort()

7!(

eJ

9!}

101voidmain()

12!readDat();

13;jsSort();

14jwriteDat();

15i)

;。从文件1中读取20行数据存放到字符串长电XX中”

16!voidreadDat()

17;(

18■FILE-in;

19jint1-0;

20;char*p;

21;in•/open("in.ddL.,,r");

22jwhile(1<20“fgets(xx[1]t80.in)NULL)

23;(

241p-strchr(xx[i]9•\n*);

25;if(p)*p■0;

26•

27j}

28;fciose(in);

29!)

/♦把姑果XXa出到OUt&!文件中•/

30;voidwriteDat()

32.FILE*out;

33;int1;

wwR

34•out■fopen(out.datew");

35;for(1-0;i<20;I**)

36?(

37•printf(w%s\nH,xx(i]);

38;fprintf(out,"%s\nw,xx[1]);

39;)

40jCclose(out);

41J)

38.函数ReadDat实现从文件in.dat中读取一篇英文文章,存入到无符

号字符串数组XX中;请编制函数encryptChar,按给定的替代关系对数

组XX中的所有字符进行替代,其替代值仍存入数组)xx的对应的位置

上,最后调用函数wmeDat把结果xX输出到文件out.dat中。

替代关系:f(p)=p*llmod256,mod为取余运算,P是数组xx中某一个

字符的ASCIH1,f(p)是计算后无符号的整型值(注意:中间变量定义成

整型变量),如果计算后f(p)值小于等于32或f(p)对应的字符是小写字

母,则该字符不变,否则用f(p)替代所对应的字符。

注意:部分源程序存放在test.c文件中,原始数据文件存放的格式是:

每行的宽度均小于80个字符,含标点符号和空格,并也按此替代关系

进行处理。

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

内容。

1;finclude<stdio.h>

2!tinclude<string.h>

3j•include<ctype.h>

4•unsignedcharxx(50](80);

5!intmaxline«0;/•文章的总行效•/

i

6;intReadDat(void);

7JvoidWriteDat(void);

8•voidencryptChar()

9

10

11

12•voidmainO

13!(

14;if(ReadDatO)

15i{­

16printf「数据文件in.dat不能打开!\n\007w);

17return;

18i»

19jencryptCharO;

20|WriteDat();

21

;,♦从文件m&i中读取一・英文文章.存入更无符号字料申依祖口中〃

22;intReadDat(void)

23!I

24;FILE*fp;

25Jinti-0;

26iunsignedchar*p;

27if((fp-fopen("in.daf,"1"))—NULL)

28return1;

29\while(fgeta(xx11),80*fp)!•NULL)

30;

31!p-strchr(xx(l],,Xn*);

32;if(p)*p■0;

向if

34)

35;maxline■i;

36!fclose(fp);

371return0;

38JI

八把怖果H■出JM文件OUL&l中”

39j

voidWriteDat(void)

40:(

41!FILE*fp;

42;int1;

43:fp-fopen("out.datw,**wH);

44ifor(i-0;i<maxline;1♦>)

45(

46!0w

printC(%s\nrxx[i]);

47fprintf(fpr7s\n”,xx(ij);

回)

49!fclose(fp);

50;

39.已知数据文件in.dat中存有200个四位数,并已调用读函数readDat

把这些数存入数组a中,请考生编制一函数jsVal,其功能是:把一个四

位数的个位数位置上的值减去千位数位置上的值再减去百位数位置上

的值最后减去十位数位置上的值,如果得出的值大于等于零且原四位数

是偶数,则统计出满足此条件的个数ent,并把这些四位数按从小到大

的顺序存入数组b中,最后调用写函数writeDat把结果ent以及数组b

中符合条件的四位数输出到Out.dat文件中。

注意:部分源界序存在teste文件中・

程序中已定义数组:«200卜bf200],已定义变量।ent

请勿改动数据文件Edit中的任何数据.主函ftmainO、读函数nadDatO和写函数writd>at()的内容・

1!tinclude<stdio.h>

2iIdefineMAX200

3inta[MAX]tb(MAXI/ent

4voidwriteDat();

5voidjsVal()

7

8

9voidreadDat()

10(

11Inti;

12FILE*fp;

13fp«fopenfin.dat**,wr")j

14for(i-0;i<MAX;i++)

15fscanf(fp,"%d".[i!);

16fclose(fp);

17}

18voidmain()

19

20inti;

21readDat();

22jsVal();

23printf("涸i足条件的ent);

24for(i-0;i<ent;i-

25printfCtdLblil);

26printf;

27writeDatO;

26]

29voidwriteDat()

30(

31FILEafp;

32int1;

33fp•fopen("out.datw,;

34fprintf(fp#d\n".cnt>;

35for(1-0;i<ent;W)

36fprintf(fp,”d\rT,b|i|);

37fclose(fp);

38

40.程序test.c的功能是:选出1000至5000范围内(包括1000、5000)

符合下面条件的四位自然数。条件是:千位数字与百位数字之和等于十

位数字与个位数字之和,且千位数字与百位数字之和等于个位数字与千

位数字之差的整10倍。计算并输出这些四位自然数的个数ent以及这

些数的和sum。请编写函数countValue实现程序的要求。最后main函

数调用函数writeDAT把结果crlt和sum输出到out.dat文件中。

注意:部分源程序存放在tCSLC文件中.

请勿改动主函数nuin()和输出数据函数wriieDAT。的内容.

1!finclude<stdio.h>

2jintcntrsum;〃定义气用全局殳■cnu和eiun

3;voidwriteDATO;

4!voidcountvalue()

8;voidmain()

9

ent-sum=0;〃蛤全局变・cnc・川足M初值为。

countvalue();〃,用由数counWu©力,实现JK目要求的功能

12print"”满足条件的自然数的个数一%d\n*rcnt);

M

13printf("满足条件的自然数值的和■%d\nrsum);

14writeDATO;

voidwriteDATO

18FILE・fp;

19fp■fopen(*out.daf*,;

,

20fprintf(fp,*%d\n%d\n"/ent,sum);

21fclose(fp);

22

五、设计与应用题(2题)

41.某网上商城因为业务发展,原有的系统不能很好的满足需要,因此采

用了一套新的经营管理系统,此系统使用SQLServer2008数据库管理

系统。此系统上线运行前,需将商场原有的数据导入到新系统中。原有

系统使用SQLServer2000,数据结构与新系统不完全一致。因此需要把

数据从SQLServer2000导入到SQLServer2008中,为了保证数据一

致性,数据导入过程中要求暂停业务且必须在3小时内完成。(1)在原

有数据导入新系统的过程中,实施人员发现原有数据量很大,导人数据

需要四小时,业务无法接受。经分析某工程师认为,数据导入过程中的

数据库I/O很高,但导入数据的程序本身对系统资源占用率很低。该工

程师建议将数据导入过程中的数据恢复模式从“完整”模式改为“简单”

模式以提高数据导人速度;而另一位工程师则认为此方法未必能提高数

据导入速度,而且还可能导致数据丢失,不建议使用此方法。请分析此

方法是否能够提高数据导入速度并给出理由,同时分析此操作的数据丢

失风险。(5分)(2)在成功导入历史数据后,此系统顺利上线运行。在

上线运行的第一周,发现数据库服务器的CPU使用率很高,达到近90%,

高峰期间达到100%,且系统内存占用率达到90%,但系统I/O很轻。

业务人员反应系统操作速度很慢。为了提高系统运行速度。在不修改应

用程序的前提下,两位工程师提出了不同的解决办法:I.为服务器增

加2颗CPU,缓解CPU使用率很高的问题;II.为服务器增加一倍内

存,缓解内存使用率很高的问题。考虑成本,现阶段只能按照一种方案

实施。请指出在现有情况下,哪种方案更合理并给出理由。(5分)

42.设在采用SQLServer2008数据库的图书馆应用系统中有三个基本表,

表结构如下所示,请用SQL语句完成下列两个查询:BORROWER:借

书证号姓名系名班级12011106蒋辉文计算机系12-112011107王丽计算

机系12-112012113范园园信息系12-2LOANS:借书证号图书馆登记号

借书日期12011106T0010012012.01.0212012113

TOO10262013.02.O6BOOKS:索书号书名作者图书登记号出版社价格

TP3U.1数据库系统李明T001001科学19.00TP311.2二级C语言王

珊丁001026人民32.00(1)检索至少借了5本书的同学的借书证号、

姓名、系名和借书数量。(5分)(2)检索借书和王丽同学所借图书中的

任意一本相同的学生姓名、系名、书名和借书日期。(5分)

六、单选题[1分](2题)

43.以下关于两段锁协议的原理叙述错误的是()。

A.每个事物的执行程序划分两个阶段,加锁阶段和解锁阶段

B.加锁阶段事务可以申请获得任何数据项上的任何类型的锁,允许释放

任何锁

C.在解锁阶段,事务可以释放在任何数据项上任何类型的锁,但是不能

再申请任何锁

D.每个事务开始执行后就进入了加锁阶段

44.在SELECT语句中,以下有关ORDERBY子句的叙述中不正确的是

()o

A.ORDERBY子句可以对多个列进行排序

B.SELECT语句中,ORDERBY只能在所有其他子句之后作为最后一个

子句出现

C.子查询也可以使用ORDERBY子句

D.在视图中可以使用ORDERBY子句

参考答案

LA解析:在TCP/IP网络中,每个网络地址的前缀必须是惟一的,为确

保地址的网络部分在全球互联网上是惟一的,所有的Internet地址都由

Internet名字和编号分配协会(ICANN)来负责,大多数都不会直接和改

机构联系,而是与本地的Internet服务提供商(ISP)联系。

2.D

这种循环等待的现象称为死锁。

3.D解析:本题中关系模式Supplier存在如下一些问题:数据冗余。一

个供应者每供应一种货物,其地址就要重复一次。更新异常(不一致性的

危险)。由于数据冗余,有可能我们在一个元组中更改了某供应者的地址,

而没有更改另一个元组中同一供应者的地址,于是同一供应者有了两个

不同的地址,与实际情况不符。插入异常。如果某供应者没有供应任何

货物,则我们无法记录他的名称和地址,事实上,Sname和Item构成关

系模式Supplier的一个码,码值的一部分为空的元组是不能插入到关系

中的。删除异常。如果一个供应者供应的所有货物都被删除,则我们无

可奈何地丢失了该供应者的名称和地址。

4.A解析:事务应该具有4个属性:原子性、一致性、隔离性和持续性。

原子性:一个事务是一个不可分割的工作单位,事务包括的诸操作要么

都做,要么都不做;一致性:事务必须是使数据库从一个一致性状态改

变到另一个一致性状态"鬲离性:一个事务的执行不能被其他事务干扰;

持续性:持续性也称永久性,指一个事务一旦提交,它对数据库中数据

的改变就应该是永久的。

5.B解析:系统产生死锁的4个必要条件是:1、资源的独占使用;2、

资源的非抢占分配;3、资源的循环等待;4、资源的部分分配。

6.C解析:解决内存碎片的通常的手法,是把所有的空闲区合并成一片

连续区域,这一过程称为紧凑。

7.A规范化理论是数据库逻辑设计的指南和工具,关系规范化问题在

1970年Godd提出关系模型时就同时被提出来,关系规范化可按属性间

不同的依赖程度分为第一范式,第二范式,第三范式,Boyce-Codd范式

以及第四范式。

8.C解析:栈是一种特殊的线性表,只能在固定的一端进行插入和删除

操作。栈的运算是一种后进先出的操作原则。本题中,入栈序列与输出

序列的倒置是对应的,即输出序列的P1对应入栈序列的n,输出序列

的p2对应入栈序列的n-1,由此可推出,加pi应入栈序列的n-i+1。

9.C解析:数据字典是系统中各类数据描述的集合,数据字典通过对数

据项和数据结构的定义来描述数据流和数据存储的逻辑内容。

10.D解析:数据独立性是数据库领域的一个常用术语,包括数据的物理

独立性和数据库逻辑独立性。数据的物理独立性是指用户的应用程序与

存储在磁盘上的数据库中的数据是相互独立的。也就是说,数据在磁盘

上的数据库中是怎样存储的,是由DBMS管理的,用户程序不需要了

解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改

变时,应用程序不用改变。数据的逻辑独立性是指用户的应用程序与数

据库的逻辑结构是相互独立的,也就是说,数据的逻辑结构改变了,用

户程序也可以不变。

11.SQLServerProfiler数据库引擎优化顾问

12.日志日志

13.255.255.255255【解析】在路由表中,对于特定主机路由,可采用255;

255.255255作为子网掩码,采用目的主机IP地址作为目的地址:对于

默认路由,则采用0.0.00作为子网掩码,默认路由器的地址作为目的地

址。

14.跳数【解析】向量一距离(V-D)路由选择算法,也称为Bellman-Ford

算法。其基本思想是路由器周期性地向其相邻路由器广播自己知道的路

由信息,用于通知相邻路由器自己可以到达的网络以及到达该网络的距

离(通常用“跳数”表示),相邻路由器可以根据收到的路由器修改和刷新

自己的路由表。

15.索引结点【解析】在混合式P2P网络中,根据结点的能力可将结点

分为用户结点、搜索结点和索引结点3种类型。

16.流量控制【解析】网状型拓扑的主要优点是系统可靠性高。但是,

网状型拓扑的结构复杂,必须采用路由选择算法与流量控制方法。

17.控制器控制器解析:以存储程序原理为基础的冯・诺依曼结构的计算

机,一般都由5大功能部件组成,它们是:运算器、控制器、存储器、

输入设备和输出设备。运算器对数据进行算术运算和逻辑运算;控制器

控制各部分自动协调地工作,完成对指令的解释和执行;存储器存放程

序和数据;输入设备是外部向计算机传送信息的装置;输出设备是将计

算机内部二进制形式的信息转换成人们所需要的或其他设备能接受和

识别的信息形式。

18.进程进程解析:进程是具有一定独立功能的程序关于某个数据集合

上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。

进程可分为系统进程和用户进程两类。

19.协议规格说明【解析】在0S1中,采用了三级抽象,即体系结构、

服务定义和协议规格说明。

20.物理物理解析:数据库设计的四个阶段是:需求分析、概念设计、

逻辑设计和物理设计。其中物理设计阶段的主要任务是:对数据库中数

据在物理设备上的存放结构和存取方法进行设计。“为哪些表、在哪些字

段上、建什么样的索弓I”便是为数据库设计索引存放的方法。

需求分析阶段的任务是:对现实世界要处理的对象(组织、部门、企业等)

进行详细调查,在了解新系统的概况、确定新系统功能的过程中,收集

支持系统目标的基础数据及其处理方法。

概念设计的任务是产生反映企业组织信息需求的数据库概念结构,即概

念模型。

逻辑设计的目的,是从概念模型导出特定的DBMS可以处理的数据库

的逻辑结构(数据库的模式和外模式),这些模式在功能、性能、完整性、

一致性约束及数据库可扩充性等方面都满足用户的要求。

21.C

22.B解析:允许删除基本表中的元组的权限是DELETEo

23.D

24.D

25.C

26.C

27.B解析:需要查询的是姓名和年龄属性,故主句为SELECTSNAME,

AOEoWHERE子句中可以使用BETWEEN进行查询,BETWEEN指

定允许取值的范围,AND前面是低值,后面是高值。年龄在20到23岁

之间的条件表达式应为BETWEEN20AND23o

28.C

29.A

30.B

31.【审题关键句】计算满足条件的sIX+sIX+sIx-NINE+NINE的SIX和

NINE的个数以及满足此条件所有的SIX与NINE的和,S,I,X,N,

E各代表一个十进制数字。

\n【解题思路】

\n①定义整型变量S,i,X,n,e,six,nineo

\n②在第一层for循环中,因为S的值不能为0,所以循环变量s从1开

始,依次递增直到其值等于10,退出循环。在第二层for循环中,循环

变量i从。开始,依次递增直到其值等于10,退出循环。在第三层for

循环中,循环变量X从。开始,依次递增直到其值等于10,退出循环。

在第四层for循环中,因为n的值不能为0,所以循环变量n从1开始,

依次递增直到其值等于10,退出循环。在第五层for循环中,循环变量

e从0开始,依次递增直到其值等于10o

\n③设置完所有for循环条件后,在循环体中,由变量S的值乘以100,

变量i的值乘以10,以及变量X组成一个三位数赋给变量six,由变量

n的值乘以1000,变量i的值乘以100,变量n的值乘以10,以及变量

e组成一个四位数赋给变量nine,再用if条件语句判断,如果三倍的six

等于两倍的nine,则计数变量ent加1,把six与nine的和累加到变量

sum,同时在屏幕上,输出six与nine的值。

\n【参考答案】

\n

\n

\n

32.\n[审题关键句】Xn+l=cos(Xn)的迭代计算。

\n【解题思路】

\n①因为方程cos(x).x=0的根为实数,所以定义两个双精度型变量xO,

xlo并把变量xl的初值设为0.0。

\n②根据题目中给出的求方程一个实根的迭代算法,在while循环中,

首先把变量xl的值赋给xO,然后利用表达式cos(xO)

\n求出一个值xl,再调用vc6.0的求绝对值的库函数fabsO,判断如果

xO与xl差的绝对值小于0.000001,就认为xl的值是方程cos(x).x=0

的一个实根,此时退出循环,把xl的值返回。

\n【参考答案】

\n

33.\n【审题关键句】数组相同下标位置上的奇数,数组a中十位数等于

新数的千位数字,个位等于新数个位数字,数组b中的十位等于新数的

百位数字,个位数字等于新数的十位数字,存入数组,从小到大排序。

\n【解题思路】

\n①定义整型循环变量i、j和局部变量trap。

\n②在for循环语句中,循环变量i从。开始,依次递增直到其值等于或

大于MAX,用if条件语句判断如果a用和b[j]同时为奇数,由a[i]的十

位数字为新数的千位数字,个位数字为新数的个位数字,b[i]的十位数字

为新数的百位数字,个位数字为新数的十位数字,把这个新组成的数存

入数组元素c[cn],同时数组下标变量cn加1。

\n③在第一层for循环语句中,循环变量i从0开始,依次递增直到其值

等于或大于ent,在第二层循环中,循环变量{从i+1开始,依次递增直

到其值等于ent,用if条件语句判断如果数组元素c[i]大于c[j],则两者

进行互换,实现数组C中的数按从小到大的顺序进行排序。

\n【参考答案】

\n

\n

34.【审题关键句】以行为单位对字符按从大到小排序,结果仍按行重新

存入字符串数组中。

\n【解题思路】

\n①首先定义字符变量ch和无符号整型变量i、j、ko

\n②对字符二维数组XX,在第一层for循环中,变量i从0开始,依次

递增直到其值等于maxline,实现对文章每行的扫描,在第二层for时循

环中,变量j从0开始,依次递增直到其值等于strlen(xx[i]),即第i行

的长度。在第三层循环语句中,变量k从j开始,依次递增直到其值等

于strlen(xx[i]),对每一行中的数组元素xx[il[j],XX[i][k]按照它们的

ASCII码值的大小进行比较,如果xx[i][j]的ASCII码小于XX[i][k]的

ASCII码,则两者交换,实现整篇文章中的字符按ASCII码值从大到小

的顺序进行排序。

\n【参考答案】

\n

\n

35.\n【审题关键句】个位-千位-百位-十位数大于零的个数,把所有满足

此条件的数依次存入数组,按从大到小的顺序排序。

\n【解题思路】

\n本题类似第9套试题

温馨提示

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

评论

0/150

提交评论