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

下载本文档

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

文档简介

[2021年】江西省九江市全国计算机等级

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

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

一、1.选择题(10题)

1.下列问题的关系代数操作基本如下的关系R和So

若关系R和S的关系代数的操作结果如下,这是执行了

D.Rx.S

2.设有属性A,B,C,D,以下表示中不是关系的是

A.R(A)B,R(A,B,C,D)C,Rx(AxBxCxD)D,R(A,B)

3.下述哪一条是并发控制的主要方法?

A.授权B.日志C.封锁D.索引

4.引人多道程序的目的是

A.提高实时响应速度B.增强系统交互能力C.为了充分利用主存储器

D.充分利用CPU,减少删的等待时间

5.在有n个叶子的哈夫曼树中,其节点总数为()。

A.不确定B.2nC.2n+lD.2n-1

6.SQL通常不提供下列哪一种操作?

A.修改索弓[定义B.修改视图定义C.修改索弓[定义和修改视图定义D.

修改表定义

7.数据库系统的核心是()

A.编译系统B.数据库C.操作系统D.数据库管理系统

8.下面试题基于如下描述:有关系模式P(C、S、T、R、G),根据语义有

如下函数依赖集:F{C—T,ST-R,TR-C,SC—G}。

下列属性组中的哪一个(些)是关系P的候选码?I.(C,S)II.(C,R)

III.(S,T)IV.(T,R)V.(S,R)

A.只有mB.I和mc.I、ii和wD.n、m和v

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

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

以得到保障

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

传染计算机病毒

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

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

下的保护问题

10.是防止对系统进行主动攻击,例如企业伪造、篡改的重要技

术手段。

A.加密B.防火墙C.隐藏D.认证

二、填空题(10题)

n.可变分区的主存分配算法有【】、最佳适应算法和最坏适应算法

12.在SQL语言中,为了修改基本表的结构,可以使用的语句是____o

13.广义表是线性表的推广,是由零个或多个单元素或所组成的

有限序列。

14.数据包过滤技术是在_________对数据包进行选择。通过检查数据

流中每个数据包的源地址、目的地址、所用的端口号、协议状态等因素,

或它们的组合来确定是否允许该数据包通过,它通常安装在路由器上。

15.网状、层次数据模型与关系数据模型的最大区别在于表示和实现实

体之间的联系的方法:网状、层次数据模型是通过指针链,而关系数据

模型是使用O

16.一个路由器的两个IP地址为和,其路由表如下所示。

当收到源IP地址为40.0.0.8,目的IP地址为的数据报时,它将

把此数据报投递到(要求写出具体的IP地址)

要到达的网络下一路由器

20.0.0.0也接投递

30.0.0.0H接投递

20.0.0.5

40.0.0.030,0.0,7

17.PowerBuilder10.0为使用.NET开发工具的用户提供了一套_[]_工

具。这项专利技术是为简化应用开发而设计的,可缩短开发时间、减少

代码等。

18.进行并、差、交集合运算的两个关系必须具有相同的,即元

组结构相同。

19.严格两阶段锁协议要求对更新的封锁必须保持到事务的终点。

20.先写日志原则是为了发生故障后保持数据库的原子性和所必

须遵循的原则。

三、单选题(10题)

21.ENIAC所用的主要元件是()

A.集成电路B.晶体管C.电子管D.以上答案都不对

22.某数据库应用系统中,数据库管理员发现某个查询功能是用多表连接

操作实现的,此操作性能较差。在保证功能不变的前提下,若要提高该

查询的执行效率,下列方法中可行的是()

A.将此查询语句放置在视图中,使用视图实现该查询操作

B.修改实现此功能的查询语句,将连接查询改为嵌套查询

C.将此功能涉及到的表进行合并,然后对合并后的表进行查询

D.将此查询语句放置在存储过程中,通过调用存储过程实现该查询操作

23.对于学生信息表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.以上均不正确

24.在SQLServer2008的系统数据库中,为调度信息和作业历史提供存

储区域的是

A.MasterB.ModelC.PubsD.Msdb

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

应授予哪一种权限?

A.DROPB.DELETEC.ALTERD.UPDATE

26.在关系数据库系统中,一个关系相当于()

A.一张二维表B.一条记录C一个关系数据库D.一个关系代数运算

27.病毒的主要特性表现在如下哪几个方面?()

I.传染性

II.灵活性

III.破坏性

IV.隐蔽性

V.常驻内存

A.I、II和niB.I、ii和wc.II、m和wD.全都是

28.以下关于因特网中的电子邮件的说法,错误的是()。

A.A.电子邮件是有固定格式的,它由邮件头和邮件体两部分组

B.电子邮件应用程序的最基本的功能是:创建和发送,接收、阅读和管

理邮件的功能

C.密码是对邮件的一个最基本的保护。目前,保证电子邮件安全性的主

要手段是使用大写字母、小写字母、数字和符号混用的密码

D.利用电子邮件可以传送多媒体信息

29.已经获得除CPU以外的所有所需资源的进程处于()状态。

A.运行状态B.就绪状态C.自由状态D.阻塞状态

3O.AHIT和Bair两个数组说明如下:VARAarr:Array[0...7]ofchar;

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

大个数是()

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

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

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

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

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

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

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

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

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

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

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

例如Al123124152115

bi3245172718IS

c:345I12751155

播序后j113512753451

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

程序中已定义,1(100].b(100)和c[100]・

请勿改动数据文件IN1.DAT和1N2.DAT中的任何数据・主函数nvun()・it的数readD.tO和与端数writeDW)的内容.

11*include<stdio.h>

2i•defineMAX100

3JintalMAXHb[MAXJ,C(MAX1;

4•intent,0;/•存收制作臬件次的个©•/

5;voidIsVal()

t#INIDAT90IN2.DAT<1*^18个眄位存入融趾•Mb中•/

voidreadDat<)

11intU

12FILEefp;

13fp-fopen("inl.daCM**r")

14ford-0;1<MAX;…)

15fscanf(fp,fca(11);

16fclose(fp);

17fp•fopen("in2.dat","r**)

18for(i"0;1<MAX:

19fscanf(fp4"td"・,b【U);

20fclose(fp);

21I

22voidmain()

int1;voidwriteDat();

25ford-0;1<MAX;

2bc[l]•0;

27readDat();

28jsVal();

29for(i-0;I<MAX“C[i0;

30printf(*%d\n-rc(i)>:

31writoDat()i

32)

/•圮储最敏蜗c・M期文竹2k•1»•/

33voidwriteDat()

34•(

35JFILEafp;

36jintit

31!fp-fopen("out.dit*,Hw"»;

38!ford-0;1<MAX,,c(i|>0;

39»fprlntf(fp,"IdXn",c(i]);

40•fclose(fp)i

41;1

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

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

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

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

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

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

例如।6712.6+2=7+1,则该班满足条件存入数姐b中,且个数cnkcntH.

8129,则该数不清足条件忽略.

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

程序中已定义数姐:a(300).b(300).已定义变量:art

请勿改动数据文件gdat中的任何数据、主函数读函数readDatO和写的数wriicDalO的内容

1jIinclude<stdio.h>

2-inta[300).b[300]#cnt-0;

3!voidwriteDat();

4ivoidreadDat();

5-voidjsValue()

6•(

;!,

9!mainO

10;(

11!int1;

12ireadDat();

13•jsValueO;

14!writeDat();

M

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

16Jfor(i•0;i<ent;

wM

17jprintf(b[%d]-%d\nr1,b[i]);

18;I,

19!voidreadDat()

20;(

21|FILE*fp;

22!int1;

23jfp•fopen("in.dat*#;

24•for(i*0;i<300;

25jfdcanf(fp*w%d,**,&a[1]);

26fclose(fp);

27

28voidwriteDat()

29

30FILEefp;

int1;

32fp■fopen(°out.datWww);

33fprlntf(fp,Fd\n",ent);

34for(i•0;i<ent;"♦)

35fprintf(fp,Fd\n”.b[l))

36fclose(fp);

37

33.编写一^函数findStr(char*str,char*substr),该函数统计一^长度为

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

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

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

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

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

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

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

填入你编写的若干语句。

^include<stdio.h>

*include<string.h>

voidReadWrlte();

a

intfindStr(char3trtchar•substr)

main0

charstr(81|,substr(3];

intn;

printf("输入原字符申:w);

gets(str);

pdntf("■入子字符串:”);

gets(substr);

puts(str>;

puts(aubstr);

nwfindStr(str,substr);

"n

printf(*n"%d\n,n);

ReadWrite();

I

,•从文件in.dii中It取两个字符中,蚌■用炳欣findSoO,■后1E郎果博出到文件即如中,/

voidReadWrite()

24charstr[81)rsubstr(3],ch;

25intn,lenri00;

e

26FILEerfrwf;

27rf=fopen(*£n.dat**,wrH);

wwHM

28wf-fopen(out.datrw>;

29while(i<5)

30|

31fgets(str,80,rf);〃从文件mdai中域取长度为R的字符中存入到字符中

32(gets(subset<10,rf);〃从文件mdit中读取长度为Q的子字符中存入到字符率substr

33len■strlen(substr)•1;〃mf字符南gubstr的长度K1的

ch-substr(lenI;〃把子字符州的量后T字箝的但"字符ch

人如臬子字符申的量后个字椅是同架按行符或是文钟帖贩料,明纪子字符串的♦后f字符的值设置X。•/

35if(ch«•'\n'11ch~Oxla)

36substr[len]・0;

flndStr(4tr«■ubstr)返Z1子字符串subst.r在字符率Atr中出现的次数*/

37n-findStr(str,substr);

38fprintf(wf/Fd\n".n);//IC计H纳暨n写入到文件out.dau中

39〃谓环堂量士加】

40I

41fclose(rf);

42fclose(wf);

43

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

号字符串数组XX中;请编制函数ChA,其函数的功能是:以行为单位

把字符串中的第一个字符的ASCII值加第二个字符的ASCII值,得到

第一个新的值,存入数组单元XX用⑼中(其中:i是文章中的某行)。第

二个字符的ASCII值加第三个字符的ASCII值,得到第二个新的值,存

入数组单元中。以此类推一直处理到最后第二个字符,最后一个

字符的ASCII值加原第一个字符的ASCII值,得到最后一个新的值,存

放在原字符串对应的位置上,之后把已处理的字符串逆转后仍按行重新

存入无符号字符串数组XX中。最后main函数调用函数WriteDat把结

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

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

号和空格,并也按它的ASCII值作以上处理。注意:部分源程序存放在

test.c文件中。

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

的内容。

1;*lnclude<stdio.h>

♦inclig・

d

ax

d

13if(ReadDatO)

14(

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

16return;

17}

18ChA();

19WriteDat();

20]

/•从文件m.dM中康我一编英文丈量存入》无符号字辨申数的XM中•/

21intReadDat(void)

22(

23FILE*fp;

24inti•0;

25char*p;

26it((fp-fopen(win.datw,Hr*))-NULL)

27return1;

28while(fgets(xx(i)<80#fp)9NULL)

29(

30p■strchr(xx(i)t•\n*);

31if(p),p«0;

32

33)

34maxline•i;

35fclose(fp);

36return0;

37)

/•把结果xx*出到ouLdal文件中•/

38voidWriteDat(void)

39(

40FILE*fp;

41inti;

42fp-fopenLout.dat".”");

43for(i«0;i<maxline;1+♦)

44(

w

45printf(%s\n"/xx(i));

R

6fprlntf(fp/"%s\n#xx[11);

47)

48fclose(fp);

49

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

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

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

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

制函数SortDat,其功能要求:按金额从小到大进行排列,若金额相等,

则按产品代码从小到大进行排列,最终排列结果仍存入结构数组sell中。

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

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

题。

例如:sell[i]=temp;

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

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

14include<stdio.h>

2Iinclude<»trlng.h>

3•IncludeOtdlib.h>

4fdefineMAX100

5typed©fstruct

6(

7chardm⑸;/•产4代码•/

8charnc(lll:/•MW•/

9intdj;/•・饼•/

10intsi;/•■■•/

11longje;/••・•/

12)PRO;

13PRO8011【MAX);

14voidReadDat();

15voidWritet>at();

16voidSortDat()

17

16

19

20voidmain()

21<

22momoot(selli0.stzeof:

23ReadDat();

24SortDat();

25WriteDatO;

26)

21voidReadDat()

28I

29FILEefp;

30charatr(80),ch(ll);

31Int1;

32fp-fopen("in.ckit","rw);

33for(i•0;1<100;

34(

35fgetBtstXr80,fp);

36memcpy(sell(l).dm,str,4);

37memcpy(sellfil.me,str♦4,10);

38menepy(ch«stx*14r4):ch(4J-0:

39sell(i).dj-atoi(ch>;

40memcpy(chrstr*18v5);ch(5]-0;

41sell(i).al-atoi(ch);

42sell(i).je-(long)sellU).dj•selldl.al;

43)

44fclose(fp);

45}

46voidWrlteOat()

47<

48FILEefp;

49inti;

50fp-fopen("out.**w*);

51tor(1•0;1<100;*+♦)

52

w

fprintf(fp,3%4d%5dt101d\n,seUUbdh,sellll).mc«aellUJ.djr.

sttllll)»je);

54;

55!fclose(fp);

56h

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

XX中(每行字符串长度均小于80)。请编制函数isSort,其函数的功能

是:以行为单位对字符串按下面给定的条件进行排序,排序后的结果仍

按行重新存入字符串数组XX中,最后调用函数writeDat把结果)XX输

出到文件Out.dat中。

条件:字符串从中间一分为二,左边部分按字符的ASCII值降序排序,

右边部分不作处理,排序后,左边部分与右边部分按例子所示进行交换。

如果原字符串长度为奇数,则最中间的字符不参加处理,字符仍放在原

位置上。

例如:位置012345678

源字符串abcdhgfe

123498765

则处理后字符串hgfcdcba

876594321

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

请勿改动数据文件in.dat中的任何数据、主函数maiM)、读函数n»dDat()和写的数wnteD&U)的内容.

1!linclude<stdio.h>

2j•include<string.h>

3;charxx[20]180);

voidreadDat();

5voidwrlteDat();

6voidjsSort()

7

8

9

10voidmain()

11(

12readDat0;

13jsSort();

14writeDat();

15>

,•从文件1ndu中读取20行数第存放到字符事数组«中•/

16voidreadDat()

17

18FILEein;

19inti■0;

20char*p;

wwwR

21in«fopen(in.datrr);

22while(i<20“fgets(xx(1]v80,in)NULL)

23(

24p-strchr(xxfij,•\n*);

25if(p)*p-0;

26

27)

28fclose(in);

29)

/•tt«ARxx♦出到文件outcfel中•/

30voidwriteDat()

31I

32FILEeout;

33int1;

W

34out-fopen(*out.dat",w*);

35for(i-0;1<20;

36{

*

37printf(,,%s\n*/xx[i));

w

38fprintf(outr*%B\nrxx(i));

39)

40fclose(out);

41

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

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

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

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

替代关系:)=p*17mod256,mod为取余运算,p是数组)xx中某一个字

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

型变量),如果计算后f(p)值小于等于32或f(p)是奇数时,则该字符不

变,否则用f(P)替代所对应的字符。

注意,部分源观序存放在teste文件中,原始数据文件存放的格式是:能行的宽度均小于80个字符,古标点符号和蹙

格,井也按出仲代关嘉进行处理•

请勿改动主函触mainO、读函数RedD«0和■出函数WmeDitO的内容.

1!Iinclude<3tdio.h>

2।iinclude<string.h>

3••Include<ctype.h>

4»unsignedcharxx[50][80);

5jintmaxline■0)/•文章的总行破•/

61xntReadDat(void);

7;voidWritoDat(void):

Q;voidenoryptCharO

9j(

10;unslQnedintval:

11

12

13voidmam()

14(

15if(ReadDat())

16(

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

18return;

19]

20encryptChar();

21WriteDat();

)

22八从文件utdal中幡取一编英文文章.存入到无祷号?利申数笆0中•/

23intReadDat(void)

24(

2SFILEefp;

26inti-0;

27unsignedchar*p;

ww

28if((fp-fopen(in.dafr-r))—NULL)

29return1;

30while(fgets(xx[1]<80,fp)!-NULL)

31(

32p-strchr(xx[1]t*\n*):

33if(p)*p-0;

34if

35I

36maxline-1;

37fclose(fp);

38return0;

)

39/•把站果XX•出到文件0MdM中•/

40voidWriteDat(void)

41(

42FILE#fp;

43int1;

44fp•fopen("out,datw^;

45for(1-0;i<maxline;

46(

47printfr%s\nw,xx(il);

48fprintf(fp,xx(i]);

49)

50fclose(fp);

51

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

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

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

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

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

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

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

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

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

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

到Out.dat文件中。

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

程序中巳定义数ALa|200].b(200],巳定义变量:ent

请勿改动数据文件m.dat中的任何数据、主函数nwunO、读的数rvadDatO和写曲数writeDUO的内容.

1

1.•include<stdio.h>

2J•defineMAX200

3!inta|MAX]#ent-0;

4-voidjsVal()

5!!

6।

8;voidreadDat()〃从xn・必e文件中虐取200个四位效存入fHSA中

w

12;fp-fopen(in.dat",

13!for(i■0;i<MAX;

14jfscanf(fp<6a(1]

15;fclose(fp>;

16;十

17;writeDat()/把计算能果cnl以及我耻b中料含条件的内付数♦出到outdai文件中

18

D;

voidmain()

28

29mt1:

30readDat();

31jsVal();〃调阳的敝加me宝现&U要求的功能

32printf("满足条件的SUd\n”.nt);

33for(1-0;1<ent;1♦*)

34printf<7d”,b[i!);

35printf(H\nM);

36writeDat();

37!)

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

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

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

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

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

位数字是原四位数的个位数字,新数的个位数字是原四位数的百位数

字),如果新组成的两个数ab-cd>=0且ab.cd<=10且两个数均是奇数,

同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到

小的顺序存入数组b中,并要计算满足上述条件的四位数的个数ent。

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

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

注意‘部分》程序存在teste文件中.

程序中已定义数fth1(200].b(200],已定义变量,cm

请勿改动数据文件trtdai中的任何数据,主函数mainO-读的数neadDatO和写函数writeDatO的内容.

Iinclude<stdio.h>

•defineMAX200〃宸义宏支/MAX,其值尊于zoo

3inta[MAXj,b[MAXJ,ent-0;〃定义全局鲁甲T•敷蛆ZMAXLDIHAX?宓变■st,苒初值等于0

4voidwriteDat();

voidjsValo

6

7

8

9voidreadDatO〃从m.dat文件中Ml200个四付数存入收蛆.中

10

inti;

FILEefp;

fp-fopen("in.dat*,"r*>;

for(1-0;i<MAX;

fscant(fpr"Id",fca[i]);

fclose(fp);

voidmain()

int1;

21readDatO;

22jsValO;〃■用”v“()角数实现显目裳求的功跳

23printf「满足条件的败ent);

24for(i*0;i<ent;i++)

25printf(w%d-,

26printfCXn**);

27writeDatO;

28

29voidwriteDatO〃化诗像姑果cm以及敏tflb中符合条件的四位敏■出到xdit文件中

30»|

31;FILE#fp;

32:inti;

w

33fp•fopen("out.dat,"D;

34fprintf(fp,-%d\n"rent);

35for(i•0;1<ent;£♦*)

ww

36fprintf(fpr%d\nrb[II);

37fclose(fp);

38

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

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

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

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

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

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

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

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

和输出函数WriteDat的内容。

linclude<stdio«h>

IdefIneMAXNUM200

3intxx【MAXNUM”

4inttOtNuw»0;〃文件xn.dat中共有多少个正事数

5inttotCnt-0;〃持令条件的正整数的个数

6doubletotPjz»0«0;〃平均值

7intReadDat(void);

8voidWriteDat(void);

9voidCalValue(void)

10

11

12

13voidmain()

14(

15Inti;

16for(i-0;i<MAXNUM;i")

17xx(i]•0;

18if(ReadDat())

19

20printfL数据文件in.dat不能打开!\007\nH);

21return;

22I

23CalValueO;

24printf(••文件in.dat中共有正整个\n".totNum);

25printf("符合条件的正整数的个数Nd个\n".totCnt);

26printf(“平均值totPjz);

27writeDat();

28

/•读取这若干个正■效井存人IhaMI中•/

29intBeadDat(void)

30(

31FILEefp;

32inti0:

33if((fp-fopen("in.dat**,wrw))-NULL)

34return1;

35while(!feof(fp))

36(

37fscanf(fp,7d・e.&xx(i+,:r;

38]

39fclose(fp);

40return0;

41|}

j八把计算结果存入文件。iR.Ut.中,

42:voidWriteDat(void)

43

44FILE*fp;

45fp-fopen("out.dat-,”w“);

46fprlntf(tp,totNun,totCnt,totPjz);

47fclose(fp);

48

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

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

据表格:

教师

上级领导教师

教师号教师名职称工资

9868王文华教授8000null

9983李一斌副教授60009868

9985丁一讲师删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,并说明每个关系模式的主码和外码。

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

用下划线标识。

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的被访问频率过高,

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

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

说明理由。(10分)

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

43.某公司计划开发一套生产管理系统,在开发前需对数据库产品进行选

型工作。下列有关数据库产品选型的说法,错误的是()o

A.由于关系数据库均采用SQL语句对数据库中数据进行维护,因此数

据库产品选定后如需进行更换,应用程序无需修改

B.存诜型过程中需要考虑应用系统的可用性、可靠性和连续性要求

C.在选型过程中需要考虑数据库管理系统所支持的操作系统平台,例如

SQLServer数据库管理系统只支持在Windows操作系统上运行

D.部分数据库管理系统在大数据量和大并发情况下可能出现速度变慢、

死锁等问题,因此在选型过程中应充分考虑数据量和性能需求

44.数据库设计主要包括概念设计、逻辑设计和物理设计三个步骤。设有

下列活动:I.设计ER图II.将ER图转换为关系模式m.定义数据

的约束条件W.用SQL语句描述事务活动上述活动中,属于逻辑设计

所包含活动的是()o

A.仅I、ii和niB.仅n、m和wc.仅II和niD.仅n和w

参考答案

LA解析:这是个连接运算通过关系代数运算可以得出结论答案A)正确。

2.C解析:表示关系的属性时,各个属性之间的分隔符选用

3C解析:在并发控制的技术中,最常用的是封锁方法。加锁后事务T

就对该数据对象有了一定的控制,在事务T释放它的锁之前,其他的事

务不能更新此数据对象。确切的控制由封锁的类型决定。因此本题正确

答案为选项C。

4.D解析:操作系统中,引入多道程序是为了充分利用CPU,戒少CPU

的等待时间。

5.D解析:由于哈夫曼树所有的分支节点均为双分支节点,根据二叉树

的性质,双分支节点等于叶子节点的个数减1,因此总节点数为n+n-

l=2n-lo

6.C解析:视图是基于基本表的虚表,索引是依附于基本表的,因此,

SQL通常不提供修改视图定义和修改索引定义的操作。用户如果想修改

视图定义或索引定义,只能先将它们删除掉,然后再重建。不过有些关

系数据库产品,如Oracle,允许直接修改视图定义。

7.D解析:数据库系统一般由数据库、数据库管理系统(DBMS)、应用系

统、数据库管理员和用户构成。DBMS是数据库系统的基础和核心。

8.B解析:本题考查关系模型中候选码的基本概念。由于(C,S)与(S,T)

都是码,故正确答案为B。

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

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

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

播的最大特点。

10.D解析:加密是防止破译信息系统中机密信息的技术手段;防火墙

(firewall)是网络(计算机)抵抗外部入侵的一种隔离保护软件;认证是防

止对系统进行主动攻击,常用技术有数字签名技术、身份识别技术和信

息的完整性校验技术等。

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

应算法

12.ALTERTABLEALTERTABLE解析:修改表可能的操作包括:增力

温馨提示

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

评论

0/150

提交评论