2023年辽宁省铁岭市全国计算机等级考试数据库技术真题(含答案)_第1页
2023年辽宁省铁岭市全国计算机等级考试数据库技术真题(含答案)_第2页
2023年辽宁省铁岭市全国计算机等级考试数据库技术真题(含答案)_第3页
2023年辽宁省铁岭市全国计算机等级考试数据库技术真题(含答案)_第4页
2023年辽宁省铁岭市全国计算机等级考试数据库技术真题(含答案)_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

2023年辽宁省铁岭市全国计算机等级考试

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

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

一、1.选择题(10题)

i.在数据系统中,当总体逻辑结构改变时,通过改变什么,使局部逻辑

结构不变?从而使建立在局部逻辑结构之上的应用程序也保持不变,称

之为数据和程序逻辑独立性。

A.应用程序B.逻辑结构和物理结构之间的映像C.存储结构D.局部逻

辑结构到总体逻辑结构的映像

2.为了保证CPU执行程序指令时能正确访问存储单元,需要将用户程

序中的逻辑地址转换为运行时可由机器直接寻址的物理地址,这一过程

称为O

A.地址分配B.地址计算C.地址映射D.地址查询

3.在并发控制中引入两段锁协议的目的是

A.为了解决并行执行时可能引起的死锁问题

B.为了解决并行执行时可能引起的活锁问题

C.为了解决交叉调度的不可串行化问题

D.为了解决不同的调度导致不同的运行结果

4.下列哪项工作属于数据库设计的运行与维护阶段?o

A.数据库的重新组织设计B.事务控制C.故障恢复方案设计D.为数据

库增加新功能

5.有一个网络数据库应用系统,其中一台计算机A存有DBMS软件、

所有用户数据和应用程序,其余各节点作为终端通过通信线路向A发

出数据库应用请求,这种方式属于

A.集中式数据库系统B.并行数据库系统C客户机/服务器数据库系统

D.分布式数据库系统

6.下述不属于概念模型应具备的性质是

A.有丰富的语义表达能力B.易于交流和理解C.易于变动D.在计算机

中实现的效率高

7.逻辑设计主要是把概念模式转换成()

A.DBMS能处理的模式B.与DBMS无关的模式C.层次结构模型D.子

模式

8.下面关于网络信息安全的一些叙述中,不正确的是

A.网络环境下的信息系统比单机系统复杂,信息安全问题比单机更加难

以得到保障

B.电子邮件是个人之间的通信手段,有私密性,不使用软盘,一般不会

传染计算机病毒

C.防火墙是保障单位内部网络不受外部攻击的有效措施之一

D.网络安全的核心是操作系统的安全性,它涉及信息在存储和处理状态

下的保护问题

9.以下不属于实时系统的特征。

A.及时性B.可靠性C.专用系统D.通用系统

10.不同的实体是根据什么来区分的?

A.所代表的对象B.实体名字C.属性多少D.属性的不同

二、填空题(10题)

11.Oracle数据库系统中快速生成报表的工具是Oracle。

12.计算机是一类智能机器,这是因为它除了能完成算术运算外还能完

成某些【】。

13.一般来说,商品化的数据库管理系统,如Oracle,其产品主要包括

数据库服务器软件、软件和开发工具三类。

14.有关键码值为15,25,40的三个结点。按所有可能的插入顺序去构

造二叉排序树,能构造出_____棵不同的二叉排序树。

15.散列法存储中处理碰撞的方法主要有两类:拉链法和。

16.关系模式分解的等价性标准主要有两个,分别为分解具有和

分解保持函数依赖。

17.在SQL语言中,允许获得某种权限的用户把这种权限再转授给其他

用户,可以在GRANT语句中指定_____子句。

18.在嵌入式SQL中,为了区分SQL语句和主语言语句,在每一个SQL

语句的前面加前缀O

19.因特网主要由通信线路主机和信息资源四部分组成。

20.SQLServer2000支持客户机/服务器体系结构,它由[]组件、服务

器端组件和通信组件三部分组成。

三、单选题(10题)

21.下列存储管理方案中,()允许动态扩充内存容量。

A.固定分区B.可变分区C.页式D.虚拟页式

22.ODBC是()

A.客户机与服务器之间的接口标准B.数据库查询语言标准C.数据库

应用开发工具标准D.数据安全性标准

23.用数组A[O...m-l]存放循环队列的元素值,若其头尾指针分别为front

和rear,则循环队列中当前元素的个数为()

A.(rear-frontm)modm

B.(rear-front1)modm

C.(rear-front-1m)modm

D.(rear-front)modm

24.下面关于关系的性质描述正确的是

A.每列中的分量可以来自不同的域

B.一个关系中可以有相同的元组

C.每一个分量必须是不可分的数据项

D.不同列的分量必须来自相同的域

25.“把查询sc表和更新sc表的grade列的权限受予用户userl”的正确

SQL语句是()。

A.GRANTSELECT,UPDATE(grade)ONTABLEscTOuserl

B.GRANTSELECTsc,UPDATEsc,gradeTOuserl

C.GRANTSELECT,UPDATEONTABLEsC.gradeTOuserl

D.GRANTSELECTONTABLEsc,UPDATEONTABLEsc(grade)TO

userl

26.E-R图是数据库设计的工具之一,它适用于建立数据的()

A.中继器B.桥接器C.路由器D.网关

27.关于水平分割说法错误的是:()

A.根据行的使用特点进行分割

B.分割之后所有表的结构都相同。

C.而存储的数据不同。使用并(Union)操作。

D.使用连接(Join)操作

28.SQLServer2008系统数据库MASTER的主要功能是

A.控制用户数据库和SQLServer的整体运行

B.为创建新的用户数据库提供模板或原型

C.为临时表或其他临时工作区提供存储区域

D.为调度信息和作业历史提供存储区域

29.对具有相同关键字的关系模式,如果他们的处理主要是查询操作,

且常在一起,可将这列关系模式进行什么操作?

A.模式评价B.优化模式C.合并D.分解

30.操作系统在控制和管理进程的过程中,涉及到()这一重要数据结构,

这是进程存在的惟一标志。

A.FCBB.FIFOC.FDTD.PCB

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

31.将文件in.dat中的200个整数读至数组XX中。请编制jsValue函

数,要求:求出数组XX中的数值为奇数的个数cntl和数值为偶数的个

数cnt2以及数组XX下标为奇数的元素值的算术平均值pjo

结果cntl,cnt2,pj输出到out.dat中。注意:部分源程序存在test.c

文件中。请勿改动数据文件in.dat中的任何数据、主函数main、读函

数read_dat和输出函数writeDat的内容。

•include<stdio.h>

;IdefineN200

3,intcriticcnt2rxx(N);

4jfloatpj;〃平均值

5•voidwriteDat();

6!voidjsValuet)

8

9

;/•road_^at(intxxlNJ)/效利文件UL3中的200个,依诂至Ikfllu中•/

10voidreaddat(intxx(N))

inti.j;

13FILE*fp;

14fp-fopen<wm.dAt"<"r")

15;ford•0;i<20;i♦八

16!(

17ifor(j•0;j<10;

181I

19\fscanf(fp.Fd.”•4xx(i*〃从文件n&i中*取一个整敏〃入敷蛾元依xx]中

20jprintf("%d”,xx(iw10*j

21!)

22iprintf(*\nw);

23|]

24jfclose(fp);

26!voidmainO

27•I

28;road_dat(xx);

2”jsValueO;

30iprintf("VoXncntl-td,cnt2«td/pj«%6.2f\n"#cntl*cnt2rpj);

3i;writeDat();

32;»

}/,将计算饰家call.El・pj・出列outdai中•/

33\voidwriteDat()

34建

35;FILE*fw;

36:fw-fopen("out.datw,"ww);

;〃写入到

37!fprintf(fw,"%d\n%d\n%6.2f\n*9cntlrcnt2rpj)cm1,cm2.8outdaPp

38;fclose(fw);

39!

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

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

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

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

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

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

成整型变量),如果原字符的ASCII值是偶数或计算后f(p)值小于等于

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

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

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

进行处理。

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

♦include<stdio.h>

tinclude<string.h>

3Iinclude<ctype.h>

4unsignedcharxx(501tBO);

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

6intReadDat(void);

7voidWriteDat(void);

8voidencryptChar()

9!C

10;

iii)

请勿改动主函效main(),读函数ReMDatO和输出的敷WriteD叫)的内容.

1iInclude<stdlo.h>

•include<strlng.h>

3finclude<ctype.h>

4unsignedcharxx[50][80);

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

6intReadDat(void);

7voidWriteDat(void);

8voidencryptChar()

9

10

11

12voidmain()

13<

14if(ReadDat())

15

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

17return;

18)

19encryptChar();

20WriteDat();

21}

/•从文件m.dm中罐取一・英文文章,存入到字符事收物u中•/

22intReadDat(void)

23(

24FILETp;

25inti-0;

26unsignedcharep;

Hww

27if((fp-fopen(in.datrr"))-NULL)

28return1;

29while(fgets(xx[ilv80,fp)!-NULL)

30(

31p-strchr(xx[i]r*\n*);

32if(p)*p-0;

33i»;

34)

35maxline«1;

36fclose(fp);

37return0;

38)

/•北姑果XX・出现文件OUL&f中•/

39voidWrilcDat(void)

40(

41FILE#fp;

42int1;

43fp-fopen("out.dat**,HwH);

44for(i*0;i<maxline;,ii)

45(

46printfxx[i]);

w

47fprintf(fp,"%s\n,xx(i]);

48)

49fclose(fp);

50

voidmain()

13

14if(ReadDat())

15(

16printf文件in.dat不能打开!\n\0071*);

17return;

18

19encryptCharO;

20WriteDat();

21)

/•从文朴ns中途取一■英文文垂.存入X?朴由敷用XX中•/

22intReadDat(void)

23

24FILE・£p;

25inti•0;

26unsignedchar,p;

www

27if((fp*fopen(in.dat*rr))-NUIX)

28return1;

29while(fgets(xx[1]#80,fp)!-NULL)

30(

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

32if(p)*p-0;

33i+>

34}

35maxline■i;

36fclose(fp);

37return0;

38J

八和姑.里xx・出fl文和outdat中•/

39voidWriteDat(void)

40(

41FILEefp;

42inti;

wwM

43fp°fopen(*out.datfw);

44for(i*0;i<maxline;

45(

46printf(•'%s\nR,xx[i]);

47fprintf(fp#*%s\n*rxx[1]);

48)

49fclose(fp);

50

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

把这些数存入数组a中,请编制一函数jsvalue,其功能是:求出千位数

上的数加百位数上的数等于十位数上的数加个位数上的数的个数ent,

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

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

数组b中的数输出到文件out.dat中。

例如:7153.7*15+3,则该数满足条竹存入数扭b中.旦个数cnbcmM.

8129.8+1M2+9.则该故不满足条件忽略.

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

程序中已定义故组:[300].b(300b已定义变lbent

请勿改动数据文件mdal中的仟何数期.I函数main。.期函数readDaH)和写函故wnteDaM)的内容.

linclude<stdio.h>

inta[300)tbf300)tcnt»0;

3voidreadDat();

4voidwriteDat();

5jsValue()

6

7

8

9mainO

10(

11int1;

12readDat();

13jsValue();

14writeDat();

ww

15printf(cnt«%d\nrent);

16for(i*0;1<ent;—

17printfLb(

18

19voidreadDat()

20

21FILE#fp;

22int1;

0w

23fp-fopen(in.dat*rr*);

24ford-0;i<300;1+♦)

25fscant(fp,&a(i])z

26fclose(fp);

27)

28voidwriteDat()

29

30FILE#fp;

31inti;

32fp-fopen("out"w");

w

33fprintf(fp#*'%d\n/ent);

34for(i-0;i<ent;

35fprintf(fp/b(i]);

36fclose(fp);

37

34.编写一个函数flndStr(char*str,char*substr),该函数统计一个长度为

2的子字符串substr在另一个字符串str中出现的次数,该次数作为函数

值返回。例如,假定输入的字符串为”asdasasdfgasdaszx67asdmklo”,

子字符串为“as",函数返回值是6。

函数ReadWrite实现从文件indat中读取两个字符串,并调用函数findStr,

最后把结果输出到文件out.dat中。

注意:部分源程序存在test.c文件中。请勿改动主函数main和其他函

数中的任何内容,仅在函数findStr的花括号中

填入你编写的若干语句。

♦include<stdio.h>

tinclude<string.h>

3voidReadWrlte();

4intfindStr(char*3trrchar•substr)

5

6

7

8mainO

9

10charstr(81|,substr[3];

intn;

pr'ntfL输入原字符中:”);

13gets(str);

14pr—入「字符申:");

15gets(substr);

16puts(str);

17puts(substr);

18n-findStr(str,substr);

,

19prlntf(**n*%d\n"rn);

20ReadWrite();

21I

/•从文件huht中it取两个字符中,并•用雄依findSwO,■后钻果■出到文件out&t中•/

22voidReadWrite()

23(

24charstr(81),substr(3],ch;

25intnrlenri•0;

26FILE•rf,*wf;

27rf-fopenLLn.dat","r");

wwHM

28wf-fopen(out.datrw):

29whiled<5)

30i

31fgets(strr80,rf);〃从文件!ndu中建取长度为R的字符中存入到半构小

32fgets(substr,10,rf);〃从文件Edit中涛取长授为9的子字符中存入到字符率“uxtr

33len*strlen(substr)-1;,/尼f字符麽substr的长度凌)的{ft跳绘

34ch-substrtlenI;〃把子字符删的•存f字相的侬*捺字符ch

,•如臬于字符中的量后一个字构是网等投行符或是文件的或符•副纪子?籽卑的♦后一个多籽的值&宣为。•/

35if(ch。'\n'IIch~Oxla)

36subatr[len]•0;

/•用的Ikflndfitrsubstrl返⑼子字符串・ub,s在字符申atr中出现的次数•/

37n-findStr(strrsubstr);

38fprintf(wf,"d\n".n);//无诂年触Un耳人父女ftout.cUu中

391*4;〃■环登

40I

41fclose(rf);

42fclose(wf);

43

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

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

位数的千位数位置上的值小于等于百位数位置上的值,百位数位置上的

值小于等于十位数位置上的值,以及十位数位置上的值小于等于个位数

位置上的值,并且原四位数是偶数,则统计出满足此条件的个数ent并

把这些四位数按从小到大的顺序存入数组b中,最后调用写函数

writeDat把结果ent以及数组b中符合条件的四位数输出到文件Outdat

中。

注意,部分》程序存在SC文件中.

程序中已定义数组|a[200].b[200],已定义支ent

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

1;Iinclude<stdio.h>

2•fdefineMAX200〃定义室受■MAX,H值等于20。

3•inta(MAX),b(MAX)#ent-0;〃定义整甲敷蛆a【MAX),b【MAX)和更■cm•并yst的初值为口

4;voidwriteDat();

5IvoidjsVal()

6•»<

7;

8!)

9jvoidreadDat()

10\1

11!int1;

12;FILEefp;

13•fp-fopen(1'in.dat","r");

14»ford-0;1<MAX;…)

15;fscanf(fp,"W",(a[i|>;

16!fclose(fp);

17!)

18;voidmainO

19•(

20jint1;

21•readDat();

22jjsValO;〃・用总实现MH要求的功能

23;printf「清足条件的数・Sd\n",cnt>;

24!for(1•0;i<ent;

25;printf(w%d・,

26jprintf("\nH);

27•writeDat();

28;)

29•voidwriteDat()

30j(

31;FILE-fp;

32!int1;

33ifp-fopen(wout.dat,*,*w*>;

34;fprintf(fp/"Sd\n".ent);

35!for(1-0;i<ent;

36jfprintf(fp,7d\n".

37Jfclose(fp);

38•)

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

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

上的数加个位数上的数等于百位数上的数加十位数上的数的个数ent,

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

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

数组b中的数输出到文件out.dat中。

例如:67!2.6+2»7+1.则该故满足条件存入数蛆b中.且个数cm=cntT.

8)29.8+9!-1+2,则该数不清足条件忽略.

注意:部分源程序存在t«rt.c文件中.

程序中已定义敷SL可300],b(300].已定义变量,ent

请勿改动数嵬文件in.dat中的任何敷据、主南敷maiM)、谟语数readDatO和写函数wriicDaU)的内容.

Iinclude<stdio.h>

2inta[300],b[300],cnt-0;

3voidwriteDat();

4voidreadDat();

5voidjsValue()

6

7

6

9main()

10

int1;

readDat();

jsValueO;

14writeDat();

w

15printf(cnt-%d\n"rent);

16for(i*0;i<ent;£♦♦)

w

17printf(b(%d]-%d\n*r3b(l));

18

19voidreadDat()

20

21FILE-fp;

22int1;

23fp•fopen("in.dat","r*);

24for(i-0;i<300;

25fscanf(fp,"Qd.R,&a(i])

26;fclose(fp);

27!J

28;voidwriteDat0

2”

30•FILE・fp;

31\int1;

321fp•fopen(°out.datw,wwH);

33jfprintf(fp#7d\n".ent);

34;for(i-0;i<ent;i**)

w

35;fprintf(fp,-%d\nrb[l));

36;fclose(fp);

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

把这些数存入数组a中,请编制一函数jsvalue,其功能是:求出所有这

些四位数是素数的个数ent,再求出所有满足此条件的四位数平均值pjzl,

以及所有不满足此条件的四位数平均值pjz20最后main函数调用写函

数writeDat把结果ent,pjzl,pjz2输出到out.dat文件中。

例如;5591该攻滴足条件.参加计,平均你p"1・H个数

9812是B:素数.律数不涓足条件,,加计%▼均值pjz2.

注意,解分源程序存在E.C文件中.

鞭序中已定义敷组:a[3<»|.已定义受・,ent.pjzl.pjz2

请可改动依据攵件in.dat中的任何数据、】浦敦!iuinO.读变故nudDaH)和,;曲牧wntcDMO的内密.

1;#include<atdio.h>々incMk小句说喇3程序中也含20中的标声■人■出座南畋Mwh

2-inta(300hcnt-o;〃定文・甲教瓢■[RD)和饯・ent.我■untM初值有0

3♦doublepjzl«O.O#pjz2*0.0;〃定义±flkR*i・p,x2升*初GN6.0

4.voidwrlteDat();//・出儒fl说9)9勾

5-voidreadDat();,/・入嫉数设攀明句

6•intisPCinttn)〃嫉R“PCM川网新a>展古力拿题.如果是Ktk则越网否则第何o

7;(

6;inti;

9for(1•2ii<m;

10»if(ni1■*0)

11;return0;

12ireturn1;

135I

14;voidjsValuoO〃喻Ctrv・itw()的定义诵句

15•(

16;

n;।

18;maln()

19;I

20-readDat();〃,用—皿tU・敏.从nutot攵华中&入W0个五付敏存入,■用.中

21!jsValuef);〃・用•段,实域AUI断雷玄理的冷航

22,writeDat();//UH)writ«Dae()A91.ON.ni\,而z2・出文句中

23;pnntf(*cnt-%d\n淌足条件的平均值pzjl-17.21f\n不满足条件的平均值pzj2-17.21f\n%

•cntrp)21,pjz2);〃在卿■」*不出■的能粤

24;}

25JvoidreadDat()〃从m<bi女朴中泼入300个内价教存入■用.中

26j(

27jFILE-fp;〃定义文仲册什殳■0

28■int1;〃建文殳・1

w

29!fp-fopenCin.dat,-r*>;//以只it方式4开文件并目支fWHtfp指向文利Ln.&t

30;for(i-0;i<300;》♦♦)〃循环安・'从。依次■**2”

31\fscant(fpf-%d,",;〃从文件ic.dat,中tft入38个穴口敷O人数电.中

32!fclose(fp);〃英用文科in.d4t

33।I

34■voidwriteDat()〃更计“希泉胃入Hauq女忖

35j(

36;FILE*fp;〃©文件捷打**fp

37Jfp-fopenC^out.dafr-w*);〃取只写方式打开支伸gt.dat•月RNItlHt加指向文件cmt.dM

38Ifprlntf<fp,w%d\nl7.21An%7.21f\n-,ent,p”l.pjz2);〃盘屏•上・水计道她果

39•fclose(fp);〃矢削文件out.0?

40!)

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

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

以行为单位对字符串变量的下标为奇数的位置上的字符按其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)

39.已知在文件in.dat中存有100个产品销售记录,每个产品销售记录

由产品代码dm(字符型4位),产品名称me(字符型10位),单价dj(整

型),数量si(整型),金额je(长整型)五部分组成。其中:金额=单价*数

量。函数ReadDat读取这100个销售记录并存入结构数组sell中。请编

制函数SortDat,其功能要求:按产品名称从大到小进行排列,若产品名

称相同,则按金额从大到小进行排列,最终排列结果仍存入结构数组sell

中。最后mainoi函数调用函数WriteDat把结果输出到文件out.dat中。

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

题:产品名称比较请用函数strcrnp进行解题。例如:sell[i]=temp;

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

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

•include<3tdio.h>

2♦include<string.h>

3*include<stdllb.h>

A•defineMAX100

5typedefstruct

6

7chardm(5];/•产品代码•/

8charme(111;/•产品名琳•/

9intdji/,•单价•/

10intdl;/,Mt•/

11longje;/•金・•/

12}PRO;

13PROsellIMAX);

14voidReadDatO;

15voidWrlteDat();

16voidSortDat()

17

18

19

20voidmain()

21<

22memset(sell,0,sizeof(sell)>;

23ReadDat();

24SortDatO;

25WriteDat();

26)

27voidReadDatO

28I•

29FILE«fp;

30charstr[80],ch[ll];

31inti;

32fp•£open(Mln.datM*wrw);

33for(i-0;i<100;1♦♦】

34I

35fgets(str,80.fp);

36memepy(sell[i].dm,str,4);

37tnemcpy(sell(l).nc,str♦4・10):

38nemcpy(chtstr^X4r4);ch[4]«0;

39sell(i)«dj-atol(ch);

40memcpy(ch«str*18f5);ch[5)-0/

41sell|i].si•atol(ch)i

42soilU).je•(long)sell[1].dj•sell(1].91;

43[I

44»fclose(fpj;

45j)

46!voidWriteDat()

47i1

48FILE*fp;

•;,二inti;

SOfp-fopcn(wout.dat",

SIford-0J1<100;

52I

Sprintf(fp«*is,814dI5dll01d\n**tsell(i).dm«sell(l|.dj,aellfi].slr

sellli).je);

S4

55fclo9tf(fp);

56

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

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

字和个位数字重新组成一个新的含有两位数字的数(新数的十位数字是

原四位数的千位数字,新数的个位数字是原四位数的个位数字),以及把

百位数字和十位数字组成另一个新的含有两位数字的数(新数的十位数

字是原四位数的百位数字,新数的个位数字是原四位数的十位数字),如

果两个新组成的数均是奇数并且至少有一个数能被5整除,同时两个新

数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存

入数组b中,并要计算满足上述条件的四位数的个数ent。最后main函

数调用写函数writeDat把结果ent以及数组b中符合条件的四位数输出

到Out.dat文件中。

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

程序中已定义数组:a[200],b(200].已定义变ILcm

请勿改动数据文件in.dat中的任何数据、卜南敢main()、读的数rcadDatO和写函数writcDat()的内容.

•include<stdio.h>

•defineMAX200

3inta|MAX],b[MAXj,ent-0;

4voidwriteDat();

voidjsVal()

6

7

8

9voidreadDat()〃从ln.dat文件中或取20。个四位依存入数雄a中

10(

int1;

FILE#fp;

wRw

fp■fopen(in.dat"rr);

14for(i•0;i<MAX;

15fscanf(fpr"d",1]>;

16fclose(fp);

17}

18voidmain()

19C

20int1;

21readDat();

22isValO;//谒用jASHWal。•宴现IH■点的功筵

23printf(**满足条件的14,qd\n",ent);

24for(i-0;1<ent;

25printf("%d**.b[i]);

26printf("Xn**);

27writeDat();

28

29voidwriteDat()〃把计算帖果an以及数IBb中符合条件的四位依■出现M&U文件中

30

31FILE*fp;

32int1;

ww

33fp-fopen("out.datr*w);

34fprintf(fp^7d\n“.ent);

35for(i-0;1<ent;

36fprintf(fp,w%d\n",b(i]);

37fclose(fp);

38

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

41.设有高校选课系统,需要对学校的系信息、教师信息、课程信息、

学生信息、学生选课信息进行管理。已知系(DEPT)信息包括系编号

(DeptNO)、系名称(DeptName);教师(Teacher)信息包括教师

号(TNO)、教师名(Tname);课程(Course)信息包括课程号

(CNO)、课程名(CName)、课程学分(Credit);学生(Student)

信息包括学号(SNO)、学生姓名(Sname)、学生性别(Sex)。选

课系统的管理规则如下:I.一个系可聘用多名教师,一个教师只受

聘于一个系;H.一个系可有多名学生,一个学生只属于一个系;

III.一名教师可讲授多门课程,一门课程可由多名教师讲授;W.一

名学生可选修多门课程,一门课程可被多名学生选修;V.学生选修完

课程后,可获得相应课程的成绩。针对以上描述,完成下列设计内

容:(1)构建选修课系统的ER图。(要求图中的实体集名用试卷中

给出的英文名,联系所关联的实体集名的首字母,字母问用“一”或

连接,大小写不限)。(6分)(2)根据所构建的ER图,设计满足

3NF的关系模式,并标出每个关系模式的主码和外码。(要求关系模

式名同实体集名或联系名,属性名用试卷中给出的英文名,大小写不

限)(4分)

42.设某全国性的运输企业建立了大型OLTP系统,并在该系统之上建立

了数据仓库。OLTP系统和数据仓库中有如下数据表:运输明细表(运输

单ID,发送站ID,终到站ID,货物ID,货物重量,运输价格,发货日

期)汇总表1(发送站ID,终到站ID,货物ID,发货日期,总重,总

运价)汇总表2(发送站ID,终到地区ID,货物ID,发货日期,总重,

总运价)汇总表3(发送站ID,终到站ID,货物ID,发货月份,总重,

总运价)汇总表4(发送地区ID,终到地区ID,货物类别ID,发货日

期,总重,总运价)该企业管理的货运站约有100个,货物约有500种

共10类,各汇总表都建有主码,且各表有合理的维护策略,在每次维护

后数据能保持一致。设有视图V,该视图的访问频率很高,其查询结果

模式为(发送地区ID,终到站ID,发货月份,总重,总运价),该视图

现以汇总表1为计算数据源。经监控发现,汇总表1的被访问频率过高,

导致系统整体性能下降,而其它汇总表被访问频率较低。在不增加汇总

表和索引的情况下,请给出一个改善系统服务性能的优化方案,并简要

说明理由。(1。分)

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

43.查询处理器和存储管理器是数据库管理系统中的核心模块。下列关于

查询处理器和存储管理器的说法,错误的是()。

A.查询处理器中的DML编译器会对用户提交的DML语句进行优化,

并将其转换成能够执行的底层数据库操作指令

B.存储管理器中的查询执行引擎会根据编译器产生的指令完成具体数

据库数据访问功能

C.存储管理器中的缓冲区管理器负责将从磁盘读出的数据块放入内存

缓冲区,同时也负责对缓冲区中的数据块进行维护

D.查询处理器中的DDL编译器编译或解释用户提交的DDL语句,并将

生成的元数据存储在数据库的数据字典中

44.在SQLServer2008中,常常会发生数据库数据过大的情况,此时则

需要对表进行处理,通常可采用人工分割表的方法优化性能。下列有关

分割表的说法,错误的是()o

A.水平分割后,得到的子表结构相同

B.水平分割后,查询表中所有数据时需要使用JOIN操作

C.垂直分割后,所有表中均需保留原有表的主码

D.当查询表中所有数据时,使用分割表方法会增加查询表达式的复杂度

参考答案

1.D解析:模式描述的是数据的全局逻辑结构,外模式描述的是数据的

局部逻辑结构。当模式改变时,由数据库管理员对外模式/模式映像做相

应改变,可以使外模式保持不变。应用程序是依据数据的外模式编写的,

从而应用程序也不必改变。保证了数据与程序的逻辑独立性,即数据的

逻辑独立性。

2.C解析:计算机中的数据存储地址通常分为逻辑地址和物理地址。用

户程序经过编译或汇编形咸的目标代码,通常采用相对地址,其首地址

为零,其余指令中的地址都是相对而言的,这个相对地址就成为逻辑地

址。而物理地址是内存中各存储单元的编号,即存储单元的真实地址。

为了保证CPU执行程序指令时能正确访问存储单元,需要将用户程序

中的逻辑地址转换为运行时可由机器直接寻址的物理地址,这一过程称

为地址映射或地址重定位。因此本题的答案是C:地址映射.

3.C解析:两段锁协议是指所有事务必须分两个阶段对数据项加锁和解

锁。所谓两段锁的含义是,事务分为两个阶段;第一阶段是获得封锁,

也称为扩展阶段:第二阶段是释放封锁,也称为收缩阶段。若并发执行

的所有事务均遵守两段锁协议,则对这些事务的任何并发调度策略都是

可串行化的。但需要注意:事务遵守两段锁协议是可串行化调度的充分

条件,而不是必要条件。即若并发事务都遵守两段锁协议,则对这些事

务的任何并发调度策略都是可串行化的:若对并发事务的一个调度是可

串行化的,不一定所有事务都符合两段锁协议。同时还需注意,两段锁

协议不要求事务必须一次将所有要使用的数据全部加锁,因此遵守两段

锁协议的事务可能发生死锁。

4.D

5.A解析:集中式数据库系统:在这种系统中,整个DBMS的核心,数

据库和应用程序都放在主机上,用户通过终端来并发地存取数据,共享

数据资源,这种系统又称为主从式或主机/终端式系统。

6.D解析:概念模型是按用户的观点对数据和信息建模,也称为信息模

型。概念模型语义表达能力强,不涉及信息在计算机中的表示,如实体

—联系模型、语义网络模型等。

7.A

8.B解析:随着电子邮件的日益普及,越来越多的病毒通过电子邮件传

播,和传统的软盘传播病毒比起来,通过电子邮件传播病毒无论是传播

速度还是传播范围都远非前者所可望其项背。这也是互联网时代病毒传

播的最大特点。

9.D解析:实时系统在一个特定的应用中是作为一种控制设备来使用的,

所以它是专用系统。它的一个主要特点是及时响应,即每一个信息接收、

分析处理和发送的过程必须在严格的时间限制内完成;另一个主要特点

是高可靠性。

10.D解析:客观存在并可相互区别的事物称为实体。实体可以是具体的

人、事、物,也可以是抽象的概念或联系。在客观世界中,不同的事物

是由事物所具有的特征加以区分的。在信息世界中,事物的特征被抽象

为实体的属性,不同的实体,其属性也不同。因此,在信息世界中,实

体是根据实体属性的不同加以区分的,实体的名字是赋予实体的称谓,

属性的多少不能反映实体的本质特征。

11.Reports

12.信息处理

信息处理

解析:数据处理和信息处理是计算机的重要应用领域,当前的数据也

已有更广泛的含义,如图、文、声等多媒体数据,它们都已成为计算

机的处理对象。

13.联接产品联接产品

14.5或五5或五解析:二叉排序树是将线性表中的结点信息(或结点中

的关键码值和结点地址)组织成二叉树形式,以达到与二分法检索相同

的检索效率,而又具有链表那样的插入、删除、运算的灵活性。

二叉树的特点:每个结点的左子树中所有的结点的关键码值都小于该结

点的关键码值,而右子树中所有结点的关键码值都大于该结点的关键码

值。

对于插入排序所形成的二叉树的总数目为:C(2n,n)/(n+l)=C(6,3)/4=5,

其中n为关键码的个数。

15.开放定址法开放定址法

16.无损连接性无损连接性解析:规范化过程中将一个关系模式分解若

干个关系模式,应该保证分解后产生的模式与原来的模式等价。常用的

等价标准有要求分解是具有无损连接性的和要求分解是保持函数依赖

的两种。

17.WITHGRANTOPTIONWITHGRANTOPTION解析:GRANT语句

的一般格式为:

GRANT〈权限》[,(权限)]...

[ON〈对象类型〉〈对象名〉]

T0<用户>[<用户>]...

[WITHGRANTOPTION];

其中若指定了WITHGRANTOPTION子句,则获得某种权限的用户还

可以把这种权限再授予其他的用户。若没有指定WITHGRANTOPTION

子句,则获得某种权限的用户只能使用该权限,但不能传播该权限。

18.EXECSQLEXECSQL解析:把SQL嵌入主语言使用时必须解决3

个问题:

①区分SQL语句与主语言语句

这是对

温馨提示

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

评论

0/150

提交评论