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

下载本文档

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

文档简介

2022年广东省中山市全国计算机等级考试

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

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

一、1.选择题(10题)

i.为保证文件未经拥有者授权,不允许任何用户使用,操作系统采取()。

A.文件隐藏B.文件共享C.文件保护D.文件保密

2.已知基本表SC(S#,C#,GRADE),贝IJ“统计选修了课程的学生人次

数”的SQL语句为()。

A.SELECTCOUNT(DISTINCTS#)/FROMSC

B.SELECTCOUNT(S#)/FROMSC

C.SELECTCOUNT(*)/FROMSC

D.SELECTCOUNT(DISTINCT*)/FROMSC

3.如果一棵二叉树结点的前序序列是A,B,C,后序序列是C,B,A,

则该二叉树结点的对称序序列

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

4.对一个由n个关键码组成的序列,借助排序过程选出其中最大的关

键码,要求关键码比较次数和移动次数最少,应当使用下列哪种排序方

法?

A.归并排序B.直接插入排序C.直接选择排序D.快速排序

5.下列关于关系数据模型的术语中,哪一个术语所表达的概念与二维表

中的“行''的概念最接近?()

A.属性B.关系C.域D.元组

6.临界区是指并发进程中访问共享变量的

A.管理信息段B.信息存储段C.数据段D.程序段

7.有关系S(S#,SNAME,SEX),C(C#,CNAME),SC(S#,C#)o其中

S#为学生号,SNAME为学生姓名,SEX为性别,C#为课程号,CNAME

为课程名。要查询选修“计算机文化”课的全体男学生姓名的SQL语句

是:SELECTSNAMEFROMS,C,SCWHERE

A.S.S#=SC.S#ANDSEX=^'ANDCNAME=计算机文化’

B.S.S#=SC.S#ANDC.C#=SC.C#ANDCNAME=,计算机文化,

C.SEX=kANDCNAME=计算机文化’

D.S.S#=SC.S#ANDC.C#=SC.C#ANDSEX='^'ANDCNAME=,计算机

文化’

8.下述哪一条不是局部E-R图集成为全局E-R图时可能存在的冲突?

A.模型冲突B.结构冲突C.属性冲突D.命名冲突

9.关系模式规范化的最起码的要求是达到第一范式,即满足

A.每个非码属性都完全依赖于主码B.主码属性惟一标识关系中的元组

C.关系中的元组不可重复D.每个属性都是不可分解的

10.

现将关系模式P分解为两个关系模式Pl(c,T,R),P2(C,S,G),那

么这个分解

A.不具有无损连接性,不保持函数依赖

B.具有无损连接性,保持函数依赖

C不具有无损连接性,保持函数依赖

D.具有无损连接性且保持函数依赖

二、填空题(10题)

11.在X.80。中将安全攻击分为两类:被动攻击和o

12.XMPP是一种基于的即时通信协议。

13.多个事务在某个调度下的执行是正确的,是能保证数据库一致性的,

当且仅当该调度是______O

14.数据是信息的符号表示或称载体;信息是数据的内涵,是数据的语义解释。例如“世界

人口已经达到6亿“,这是【】。

15.给定一个关键字序列(24,19,32,43,38,6,13,22),进行快速排序,扫描

一趟后的结果是______O

16.数据库恢复通常基于数据备份和。

17.使用PowerDesigner的DataArchitect,可以对已有数据库生成物理

数据模型(PDM),这种功能通常称为o

18.0racle自7起对进程结构作了改进,采用了多【】多线索体系结构。

19.用二维表结构表示实体以及实体间联系的数据模型称为数据

模型。

20.系统为了管理文件,设置了专门的数据结构【】(FCB)OFCB是在

执行创建文件系统调用时建立的。

三、单选题(10题)

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

应授予哪一种权限?

A.DROPB.DELETEC.ALTERD.UPDATE

22.能够对PowerDesigner中所有模型信息只读访问的模块是()。

A.A.ProcessAnalyst

B.DataArchitect

C.Viewer

D.WarehouseArchitecture

23.下列关于SQLServer数据库用户权限的说法中,错误的是

A.数据库用户自动具有该数据库中全部用户数据的查询权

B.通常情况下,数据库用户都来源于服务器的登录账户

C一个登录账户可以对应多个数据库中的用户

D.数据库用户都自动具有该数据库中public角色的权限

24.一个公司有若干名兼职人员,而每个兼职人员有可能在多家公司打

工,则公司与兼职人员之间具有

A.一对一联系B.一对多联系C.多对多联系D.多对一联系

25.SQLServer数据库是由文件组成的。下列关于数据库所包含的文件的

说法中,正确的是__________0

A.一个数据库可包含多个主要数据文件和多个日志文件

B.一个数据库只能包含一个主要数据文件和一个日志文件

C一个数据库可包含多个次要数据文件,但只能包含一个日志文件

D.一个数据库可包含多个次要数据文件和多个日志文件

26.设计作业调度算法时不需要考虑下列()因素。

A.用户界面友好B.公平性C均衡使用资源D.吞吐量大

27.在关系代数的连接操作中,连接操作需要取消重复列的是()。

A.自然连接B.笛卡尔积C.等值连接D.0连接

28.概念设计的结构是得到一个与()

A.DBMS有关的逻辑结构B.DBMS无关的概念模式C.DBMS和硬件

有关的逻辑结构D.DBMS和硬件无关的数据结构

29.设栈S和队列Q的初始状态为空,元素el、e2、e3、e4、e5和e6依

次通过栈S,一个元素出栈后即进入队列Q,若6个元素出栈的顺

序是e2、e4、e3、e6、e5、el,则栈S的容量至少应该是()

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

30.若实体间的联系是M:N,则将联系类型()

A.的属性加入任一个关系模式中

B.的属性加入N端实体类型相对应的关系模式中

C.的属性加入M端实体类型相对应的关系模式中

D.也转换为关系模型

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

31.已知在in.dat中存有若干个(个数<200)四位数字的正整数,函数

ReadDat读取这若干个正整数并存入数组XX中。请编制函数CalValue,

其功能要求:

1,求出该文件中共有多少个正整数totNum;

2.求这些正整数右移1位二进制位后,产生的新数是奇数的数的个数

totCnt,以及满足此条件的这些正整数(右移前的值)的算术平均值totPjz0

最后main函数调用函数WriteDat把所求的结果输出至lj文件out.dat

中。

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

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

和输出函数WriteDat的内容。

*include<stdlo.h>

2IdefineMAXNUM200

3intxx[MAXNUM];

4inttotNum-0;〃文件/n.dan中大名少个正・敷

5inttotCnt•0;〃符合条件的正整数的个效

6doubletotPjz-0.0;〃平均值

7intReadDat(void);

8voidWriteDat(void);

9voidCalValue(void)

10

11

12

13voidmaln()

14I

15int1;

16for(i-0;i<MAXNUM;if

17xx[1]■0;

18if(ReadDat())

19I

20prfntf("数据文件in.dat不能打开I\007\n");

21return;

22I

23CalValue();

24printfL文件in.dat中共有正岐lk='d个totNum);

25printfL符合条件的正整数的个数・Qd个totCnt);

26printf(”平均值totPjz);

27WriteDat();

28)

八S取这若干个正■数并存入数tflIX中•/

29intReadDat(void)

30(

31FILE*fp;

32inti-0;

33if((fp-fopen("ln.dat*,*r*)J-NULL)

34return1;

35while(!feof(fp))

36I

37fscanf(fp,"%d>"<4xx[i+^J>;

38)

39fclose(fp);

40return0;

41)

/•把计算的裳存入文件iut.dat中♦/

42voidWriteDat(void)

431

44FILE・fp;

45fp•fopen.dat",Hww);

ww

46fprintf(fp,td\n%d\ni.21f\n/totNum,totCnt,totPjz);

47fclose(fp);

48

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

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

组a中取出一个四位数,如果该四位数小于该四位数以后的连续五个数

且该数是偶数(该四位数以后不满五个数,则不统计),则统计出满足此

条件的个数ent,并把这些四位数存入数组b中,而后对数组b进行升

序排序,最后调用写函数writeDat把结果ent以及数组b中符合条件的

四位数输出到Out.dat文件中。

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

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

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

和写函数writeDat的内容。

1-linclude<stdio.h>

2jIdefineMAX200〃定义宏交■KAXH值券于200

3\inta(MAX)rb(MAX]ent-0;〃北初蛤值为0,定义全身■型脩敢祖SMAX;.

41voidwriteDat();//xHsDaD由故的说明语句

5jvoidjsVal()

6•(

/•readDat()从依据文件m.dat中读取200个四粒依存入敏由•中〃

9voidreadDat()

10

11int1;

12FILE*fp;

ww

13fopen(in.datr"r

14for(ia0;i<MAX;

15fscanf(fpr"d",&a[i]);

16fclose(fp);

17>

18voidmamO

19

20inti;

21readDat();

22jsValO;〃恻网鼎也实Kim要求的功能

23printf("满足条件的数7d\n,:nt);

24for(1-0;i<ent;

25print1(**%d8,b(11);

26printf;

27writeDat();

28)

i/・W数wntcDiMHC姑果E以及效组b中将C条件的四位数■出到0ut.(ht文件中•/

29:voidwriteDat()

30

31FILE*fp;

32inti;

w

33fpnfopen("out.datr"w");

34fprintf(fprRQd\n",ent);

35for(i■0;1<ent;

36fprintf(fp,"%d\n"rb(i));

37fclose(fp);

38

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

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

数各位上的数字均是奇数,则统计出满足此条件的个数ent并把这些四

位数按从大到小的顺序存入数组b中。最后main函数调用写函数

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

件中。

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

秩序中已定义数组:4200],b(200J,已定义变量:ent

请勿改动数据文件Hdat中的任何数据、主函数建的数readDat()和写函数writeDtiO的内容.

1finclude<stdio.h>

2t!♦defineMAX200

3;inta[MAX),b[MAX],ent-0;

4:voidwriteDat();

5•voidjsVal()

i

6;

7i

I

8j

9ivoidreadDat()〃从Xn.dat文件中“取200个四位我存入依ifla中

io!(

111inti;

12;FILE・fp;

13:fp-fopenLin・daL.*r*);

14\for(iw0;1<MAX;ii)

R

15!fscanf(fp>-%d/

16'fcloso(fp);

1

17;)

18!voidmain()

19iI

2。;Inci;

21jreadDat(>;

i

22ijsVal();〃■川嫉敦)sValO,实现flniQ求的功能

23;printf「满足条件的数7d\n",ent);

24•for(1•0;i<ent;£>♦)

251printf("Id”■b[i]);

ww

26।;printf(\n);

27;writeDat();

28:>

29!voidwriteDat()//ftil何皓黎cm以及敷出b4用自条种的四位依•由利。3.(面文件中

30\(

31iFILE*fp;*

32fint1;

33!fp-fopen("out"w");

34:fprintf(fpz”d\n".ent);

35iford-0;i<ent;

36;fprintf(fp,b(i]);

37jfclose(fp);

38;

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

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

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

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

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

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

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

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

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

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

到Out.dat文件中。

注意,部分源界库存在teste文件中.

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

请勿改动数据文件in.dat中的任何数据、上东数mmn(k读函数rcadDa")和写函数writcDat()的内容.

#include<stdio.h>

2JfdefineMAX200

3jinta(MAX],b[MAX]rent-0;

4;voidwriteDat();

5\voidjsVal0

6

7

8

9voidreadDat()〃从in.dac文件中慎取20。个四位数作入数组A中

10(

11int1;

12FILE*fp;

Rw

13fp•fopen(in.datr**r*);

for(I•0;i<MAX;

fscanf(fp,"d”,1]);

fclose(fp);

18voidmain()

19I

20int1;

21readDat();

22isValO;〃,用Ai敷SVal”,宾理■求的功雒

23printzf满足条件的数,Qd\n”,ent);

24for(i-0;i<ent;

25printf(*%dIb[i]);

26printf(H\nw);

27writeDat();

28)

29voidwriteDatO〃纪计算站整h以及数组b中符合条件的四位依■出到皿《文件中

30(

31FILE*fp;

32int1;

33fp-fopen("out.datwwwH);

34fprlntf(fp*"%d\n",ent);

35for(i-0;1<ent;

36fprintf(fp,Htd\n"/b(i));

37fclose(fp>;

38

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

串数组XX中,请编制函数StrCharJR,其函数的功能是t以该文章中的

行为单位把字符串中的所有字符的二进制ASCII值右移4位,高位补

0,然后把右移后的字符ASCII值再加上原字符的ASCII值,得到新的

值仍存入原字符串对应的位置上,之后把已处理的结果仍按行重新存入

数组XX中。最后main函数调用函数WriteOat把结果XX输出到文件

out.dat中。

例如:

“z”对应的ASCII值为7AH,二进制值为01111010,右移4位后为

00000111,加上原来“2"的ASCII值0111上10得到10000001结果。

原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符

号和空格,并也按字符处理。

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

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

j•include<stdio.h>

!■include<atring.h>

;charxx(501(801;

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

5;intReadDat(void>;

6•voidWriteDat(void);

ivoidStrCharJR(void)

8

9

io;l

iivoidmain()

12

if(ReadDat())

(

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

return;

I

StrCharJRO;

WriteDat();

)

/•从文钟in<hi中读取篇英文文章存入到字符申数钮“中•/

intReadDat(void)

I

FILE»fp;

inti•0;

charep;

0Hw

if((fp-fopen(in.dafrr))-NULL)

returnI;

while(fgets(xx(i],80rfp)!-NULL)

(

p»strchr(xx[i),

if(p)*p-0;

32

33

34roaxline•i;

35fclose(fp);

36return0;

37

/果u■出到文的outdai中•/

38voidWriteDat(void)

39

40FILEefp;

41inti;

42fp«fopen("out.datM,

43for(i-0;i<maxline;

44

45printf(**%3\n"rxx[i]);

46fprintf(fprxxll));

47

:?hfclose(tp);

36.已知在文件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(1).me,str♦4.10):

38memepy<cht>tr*14,4);ch[4]-0;

39sell(i).dj•atol(ch);

tnemepy(chrstr*18<5);ch[5]-0j

41sell|X|asl■atol(ch);

42sollll]••(long)sell(I).dj•sell(1).91;

43>

44fclose(fp);

45

46!voidWriteDat(>

47j(

48!FILE*fp;

49jinti;

ww

50;fp■fop«n(out.dat"r*w):

51-ford-0;1<100;

52\I

53;fprlntf(fp,*ts%sI4d15d»lOLd\n*tsell(il.dm«sell(i),mc,sell(1|.dj,aellfi).31,

!sellfij.je);

54iJ

55:fclostt(fp);

56i)

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

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

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

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

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

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

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

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

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

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

到Out.dat文件中。

注意*部分源程序存在皿C文件中•

程序中已定义数生:a(200].b(200],已定义变■:cm

请勿改动数据文付m.dal中的任何数据.主函数main()、谈函数rcadDatO和写成数writcDatO的内容.

•include<stdio.h>

•defineMAX200

inta[MAX],b[MAX]rent-0;

4voidjsVal()

5

6

7

8voidreadDatO〃从xti.dac:文件中修收200个四位数存入1H8金中

9

10mt1;

11FILE•fp:

w

12fp•fopen(ln.dat*'<**r");

13for(1•0;i<MAX;

w

14fscanf(fp,"%dr6a(1));

15fclose(fp);

16

17writeDatf)〃纪计算站果cm以及数也b中符合条件的网口收■出到guhi文件中

18

19FILEefD;

20:int1;

wH

fp•fopon(out.dat**rw*);

H

22fprlntf(fp/**%d\nrent);

23for(i-0;i<ent;

24fprintl(fp#Fd\n",bli))

25fclose(fp);

26

27voidmainO

28

29int1;

30readDat();

31jsVal();〃调用函触“Va】力实现HU集氽的功雒

32piintf("满足条件的敷一,d\n3nt);

33for(1-0;i<ent;

34printf(7d-,b[l]>;

35printf;

36writeDat();

37

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

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

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

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

出到文件out.dat中。

例:原文:dAe,BfC.

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

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

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

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

的内容。

•include<stdio・h>

tinclude<string.h>

3charxx[50)(80];

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

5intReadDat(void);

6voidWriteDat(void);

7voidSortCharD(void)

8

9

10

11voidmain()

12(

13if(ReadDat())

14(

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

16return;

17I

18SortCharD();

19WriteDat0;

20

/•从文件m.<bt中博取一篇英文文今存入a字希中敷mu中•/

21intReadDat(void)

22(

23FILEefD:

24;inti•0;

25!char*p;

Hw

26jif((fp-fopen("in.dat,r"))*-NULL)

27-return1;〃如果文件In.0n内存为空.*返回1

!/♦当从文件Ln.dat中选取79个字符存入xx【L|没/命课发生》t执行/环体中的语句•/

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

29\{

30•p-strchrCxxfi),,Xn1);〃在字杪率中叁找回车撰行将事一个IK配的位置

31;if(p)*p•0;〃如果p的值不为零,丽苴值设置为0

32;i+4;〃行变量加1

33•)

34jmaxline-1;〃尼文章的总行效M蛤堂fltaaitUne

35j(close(fp);

36jreturn0;

37;|

j,•纪咕累XX"出到文件中•/

38jvoidWriteDat(void)

39;(

40!FILE»fp;

41junsignedinti;

ww

42;fp-fopen(*out.dat°tw);

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

44i(

ww

45;printf(ts\nrxx(i]);

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

47i}

48-fclose(fp);

49•}

39.在文件in.dat中存有若干个(个数<200)四位数字的正整数,函数

ReadDat读取这若干个正整数并存入数组XX中。请编制函数CalValue,

其功能要求:1,求出该文件中共有多少个正整数totNum;2.求出这些

正整数中的各位数字之和是偶数的数的个数totCnt,以及满足此条件的

这些正整数的算术平均值totPjzo最后main函数调用函数WriteDat把

所求的结果输出到Out.dat文件中。

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

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

和输出函数WriteDat的内容。

•#include<stdlo«h>

!idefineMAXNUM200

3;intxx(MAXNUM];

4•inttotNum=0;〃文仆xn.dat中共开多少个正

5•inttotCnt-0;〃料令条件的正短效的个数

6:doubletotPjz»0.0;〃平均值

7!intReadDat(void);

8•voidWriteDat(void);

9•voidCalValue(void)

10

11

12

13voidmain()

14(

15inti;

16for(i-0;i<MAXNUM;if

17xxfi)-0;

18if(ReadDat())

19

20printf("数据文件in.dat不能打开!\007\nw);

21return;

22I

23CalValueO;

24printf文件in.dat中共有正整数个\n**・totNuxn);

25printf("符合条件的正整数的个数7d个\"*".totCnt);

26printfL平均值21f\n",totPjz);

27WriteDat();

28I

/•读取这若干个正鳖敛并存入致fliu中•/

29intReadDat(void)

30(

31FILE*fp;

32inti•0;

33if((fp-fopen("in.datwrw))«NULL)

34return1;

35while(!feof(fp))

36(

37fscanf<fp,7d・”.);

38)

39fclose(fp);

40return0;

41J

,•把计算姑聚存入文件。Ut.uu中•/

42voidWriteDat(void)

43(

44FILE*fp;

45fp-fopen("out.datH,**wH);

46fprintf(fp/"%d\n%d\n,・21f\n",匕otNum,totCnt#totPjz);

47fclose(fp);

48

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

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

上的数减百位数上的数减十位数上的数减个位数上的数大于零的个数

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

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

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

例如;9123,剜读数满足条件存入数《lb中.且个数cgu+1.

9812,央心1・2<0,则该数不满足条件忽略.

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

程序中已定义数组:4300),b[300],已定义变量卜ent

域勿改动数据文件in.dat中的任何数据、主曲JftmainO,读曲数rcadDatQ和写函数wri(cDat()的内容.

♦include<stdio.h>

2inta(300hb(300J,cnt-0:〃定义整型数蛆a[300),b[3。。]和受量ent,并且ent的初值为0

3voidwriteDat();

4voidreadDat();

5voidjsValue()

6

7

B

9main()

10(

11int1;

12readDat();

13isValue();

14writeDat();

15printf("cnt-tdXn**,ent);

16for(i-0;i<ent;

17prlntfi,b(iD;

181

19voidreadDat()

20{

21FILE・fp;

22tnti;

ww

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

24for(i-0;i<300;

25fscanf(fp,;

26fclose(fp);

27I

28voidwriteDat()

29(

30FILEefp;

31int1;

32fp-fopeni^out.dat"/"w");

33fprintf(tp,"%d\n"rent);

34fox(i-0;1<ent;

35fprintf(£p,Fd\n”,b[i!);

36fclose(fp);

37

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

41.已知某教务管理系统的设计人员在需求分析阶段收集到下列原始数

据表格:

教师

上级领导教师

教师号教师名职称工资

9868王文华教授8000null

9983李一斌副教授60009868

9985T-讲师删9868

0783王润泽讲师删9868

0899欧阳丹妮讲师删9868

课程

课程号课程名学分教材号教材名出版社名任课教师号

计算机原清华大学出

C2006311计算机原理9868

理版社

计算机原计算机原理与高等教育出

C20063129868

理应用版社

清华大学出

C2004数据结构313数据结构9868

版社

数据库原清华大学出

C2010314数据库原理9868

理版社

数据库原数据库原理与高等教育出

C20103159868

理技术版社

清华大学出

S3001音乐欣赏216音乐欣赏9983

版社

已知该业务系统存在如下规则:

I.每个教师有唯一的教师号,每个教师号对应唯一的一名教师;

II.每门课程有唯一的课程号,每个课程号对应唯一的一门课程;

III.每本教材有唯一的教材号,每个教材号对应唯一的一本教材;

IV.每个教师最多只有一个上级领导,也可以没有上级领导;

V.一门课程仅由一名教师讲授;

VI.一本教材仅用于一门课程。(12分)

(1)请根据原始数据表及业务规则,给出该系统的关系模式,保证每个

关系模式满足3NF,并说明每个关系模式的主码和外码。

(2)画出该系统的ER图,ER图中需给出每个实体集的属性,主码属性

用下划线标识。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

六、单选题n分](2题)

43.在某信息管理系统中需管理职工的照片信息,由于照片数据量较大,

照片信息是否存储在数据库中成为讨论的焦点问题。下列关于照片存储

与使用的说法,错误的是()o

A.将照片存储在数据库中可能会导致备份时间较长,备份空间占用较多

B.将照片存储在文件系统中,在数据库中只存储照片文件的路径信息,

可以大幅度降低数据库的数据量

C.将照片存储在数据库中虽然会导致数据库的数据量较大,但可以方便

地实现多台机器共享照片数据,也可以大幅度提高用户访问照片数据的

速度

D.与将照片存储在文件系统中相比,将照片存储在数据库中更容易实现

人员信息和照片数据的一致性

44.在SOLServer2008中,设各系统数据库当前主要数据文件及日志文

件的大小如下表所示:

数据库主要数据文件(MB.日志文件(MB.

master152

model41

msdb82

tempdb61

现要在该系统中创建一个新的用户数据库,则用户数据库中主妻数据

文件的大小不能小于()。

A.15MBB.4MC.8MBD.6MB

参考答案

1.D解析:对用户的存储权限加以控制是文件的保密措施。

2.B

3.D解析:二叉树是树形结构的一种重要类型,它是结点的有限集合,

这个有限集合或者为空集,或者由一个根(N)结点及两个不相交的、分别

称作这个根的左子树(L)和右子树(R)的二叉树组成。按周游二叉树的方

法可以分为:①前序序列法(NLR):访问根,按前序周游左子树,按前

序周游右子树;②后序序列法(LRN):按后序周游左子树,按后序周游

右子树,访问根,・③对称序列法(LNR):按对称序周游左子树,访问根,

按对称序周游右子树。按照以上定义可知,如二叉树的前序序列为A,

B、C,则二叉树可能如下图所示类型中的一种:

它们的对称序列分别为C、B、A;B、C、A;A、B,C;A、C、Bo因

此本题的答案为选项D°

4.C解析:直接选择排序第一趟扫描就可以把最大的关键码找出来(不必

等到排序结束)其他几种排序方法都必须等到排序完成才能找到最大关

键码。

5.D二维表中的“行”即关系数据模型中的“元组”,二维表中的"列''即关

系数据模型中的“属性故选D。

6.D不论是硬件临界资源,还是软件临界资源,多个进程必须互斥地对

它进行访问。每个进程中访问临界资源的那段程序称为临界区

7.D解析:本题涉及3个表的连接查询,需要我们解决的是WHERE后

面的连接条件。首先连接表S与SC,连接条件为s.s#=sc.s#;然后再

连接表c和SC,连接条件为C.C#=SC.C#O这样就可以将3个表连接起

来。但是分析题意,同时还要在连接后所形成的表中满足条件“SEX士男

,和CNAME=5十算机文化;通过以上分析,连接是同时满足的关系,故

应用“AND”连接,因此,WHERE子句内容应为"S.S#=SC.S#AND

C.C#=SC.C#ANDSEX='男'ANDCNAME=^i+算机文化”

8.A解析:将局部E-R图集成为全局E-R图时可能存在的冲突有:属性

冲突、结构冲突和命名冲突。因此4个选项中只有A(模型冲突)不属于

将局部E-R图集成为全局E-R图时可能存在的冲突,正确答案为选项

A。

9.D解析:关系模式需要满足一定的条件,不同程序的条件称作不同的

格式。最低要求的条件是元组的每个分量必须是不可分的数据项,这叫

做第一范式,简称1NF,是最基本的规范化。

10.A解析:本题考查关系模式分解的基本概念。正确答案为Ao

11.主动攻击【解析】在X800中将安全攻击分为两类:被动攻击和主

动攻击。被动攻击试图了解或利用系统的信息,但不影响系统资源。主

动攻击试图改变系统资源或影响系统工作。

12.XML语言【解析】XMPP是一种基于XML语言定义描述的IM协

议。

13.可串行化的或可串行化可串行化的或可串行化解析:本题考察调度

可串行化的概念。

如果多个事务在某个调度下的执行结果与这些事务在某串行调度下的

执行结果一致,则称该调度为可串行化的调度。可串行化是多个事务并

发执行的正确性准则。所以答案为:可串行化的。

14.信息信息是经过加工后的数据

15.221913624384332

16.日志日志

17.逆向工程逆向工程解析:PowerDesignerDataArchitect用于两层的即

概念层和物理层的数据库设计和数据库构造。DataArchitect提供概念数

据模型设计,自动的物理数据模型生成,针对多种数据库管理系统

(DBMS)的数据库生成,开发工具的支持和高质量的文档特性。使用其

逆向工程能力,设计人员可以得到一个数据库结构的“蓝图”,可用于文

档和维护数据库或移植到一个不同的DBMS。

18.进程多进程,多线索的体系结构:一个或多个线索进程,多个服务器

和多个后台进程。线索进程负责监听用户请求,将用户请求链入内存的

请求队列中,并将应答队列中执行结果返给相应用户。

19.关系关系

20.文件控制块文件控制块是系统为每个文件设置的描述性数据结构,文

件目录是文件控制块的有序集合。

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

22.B

【答案】B

【解析】DataArchitect是可以对PowerDesigner中所有模型信息进行

访问的只读模块。

23.A

24.C解析:本题主要考查了实体之间多对多的联系。

温馨提示

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

评论

0/150

提交评论