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

下载本文档

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

文档简介

2021年山西省长治市全国计算机等级考试

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

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

一、1.选择题(10题)

1.把E-R图转换成关系模型的过程,属于数据库设计的

A.概念设计B.逻辑设计C.需求分析D.物理设计

2.数据库数据的完整性一般是指

A.数据的独立性和一致性B.数据的正确性和相容性C.数据的可控性

和有效性D.数据的可移植性和可靠性

3.在关系代数中,自然连接的运算符号为o

A.7iB.xC.6D.oo

4.以下关于顺序存储结构的叙述中哪一条是正确的?

A.存储密度小

B.逻辑上相邻的结点物理上不必邻接

C.可以通过计算直接确定第i个结点的存储地址

D.插入、删除运算操作方便

5.批处理操作系统中,作业运行过程中反映作业的运行情况,并且是作

业存在的唯一标志是()。

A.作业状态B.作业类型C.作业控制块D.作业优先级

6.设X-Y是一个函数依赖,且对于任何经XZXJC>Y都不成立,则

称X-Y是一个

A.完全函数依赖B.部分函数依赖C.平凡函数依赖D.非平凡函数依赖

7.数据库中用于实现对数据库的基本操作,如查询、插入、删除和修改

的语言是

A.DDLB.DMLC.DCLD.DBMS

8.在数据库逻辑设计中,当把E-R图转换为关系模式时,下面的做法

哪一个是不正确的?

A.一个实体类型可以转换为一个关系模式

B.一个联系类型可以转换为一个关系模式

C.由实体类型转换成的关系模式的主键是该实体类型的主键

D.由联系类型转换成的关系模式的属性是与该联系类型相关的诸实体

类型属性的全体

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

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

10.下列哪一棵不是AVL树?

二、填空题(10题)

11.在数据库的三级模式体系结构中,模式与内模式之间的映象(模式/

内模式),实现了数据的独立性。

12.设有两个散列函数Hl(k)=kmodl3和H2(k)=kmod111,散

列表用双重散列解决冲突。函数H1用来计算散列地址,当

发生冲突时,H2作为计算下一个探测地址的增量,假定在某一时刻表

T的状态为:

0I2345678910H12

\YX\\)\1

T:|||67|72|||||34|||||

1111111tllII11

下一个被插入的关键码是41,其插入的位置是。

13.在TCP/IP协议集中,TCP协议和UDP协议运行于开放系统互联参

考模型中的层。

14.用户检索POP3邮件服务器的过程可以分成3个阶段:

事务处理阶段、更新阶段。

15.网桥按照路由表的建立方法分为两类:和源路由网桥。

16.对于一组给定权值所构造的霍夫曼树的形状有可能不同,它们的带

权外部路径长度O

17.观看视频时,如果人物说话的口型与声音不吻合,观众就会觉得很不

舒服。这种音频流与视频流之间的同步称为O

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

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

19.网络安全技术的研究主要涉及三方面问题:安全攻击和安全服务

20.服务器响应并发请求有两种实现方案:重复服务器方案和

三、单选题(10题)

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

A.edcbaB.decbaC.dceabD.abcde

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

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

23.关于反规范化说法不正确的是:

A.完全规范化与部分规范化数据库之间处理性能会有没多大差别

B.反规范化是将规范化关系转换为非规范化的关系的过程。

C.反规范化方法:增加派生冗余列、增加冗余列、重新组表、分割表和

新增汇总表等方法。都会破坏数据完整性。

D.采用反规范化技术从实际出发均衡利弊。

24.下面说法中错误的是()

A.子类具有继承性

B.子类的键是其超类的键

C.子类继承超类上定义的全部属性,其本身不可包含其他另外的属性

D.同一实体类型的若干子类之间可相交也可不相交

25.消息认证是指接收者能够检验收到消息真实性的方法,下列不属于

消息认证的检验内容?

A.A.证实消息的源和宿B.消息的内容是否保持其完整性C.消息

的序号和时间性D.消息是否被窃取

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

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

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

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

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

28.下列关于SQLServer数据库服务器登录账户的说法中,错误的是

A.登录账户的来源可以是Windows用户,也可以是非Windows用户

B.所有的Windows用户都自动是SQLServer的合法账户

C.在Windows身份验证模式下,不允许非Windows身份的用户登录到

SQLServer服务器

D.sa是SQLServer提供的一个具有系统管理员权限的默认登录账户

29.在数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机

中的表示,它是数据库设计的()阶段。

A.概念模型B.逻辑模型C.结构模型D.物理模型

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

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

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

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

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

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

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

出到文件out.dat中。

例:原文:dAe,BfC.

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

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

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

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

的内容。

linclude<stdio.h>

■include<string.h>

charxx[S0)(80];

4unsignedintmaxline,0;八文章的总行散­/

5intReadDat(void);

6voidWriteDat(void);

7voidSortCharD(void)

B

9

10

11voidmain,)

12

13if(ReadDat())

14(

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

16return;

17I

18SortCharD0;

19WriteDat();

20J

/♦从文件hidm中读取一篇英文文拿存入寓平希申致跳«中•/

21intReadDat(void)

22(

23FILEefD;

24;inti,0;

25!char*p;

26jif((fpmfopenC^in.dat","r">)•"NULL)

27;return1;〃加泉文件in,d小内容为匕则返回1

!,•当从文件ln.dat中读取79个字符存入xxlil设育1•设发生时.执行微环体中的语句〃

28;while(fgets(xx[i]#80efp)!■NULL)

29;1

30•p-strchr(xx(i),tXn');〃在字符率xx[£)中秀找回车换打符事一个西配的位置

31;if(p)*p-0;〃如果p的值不为零.划元其值设置为0

32;i++;〃行爻量加】

33:}

34।maxline•1;//IE文章的总行敬M蛤攵■naxllne

35[(close(fp);

36|return0;

37;|

i/・1E怙果XX・出刎文科ouLdat中•/

38;voidWriteDat(void)

39;(

40!FILE*fp;

41junsignedinti;

Mw

42;fp•fop^n(out•dat*'t**w);

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

44i(

H

45;printf(*%s\nrxx[1]);

46!fprintf(fp,7s\n3xxfi]);

47i}

48•fclose(fp);

49!}

32.程序test.c的功能是:计算100以内满足以下条件的所有整数i的

个数ent以及这些i之和sum。条件:i,i+4,i+10都是素数,同时i+10

小于100o请考生编写函数countvalue实现程序要求,最后调用函数

wfiteDAT把结果ent和sum输出到文件out.dat中。(数值1不是素数)

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

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

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

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

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

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

字),如果新组成的两个位数ab>cd,ab必须是偶数且能被5整除,cd必

须是奇数,同时两个新数的十位数字均不为零,则将满足此条件的四位

数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的

个数cnto最后main函数调用写函数writeDat把结果ent以及数组b中

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

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

程序中已定义教组:限00),b[200],已定义变量:ent

请勿改动数据文件in.dat中的任何数据,主函数mainO、读函数readDatO和写函数writeDaU)的内容.

1!linclude<stdio.h>

2!fdefineMAX200

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

4•voidwriteDat();

5;voidjaVal()

8j)

9!voidreadDatO〃从in.dat文件中it取2。0个四位数存入致蛆a中

10j(

11•int£;

12!FILEafp;

13;fp-fopen(Min.datH,

14jfor(i-0;i<MAX;if)

15!fscanf(fp,Fd",;

16;fclose(fp);

17!»

18ivoidmain()

19;(・

20;inti;

21jreadDat();

22•jsValO;〃・用商敷”vc。,雪观费求的功能

23jprintf<”涓足条件的数-Qd\n”,ent);

24)for(1-0;1<ent;11♦♦)

25!printf(w%d",b[i));

26:printf("\nw);

27writeDat();

28I

29voidwriteDat(>"把计算姑果cm以及融Iflb中普台条村的四位依"出到outdot文件中

30(

31FILE*fp;

32int1;

33fp•fopen(wout.dat°,Ww*');

wR

34fprintf(fp,ld\nrent);

35for(1■0;i<ent;if)

36fprintf(fprb(i]);

37fclose(fp);

38

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

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

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

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

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

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

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

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

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

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

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

注意।部分图程序存在te«x文件中.

程序中已定义数fth4200].b{200],已定义变量tent

请勿改动数据文件itL&M中的任何数据・主函数main().读函数neadIXtO和写函数writeDatQ的内容.

1•Iinclude<stdio.h>

2\tdefineMAX200〃定义宏支量MAX.其值的于zoo

3\inta【MAX),b(MAXJ,ent-0;〃定义全局整VTt敷烟alMAX].bIMAX)和支・ent.苒匐值等于0

4IvoidwriteDat();

5;voidjsVal()

6ii

1।

8j1

9!voidreadDatO〃从2n.st文件中it取zoo个四位flt存入数ifl■中

10i{

111inti;

12!FILEefp;

13;fp-foponwr*);

14!for(1•0;i<MAX;

ISifscanf(fp,(a[1]);

16•fclose(fp);

1711

j

18ivoidmain。

19i(

20int1;

21readDat();

22jsvaio;〃•用”vno的总实现融目要求的动俺

23printf「满足条件的n".ent);

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

25printf(n%d”,b[i]);

26printf;

27writeDat();

28j)

29voidwriteDatO〃化itir姑累cm以及数饵b中符合条件的四位数■出到OULdM文件中

30

31FILE#fp;

32int1;

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

34fprintf(fp,fd\n",ent);

35for(i•0;1<ent;

36fprintf(fpr-%d\n"rb(il);

37fclose(fp);

38

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

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

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

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

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

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

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

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

题;产品代码比较请用函数stremp进行解题。例如:sell[i]=temp;

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

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

Iinclude<stdio.h>

♦include<string.h>

3♦include<stdlib.h>

4♦defineMAX100

5typedefstruct

6

7chardm(5];八产豆代码•/

8charmcfll];/•产品名琼•/

9intdj;/•,价•/

10intsi;/••/

11longje;/•金・•/

12)PRO;

13PROsell[MAX);

14voidReadDat();

15voidWriteDat();

16voidSortDatO

17

18

19

20:void1n()

memsct(oolU0,slzeof(sell));

ReadDat()/

SortDat():

WciteDat(I;

/,谨取K100余帆2记梁弁俘AWI的数招皿1中•/

voidReadD&t()

(

FILE•fp;

charatr[80],eh[II];

intii

fp■fopen(*in.datw,"r")?

for(i•0;1<100;m

(

fgets(str,80*fp);

memcpy(sellU|.da,str«4”

memcpy(sell(1].me*str♦4.10):

memepy(ch,str*14,4);ch(4)«0;

sei1[iJ.dj,Atol(ch);

memepy(ch,str*18,5);ch[5]*0;

sell[1].si-atoi(ch);

sellli].je•(long)sell(1].dj•sell

I

fclose(fp);

八杞籍里・出到文件outdat中•/

voidWriteDat0

I

FILE*fp;

intif

fp■fopen(*out*wH|/

for(l•0;1<100;

I

fprlntf(fp,"U%5MdtSd1101d\n*,sell・dm,aellfil.me,sell(i|.dj,sellli].si

sei111J.jo):

36.程序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的内容。

1;linclude<stdio.h>

jintent,sum;

\voidwriteDAT();

;voidcountvalue()

»voidmain()

i1

»ent■sum*0;

:countvalue();

12-prlntf「满足条件的个数7d\n",ent);

13jprintf("满足条件所有的SIX与NINE的和Td\n”,sum);

14;writeDATO;

15

把姑果anfDsum■出文件ouLdit中・/

16voidwriteDAT()

17

18FILEwfp;

19fp■fopen(-out.datw,Hww);〃以只写的方式打开文件。ut.&u

20fprintf(fp,”d\n%d\n”,ent,sum);〃把结果cmlOMiin・出到文件om&t中

21fclose(fp);〃关闭文件out.dat

22

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

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

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

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

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

例如:5591Mtft,连攻淌足条件.参加计时平均值pjz1・H个数cniynt+1.

9812是诈腐数,谟攻不涓足条件.参加计算平均值pjz2.

注意£鄙分源程序存在9M.C文件中.

展序中已定义数组:a|300].已定义变量:ent.pjzl.pjz2

消勿改动故索文件indat中的任何数纲、I隔数mun().此函数readDatO和工;东数wnteDatO的内容

1;tinclude<Btdio.h>6句说明8科学中心畲e60中第标次・人■出片嫉岫aiaioii

2•inta(300)«cnt*0;,甲教研.[33。)和更■ant.我・unt献初例为0

3!doublepjzl*0.0ep1z2・0・01〃/次受■力H.p,z2科院树编为o.o

4ivoidwrlteDat();/,・出余。说明中句

S:voidreadDat();//■入函数说蜃谢何

6,intisPfintin)〃濡故i"UratM科断D>R古为,此W果近腐敏3常问].松则也回o

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

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

中依次取出一个四位数,对每一个四位数作如下处理:把个位数字和千

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

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

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

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

新组成数:一个是奇数,另一个为偶数,并且至少有一个数能被17整

除,同时两个新数的十位数字均不为零,则将满足此条件的四位数存入

数组b中,并计算满足上述条件的四位数的个数ent,而后对数组b进

行降序排序。最后main函数调用写函数writeDat把结果ent以及数组b

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

例如:一个四位数为4512,依题意组成的第一个新数为24,第二个新

数为51,其中51能被17整除,这两个新数的十位数字不为零,则4512

这个四位数满足题意所规定条件。

注意】部分源程序存在test.Ck件中・

程序中已定义数组:a[200].b[200],已定义攵最:ent

请勿改动数据文件in.dal中的任何数据.主函数nuin().i#的数rcadDaiO和写函数writeDat()的内容.

1!tinclude<stdio.h>

2j^defineMAX200

3-intalMAX]tb[MAXl,ent-0;

4!voidwriteDat();

5tvoidjsVal()

6\(

8;I

9!voidreadDat()//从in.da匕文件中谭取200个四位数存入数力1a中

10;(

11•int1;

12•FILEwfp;

13;fp•fopen("in.datw,*rM);

14Jfor(i-0;1<MAX;

w

15\fscanf(fp/"%dr(11);

16i(close(fp);

17;)

18ivoidmain()

39.已知在文件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

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

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

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

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

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

件中。

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

程序中已定义数组:a(200].b(200].已定义变量;ent

请勿改动数据文件imdat中的任何数据、主演数皿m0"速函flreadDatQ和写函数writeDatO的内容.

1;finclude<stdio.h>

2!tdefineMAX200

3;inta(MAX),b(MAX|.ent-0;

4;voidwritQDat();

5•voidjsVal()

6;(

7i

8j|

9;voidreadDat()〃从An.dat文件中博取200个四位数存入数烟a中

();〃*用脸0:W.1(),实理JHH♦求的功能

f「满足条件的数・Qd\n",ent>;

printf("%db[i

28}

29!voidwrlteDat()〃总计枕姑梨cm以及数51b中普合条件的四位效•出到。皿出文件中

30;(

31;FILE・fp;

32•int1;

33;fp-fopen("out.dat*^Hw*j;

34!fprintf(fp/"七d\n".ent);

35»for(i-0;i<ent;1>+♦)

36Jfprintf(fp,Fd\N・b(i]);

37!fclose(fp);

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

41.设在SQLServer2008某数据库中,已建立了四个文件组:fgl、f92、

f93和f94,以及一"分区函数RangePFl。RangePFl的定义代码如下:

CREATEPARTITIONFUNCTIONRangePFl(int)ASRANGELEFTFOR

VALUES(100,200,300)(1)请基于RangePFl创建一个分区方案

RangePSl,每个分区对应一个文件组。(5分)(2)请使用RangePSl创

建一个分区表PartitionT(Gid,GoodName,Price),该表基于Gid列创

建分区。其中Gid:int类型,取值大于等于1;GoodName:统一字符编

码可变长类型,最多可存储20个汉字;Price:定点小数类型,小数部

分1位,整数部分到千位。(5分)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

限)(4分)

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

43.在某并行数据库中,有关系R(A,B)和S(B,C),其中R包含

1000000行数据,S包含100行数据。现有查询SELECT*=FROMR,S

WHERER.A>;S.Bo下列数据划分方式中,对该查询速度最快的是

()o

A.将R按照A属性进行散列划分,将S按照B属性进行散列划分

B.将R按照A属性进行范围划分,将S按照B属性进行范围划分

C.将R按照A属性进行范围划分,将S复制到各个节点

D.将R按照A属性进行散列划分,将s复制到各个节点

44.设在SQLServer2008某数据库中有销售表(商品号,销售时间,销

售数量,销售价格),其中商品号的类型为char(6),销售价格的类型为

into现要定义统计指定商品销售总价的标量函数。有下列定义该标量函

数的语句:I.CreateFUNCTIONdbO.GetTotal(@GoodIDchar(6))

ReturnsintASBEGINReturn(SELECTSUM(销售价格)FROM销售表

WHERE商品号=@GoodID.ENDII.CreateFUNCTIONdbO.GetTotal

(@GoodIDchar(6))ReturnsintASBEGINReturns(SELECTSUM(销

售价格)FROM销售表WHERE商品号=@GoodID.ENDIII.Create

FUNCTIONdbO.GetTotal(@GoodIDchat(6))ReturnsintBEGINRetum

(SELECTSUM(销售价格)FROM销售表WHERE商品号

=@GoodID.ENDIV.CreateFUNCTIONdbO.GetTotal(@GoodIDchar

(6))ReturnsintRetums(SELECTSUM(销售价格)FROM销售表

WHERE商品号=@GoodID.上述语句中,正确的是()。

A.仅I和IIB.仅m和wc.仅II和wD.仅I和m

参考答案

1.B解析:E-R图转换成关系模型的过程,属于数据库设计的逻辑设计

阶段。

2.B解析:关系数据模型由关系数据结构、关系操作集合和关系完整性

约束3大要素组成。①关系数据结构。关系模型把数据库表示为关系的

复合,每个关系都表示为一张二维表。②关系操作集合。关系模型中常

用的关系操作包括选择、投影、连接、除、并、交、差等,以及查询操

作、修改操作(包括插入)、删除和更新两大部分。③关系完整性约束。

数据库的数据完整性是指数据库中数据的正确性和相容性.

3.D解析:在关系代数中,O表示连接;X表示广义笛卡尔积;71表示

投影;。表示选择。

4.C解析:顺序存储方式主要用于线形的数据结构,它把逻辑上相邻的

数据元素存储在物理上相邻的存储单元里,具有存储密度大,可通过计

算直接确定第i个元素的存储地址,插入删除运算不方便的特点。分析

题目中的四个选项可知,选项C的叙述是正确的,本题正确答案为C。

5.C解析:操作系统根据作业说明书,生成一个称为作业控制块JCB的

表格。系统为每一个作业建立一个JCB,JCB包含了对作业进行管理控

制所必要的信息。JCB在作业整个运行中始终存在,内容不断变化,只

有当作业完成退出系统时,才清除该作业的JCBO因此,JCB是作业

在系统中存在的标志。JCB内容是作业调度的依据。

6.A解析:根据完全函数依赖的定义可知,在R(U)中,如果X-Y,并

且对于X的任何一个真子集X】X-Y不成立,则称Y对X完全函数

依赖。

7.B解析:DDL表示数据定义语言。DML表示数据操纵语言。DCL表

示数据控制语言。DBMS数据库管理系统。数据定义语言包括:创建基

本表、修改基本表、创建索引、删除索引,故A)选项错误;数据操纵语

盲包括:查询、插入、删除和修改等等,故B)选项正确;数据控制语言

包括:授予权限、收回权限等等,故C)选项错误;D)选项和此问题不相

关,故D)选项错误。掌握嵌入式SQL的概念。

8.D解析:E-R图转换为关系模式时遵循如下原则:一个实体类型转换

为一个关系模式,实体的属性就是关系的属性,实体的键就是关系的键;

一个联系类型转换为一个关系模式,参与该联系类型的各实体的键以及

联系的属性转换成关系的属性。

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

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

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

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

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

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

10.BB解析:本题是对AVL树特性的考查。二叉排序树的每个结点上

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

树中所有的关键码值都大于该结点的关键码值。AVL树是指平衡的二叉

排序树,是对二叉排序树的一种平衡化处理。结点的平衡因子定义为其

右子树的高度减左子树的高度。若任意结点的平衡因子的取值均为-1、

1或0,则此二叉排序树为平衡的二叉排序树(AVL)。对照AVL的定义

知A、C、和D均满足要求,只有B中关键码值为15的结点的平衡化

因子为2,与AVL的定义不符,不是AVL。所以本题正确答案为B。

H.物理物理解析:三级模式是对数据的3个抽象级别,从外向内依次

为外模式、模式和内模式,三级模式之间存在两级映像,即外模式/模式

映像和模式/内模式映像。

三级模式和两级模式映像保证了数据具有较高的逻辑独立性和物理独

立性。

12.根据HL41的插入位置应该是41mod13,即2,但位置2有冲

突,用H2探测地址增量:41mod11+1=9,所以其插入位置应该是2

+9=11,所以其插入位置为11。

13.传输【解析】在口互联中,传输控制协议(TCP)和用户数据报协议

(UDP)是传输层最重要的两种协议,它们为上层用户提供不同级别的通

信可靠性。

14.认证阶段【解析】用户检索POP3邮件服务器的过程可以分成3个

阶段:认证阶段、事务处理阶段、更新阶段。

15.透明网桥【解析】网桥按照路由表的建立方法分为两类:透明网桥

和源路由网桥。这两种网桥标准分别由IEEE802.1与IEEE802.5两个

分委员会制定。

16.相同相同

17.唇同步【解析】唇同步要求音频与视频之间的偏移在?80ms内,这

样多数观众不会感到偏移的存在。

18.客户机端或客户机SQLServer2000的组成,一般包括客户机组件,

服务器端组件,通信组件三部分组成。

19.安全机制网络安全技术的研究主要涉及三方面问题:安全攻击,安全

服务和安全机制。

20.并发服务器方案【解析】服务器响应并发请求有两种实现方案:重

复服务器方案和并发服务器方案。

21.C

22.C

23.A

24.C

25.D

消息认证是指接收者能够检验收到消息真实性的方法,检验的内容包

括:

①证实消息的源和宿

②消息的内容是否保持其完整性、即未篡改

③消息的序号和时间性

26.B

27.C解析:本题主要考查了实体之间多对多的联系。如果对于实体集

A中的每一个实体,实体集B中至多有一个实体与之联系,反之亦然,称为

一对一联系;如果对于实体集A中的每一个实体,实体集B中有n个实体

与之联系;对于实体集B中的每一个实体,实体集A中至多有一个实体与

之联系,称实体集A与B的联系为一对多联系;如果对于实体集A中的

每一个实体,实体集B中有n个实体与之联系;对于实体集B中的每一个

实体,实体集A中有m个实体与之联系,称为多对多联系。所以。正确。

28.B

29.B

30.A解析:自然连接是一种特殊的等值连接,它要求两个关系中进行比

较的分量必须是相同的属性组,并且要在结果中把重复的属性去掉。一

般的连接操作是从行的角度进行运算,但自然连接还需要取消重复列,

所以是同时从行和列的角度进行运算。

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

存入字符串数组中。

\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]xXX[i][k]按照它们的

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

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

的顺序进行排序。

\n【参考答案】

\n

\n

32.\n[审题关键句】100以内(含100)满足i、i+4、i+10都是素数的整数

的个数以及这些i之和。

\n【解题思路】

\n①首先定义循环变量i,然后将i的值赋初值为3,每循环一次则将i

的值加1,直到i<90。

\n②在for循环中,每执行一次循环则调用函数isPrime(该函数具体的算

法已经在源程序中给出,直接用即可),对i、i+4、i+10是否同时是素

数进行判断,如果这三个数同时为素数,则计数变量ent值加1,同将

时将变量i的值累加到sum上。

\n【参考答案】

\n

\n

33.\n[审题关键句】千位+十位与个位+百位,比较大小,整除,奇数,

从大到小排序。

\n【解题思路】

\n本题类似第26套试题,通过审题可以发现主要是对四位数的筛选条

件有所不同,即判断新组合的两位数要求第一个为偶数,第二个为奇数,

比较两题的第10条语句,只需将新组合的第二个数的判断条件改为奇

数判断,即“newV2%2”。

\n【参考答案】

\n

\n

34.【审题关键句】千位+十位组合与个位+百位组合,都是奇数,两数相

减结果大于等于0小于等于10,从大到小排序。

\n【解题思路】

\n①首先,本题要定义多个变量,包括两仑循环变量循环i、j;用来存

放四位数分解之后各位数的变量qw(千位)、bw(百位)、SW(十位)和gw(个

位);两个用来存放重新组合数字的变量newVl和newV2。

\n②通过for循环依次对数组中的每个四位数进行分解,每分解一个四

位数,根据题目要求,对其各位数进行重新组合,形成两个新的十位数,

组合条件分别是原四位数的千位和十位组成一个十位数,个位和百位组

成一个十位数,并将两个新的十位数分别赋给变量newVI和newV2o

\n③数字重组完毕之后,再根据题目要求筛选满足条件的四位数,本题

需要考虑多个筛选条件:一是新组合的十位数中,其十位数不能为0,

即原四位数的千位和个位数字不能为0;二是两个新组合的十位数之差

必须大于等于。小于等于10;三是两个新组合的数字均为奇数。

\n④将同时满足以上3个条件的四位数赋给数组b[cnt],同时数组下标

值加1,当for循环执行完毕后,则将所有满足条件的四位数全部存放

到数组b[cnt]qbo

\n⑤最后通过两个for循环,对数组b[cnt]中的元素按从大到小的顺序排

序,排序过程中,可用newVl或newV2作为数据交换的中间变量。

\n【参考答案】

\n

\n

35.\n[审题关键句】计算金额,按产品代码从小到大进行排列,相同的

则按金额从小到大排列,结果存入结构数组。

\n【解题思路】

\n本题类似第57套试题,通过审题可以发现主要是排序条件的设置要

求有所不同,参考答案的第8行进行修改即可。

\n【参考答案】

\n

\n

36.【审题关键句】计算满足条件的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从0开始,依次递增直到其值等于10,退出循环。在第三层for

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

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

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

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

\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

37.\n【审题关键句】求素数的个数及平均值,并计算非素数的平均值。

\n【解题思路】

\n①首先定义循环变量i,然后通过for循环对数组a[300]d0的每个元素

a[i]调用函数isV(a[i])判断a[i]是否是素数(素数的算法已在isP函数中给

出,此处直接调用即可),如果是素数,则把其加到变量pjzl上,同时

计数变量ent加1,否则am值加到变量pjz2上。直到判断完数组a[300]00

的所有数据后退出循环。

\n②求出pJzl、pjz2和ent的值之后,再用变量pjzl的值除以ent的值

就得到素数的平均值,同时把这个值赋给变量pjzl,最后用变量pjz2的

值除以300.ent的值就得到非素数的平均值,并把这个值赋给变量pjz2。

\

温馨提示

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

最新文档

评论

0/150

提交评论