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

下载本文档

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

文档简介

2021年江西省南昌市全国计算机等级考试

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

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

一、1.选择题(10题)

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

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

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

2.在树T中,结点x的度为k(k>l),结点y是结点x最右边一个子女,

在与树T对应的二叉树中,也列结论成立的是

A.y一定是x在左子女B.y一定是x的右子女C.y的左子树一定是空二

叉树D.y的右子树一定是空二叉树

3.当前数据库技术的发展已形成各种类型的数据库应用技术,下述属于

这种发展推动力的是:O

I.应用的驱动

II,多种技术与数据库技术的结合

III,关系数据库的研究基础

A.IB.IIc.I和nD.I和n和ni

4.下列叙述不正确的是

A.DBMS具有数据库定义功能

B.DBMS具有数据库存取功能

C.DBMS不具有数据库的维护功能

D.DBMS具有数据组织存储和管理功能

5.下面基于关系数据库系统的,以数据处理为主的传统的数据库应用所

具有的特征的叙述,比较全面的是

I.结构统一

II.面向记录

HI.数据项小

IV.原子宇段

A.I,II和HIB.n,III和WAI,III和WD.I,n,HI和W

6.设计数据库概念模型最著名、最实用的方法是P.P.S.Chen于1976年

提出的什么方法?

A.新奥尔良方法B.实体一联系方法C.逻辑结构设计方法D.物理设计

方法

7.设有二维数据其每个元素占4个字节,数据按行

优先顺序存储,第一个元素的存储地址为100,那么元素A[5,5]的存储

地址为()。

A.76B.176C.276D.376

8.在下面的两个关系中,学号和班级号分别为学生关系和班级关系的主

键(或称主码),则外键是学生(学号,姓名,班级号,成绩)班级(班级

号,班级名,班级人数,平均成绩)

A.学生关系的“学号”B.班级关系的“班级号”C.学生关系的“班级号”D.

班级关系的“班级名”

9.SQL语言中,删除一个表的命令是

A.DELETEB.DROPC.CLEARD.REMOVE

10.对于数据表:student(sno,sname,sex,age,grade),查询学习成绩为空的

学生的学号和姓名,下面语句正确的是_____O

A.SELECTsno,snameFROMstudentWHEREgade=NULL

B.SELECTsno,snameFROMstudentWHEREgradeISNULL

C.SELECTsno,ageFROMstudentWHEREgradeISNULL

D.SELECTmo,ageFROMstudentWHEREgrade=NULL

二、填空题(10题)

H.如果关系模式R中所有的属性都是主属性,则R的规范化程度至少

达到O

12.设在关系模式R(A,B,C,D,E,F,G)中,根据语义有如下函数依赖集

F=(A-B,CTD,JF,(A,D)-E,(E,F)-G)。关系模式R的码是

13.数据库管理系统(DBMS)提供数据定义语言(DDL)及它的翻译程序,

DDL定义数据库的模式、外模式和内模式,并通过翻译程序分别翻译成

相应的目标模式,存放在【】。

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

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

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

1■—■4-1

要到达的网络’F•路由•

也接投递

直接投递

20.0.0.5

430.0.0.7

15.用高级语言编写的程序称之为[】。

16.

_[]_是专门用来进行数据检索,以及便于以后进行数据加工的一种重要

的数据库对象。

17.数据库应用系统的设计应该具有对数据进行收集、存储、加工、抽

取和传播等功能,即包括数据设计和处理设计,而【】是系统设计的基

础和核心。

18.__________服务是用于控制与限定网络用户对主机、应用、数据与

网络服务的访问类犁。

19.PowerBuilderlO.0为使用.NET开发工具的用户提供了一套[!工

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

代码等。

20.在请求页式存储管理中,若采用FIFO页面淘汰算法,则当分配的

页面数增加时,【】的次数可能增加也可能减少。

三、单选题(10题)

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

A.DBCCSHRINKDATABASE

B.DBCCSHRINKFILE

C.ALTERDATABASE

D.CREATESCHEMA

22.关于计算机的操作系统,下面叙述不正确的是

A.操作系统是从管理程序(管理软件和硬件的程序)发展而来的

B.操作系统既是系统软件又是应用软件

C.操作系统是计算机用户与计算机的接口

D.用户一般是通过操作系统使用计算机

23.用直接插入排序方法对下面四个序列进行排序(由小到大),元素比较

次数最少的是()

A.94、32、40、90、80、46、21、69

B.32、40、21、46、69、94、90、80

C.21、32、46、40、80、69、90、94

D.90、69、80、46、21、32、94、40

24.下列关于数据库重构的说法中,错误的是________o

A.数据库的重构就是对数据库的逻辑结构作必要的小范围改变

B.当存储空间的分配过于零散,导致存取效率下降,所以必须重构数据

C.数据库重构包括重新设计数据库及其应用程序

D.如果能够重构数据库,尽量不要重新设计数据库及相应的应用程序

25.下列哪一条不属于数据库设计的任务?

A.进行需求分析B.设计数据库管理系统C.设计数据库逻辑结构D.设

计数据库物理结构

26.在SQLSever中创建用户数据库,实际就是定义数据库所包含的文件

以及文件的属性。下列不属于数据库文件属性的是_________O

A.初始大小B.物理文件名C.文件结构D.最大大小

27.下面哪些是参数调整中需要关注的对象。

A.内存分配B.磁盘I/OC资源竞争D.以上全部

28.在数据库概念设计阶段,将局部E-R图集成为全局的E-R图时有可

能发生冲突,下面表述错误的是()。

A.A.总共可能发生2类冲突

B.类型、取值范围的冲突属于属性冲突

C.属性冲突通过协商、讨论等手段进行解决

D.结构冲突要用技术手段解决

29.ODBC是()

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

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

30.二维数组M[i,j]的元素是4个字符(每个字符占一个存储单元)组成的

串,行下标i的范围从。到4,列下标j的范围从。到5。M按行

存储时元素M[3,5]的起始地址与M按列存储时元素()的起始地址相

同。

A.M[2,4]B.M[3,4]C.M[3,5]D.M[4,4]

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

31.在文件in.dat中已存有200个正整数,且每个数均在1000至9999

之间。函数readDat是读取这200个数存放到数组aa中。请编制函数

jsSort,其函数的功能是:要求按每个数的后三位的大小进行降序排列,

如果出现后三位相等的数值,则对这些数值按原始4位数据进行升序排

列,将排序后的前10个数存入数组bb中。

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

例;处理前90125099601270258088

处理屈50998088702560129012

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

请勿改动数据文件in.dat中的任何数据、上由数main。、读函数readDai。和耳函散writeDatO的内容.

1«Iinclude<stdio.h>

2-linclude<string.h>

3!voidreadDat();

4;voidwriteDatO;

5;intaa(200)#bb[10];

6jvoidjsSortO

7;(

8;

9!I

10;voidmain。

11!(

12«readDat();

13-jsSort();

14•writeDat(>;

15;)

16!voidreadDatO

17;(

18•FILE•ins

19!int1;

20.in■fopen(Hm.datR,wrH);

21jfor(1•0;i<200;

22ifscanf(in/^aa[i|);

23;fclose(tn);

24\J

25»voidwriteDat()

26;f

27•FILE*out;

28<inti;

Mw

29-out-fopen(out♦datr**w0);

30!for<1•0;i<10;i*+)

31j(

w

321printf%d\nri♦);

33«fprintf(outr"Qd'n".bb[11);

34;}

35!fclose(out);

36;(

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

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

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

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

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

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

例如:位置01234567

源字符串hgfedcba

则处理后字符串hafcdcbs

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

请勿改动数据文件hutat中的任何数据.主的ItmainO、像函数readD«0前耳函敏writeDatO的内容.

■include<stdio.h>

•include<3tring.h>

voidreadDat();

4voidwriteDat();

5charxx(20](80];

6voidjsSort()

*J

e

9

10ivoidmain()

readDat();

13jsSort<);

14writeDat();

15)

/•从文件2中建取20行数掘存教到字样事做蛆xx中•/

16voidreadDat()

17

18FILE-in;

19inti-0;

20char*p;

R

21in•fopen("in.dat/"r");

22whiled<20“fqets(xx[i],80,in)!-NULL)

23

24p-strchr(xx[1]9'\n*);

25if(p)*p•0;

26if

27\

28fdose(in);

29)

“尼姑果"愉出到ouutat文件中•/

30;voidwrlteDat()

31”

32;FILEeOUt;

33!inti;

R

34•out,fopen("out.dat"rw")

35;for(1•0;i<20;

36?

37»printfxx(l));

38;fprintf(out,"HS**,xx[l]);

39;

40;fclose(out);

41)

33.函数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值01111010得到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);

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

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

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

第一个新的值,存入数组单元xx[i][O]中(其中:i是文章中的某行)。第

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

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

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

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

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

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

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

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

test.c文件中。

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

的内容。

1;IInclude<stdio.h>

2\♦include<string.h>

3:unsignedcharxx[50][80];

4!intmaxline■0;/,文章的总行数,/

5;intReadDat(void);

6!voidWriteDat(void);

7jvoidChA(void)

8•|

Q;

voidmainO

if(ReadDatO)

14i

(

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

return;

16I»

17;}

18;ChAO;

19!WriteDat();

20;»

/•从文件indM中读取一管英文文・存入到无符号字符串数彷XX中叶

2iiintReadDat(void)

FILEwfp;

inti•0

char*p;

26•if(<fp-fopen("in.dat","r"))-NULL)

27ireturn1;

28;while(fgets(xx(1),80,fp)!*NULL)

29•

30ip■strchr(xx[i],•\n,);

31!if(P)・P-0;

32;if

33:)

34imaxline•i;

35jfclose(fp);

36;return0;

37;}

/•纪结果xx•出到ouLda!文件中•/

38voidWriteDat(void)

39!(

40;FILE*fp;

41!inti;

42;fp•fopen("out.datM,**w*);

43jfor(1-0;i<maxline;i++)

44•(

wH

45•printf(%s\nfxx[i]);

46!fprlntf(fp,**%s\n"xx(il);

ir

47;

48!fclose(fp);

49;)

35.已知数据文件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•tinclude<stdio.h>

2j♦defineMAX200〃定义宏变■MAXK值*于2。。

3;inta[MAX)rb(MAX)#ent,0;〃"初始位为0,定义全局—脩lUtta;MAXi•b(MKXI

4'voidwriteDat();〃曾rlsoat婚依的说明语句

5|voidjsVal()

61(

/•readDat()从数据文忖m.dat中设取200个网位数存入数组•中•/

9voidreadDat()

10

11int1;

12FILEefp;

13fp•fopen(*in.dat**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

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

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

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

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

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

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

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

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

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

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

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

1*tinclude<stdio.h>

2•include<string.h>

3•include<stdlib.h>

4•defineMAX100

5typedefstruct

6I

7chardn(5];八产卫代码•/

8charmc(ll];/•产M名黑♦/

9intdj;/•取价•/

10int31;/••/

11longje;/•金・•/

12)PRO;

13PROsell[MAX);

14voidReadDat();

15voidWriteDat();

16voidSortDat()

17

18

19

20voidtMin()

21

22menisoc0.slzeof<sel1));

23ReadDat();

24SortDat();

25WritoDat(1;

26!I

j/,康取W100个m侑记事并存入然符数州Hl中♦/

27;voidReadDat()

28!(

29FILE•fp;

30charstr(80]rch11”

31intI;

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

33ford•0;1<100;ID

34(

35fgets(str,80.fp);

36memcpy(sellll|str*4>;

力n>^racpy<8ell[l].me,str♦4.10);

38memepy(chfstr4-14,4);chM]-0;

39ael1(1).dj,Atoi(ch);

40

memepy(ch,str-*l8r5):chr5]«0;

41sell(1].si-atol(ch);

42sell111.je-(long)sell(1).dj•sell11).91;

43I

44{close(fp);

45

/•IE格■・出f(支付ouuhi中•/

46voidWriteDat(>

4FFILE,fp;

49mti;

50fp•fopen(*out.dat",*wH);

51ford•0;1<100;144)

52(

S3

fprlntf(£ptMd%5dsell|i:.dm,5ell(ll.mcraellli].si

sell|1J.jo):

54I

55fcloao(fp);

56

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)替代所对应的字符。

注Jt,部分源程序存放在test.c文件中,修始依据文件存放的格式是,每行的宽度均小于的个字符.含标点杼号和至

格.井也按此传代关臬进行处理・

请勿改动主函敷mamO、it(ABRedDat。和■出的数WmeDmO的内容.

Iinclude

2tinclude<string.h>

3•Include<ctype.h>

unsignedcharxx[50][80];

5;Lntmaxline•0;/•文章的总打敷•/

6!xntRcadDat(void);

7;voidWriteDat(void);

8;voidencryptChar()

9

10;unsignedIntval;

11

12

13voidmam()

14(

15if(ReadDat())

16(

17prtntf数据文件in.dat不加打开!\n\007");

18return;

19\

20encryptChar();

21WrlteDatO;

)

22,•从文件ULdlt中读取一■英文文拿,存入到无符号字例串故第O中•/

23intReadDat(void)

24(

25FILE・fp;

26inti*0;

27unsignedchar*p;

wR

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

29return1;

30while(fgets(xx[i]#80,fp)!-NULL)

31(

1

32p■strehr(xx[i]t\n*);

33if(p)*p-0;

34

35J

36maxline-1;

37fclose(fp);

38return0;

)

39/•把站累XX■出到文竹outdat中•/

40voidWrlteDat(void)

41(

42FILEwfp;

43int1;

44fp-fopen("out.dat*,Www);

45for(i-0;i<maxline;

46(

47printfxx(i]);

48fprintf(fp,"tsXn",xxli]);

49)

50fclose(fp);

51

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

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

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

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

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

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

例如,6712,6+2»7+1.则该敝满足条件存入数组b中.且个数cnLcnt-l.

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

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

程序中已定义效Sh可300],b{3001.已定义变量।ent

请勿改动数据文件irtart中的任何数据、主函数main()、读语数readDmO和写曲败writcDaU)的内容.

Iinclude<stdio.h>

2inta[300)/b[300J,cnt-0;

3voidwriteDat();

4voidreadDat();

5voidjsValuo()

6

7

8

9»main()

10;(

IX!int1;

12readDat();

13jsValueO;

14writeDat();

15printf("cnt,*d\n”,ent);

16for(i•0;i<ent;

M

17printf(b(td]-%d\n-r1,b(i]);

18

19*voidreadDat()

20;(

21JFILEefp;

22•inti;

w

23ifp-fopen("in.dat",r*);

24;for(i-0;i<300;1>♦)

25,fscanf(fp,w%d,",6a(i]);

26;fclose(fp);

27!)

28ivoidwriteDat()

2”

30:FILE・fp;

31;int1;

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

33;

fprmtf(fp#7d\n",ent);

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

w

35•fprintf(fpr-%d\nrb[l));

36:fclose(fp);

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

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

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

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

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

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

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

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

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

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

到Out.dat文件中。

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

程序中已定义数组:a|200].b(200).巳定义变ILent

也动数榭文件in.dat中的任何敷据.I的数main。、读曲数readDatO和”函数writeDat()的内容.

*include<stdio.h>

•defineMAX200

intafMAX),ent-0;

voidwriteDat();

voidjsVal()

voidreadDat()〃从in.dat文件中虐取200个四位依存入做tft6中

int1;

FILE*fp;

RwH

fp■fopen(in.datr"r);

for(i•0;i<MAX;li)

fscanf(fpr

felose(fp);

j

voidmain()

int1;

readDat();

iSVal();,/#用嫉数isVal”,KiUH■求的劝维

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

40.已知在文件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的内容。

fInclude<stdio.h>

2•include<strlng.h>

3*include<stdlib.h>

4IdefineMAX100

5typedefstruct

6(

7chardm{5];/•产品代利•/

8charme(11];/•产品名雅•/

9intdj;/•华优•/

10intsi;/•**•/

11longje;/••/

12}PRO;

13PROsell(MAX];

14voidReadDatO;

ISvoidWriteDat();

16voidSortDat()

17

18

19;

20;void

21;(

22;momset(sellt0,sixeof(sell));

23jReadDat();

24;SortDat();

25!WritoDat();

26)

27;voidReadDat()

28!I

291FILE♦“>;

30\charstr(80],ch[111;

31Jinti;

325

fp•fopen("in.dat"r*r">/

33!for(1•0;1<100;£♦♦)

34;(

35;fgets(str,80,fp>;

36!memepy(sell(1)stt,4);

37;nioroepy(sellli).me,str♦4,10);

38:memepy(ch,str*14,4);ch(4)-0;

39isellfl].dj-atol(cb);

40;memepy(ch,str*18,5);ch(5)-0;

41;8ell(i].si•atoi(ch);

42•scllID.je-(lon^>sell(i).dj・sellfi].si;

43;>

44;fclose(fp);

45;)

46•;voidWriteDat0

47;(

48;FILE*fp;

49jint1;

50•fp-fopen("out,datw,;

51\ford•0;1<100;

52!(

53;fprlntf(fp,"%8IsUd*SdH01d\n*r3011(1].dm,5ell(ibincrsell(lj.djrsellli).si,

:seXHU.jeH

541)

55Jfclose(fp);

563

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

限)(4分)

42.设在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分)

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

43.下列是关于关系数据模型和关系表的说法:I.关系数据模型以集合

论为基础表示和处理数据H.关系数据模型同时支持非过程化语言和过

程化语言直接存取数据HI."createtable...”语句用于定义关系表的结构

及数据完整性约束W.在关系表上执行select或delete操作时,DBMS

会检查数据完整性约束上述说法中正确的是()o

A.仅I和HIB.仅II和WC.仅HI和WD.仅I和IV

44.在数据模型三个要素中,表述客观世界中数据对象之间关联的是

()o

A.数据操作B.数据结构C.数据视图D.完整性约束

参考答案

1.C解析:对具有相同关键字的关系模式,如果他们的处理主要是查询

操作,且常在一起,可将这列关系模式进行合并。掌握关系数据库的逻

辑结构设计过程,如何正确运用模式评价、优化模式、分解。

2.D解析:用二叉树表示一棵树的方法可以概括为“左子女-右兄弟”表示

法,也就是:在树中,如果结点y是结点x的第1个子女,那么在二叉

树中y就是x的左子女;如果y是x的右兄弟,则在二叉树中y将是x

的右子女。根据这一规则,本题中y是x的最右边一个子女,所以在它

的右边没有兄弟结点,所以它就没有右子女。也就是说它的右子树为空。

3.D解析:数据库技术的发展是应用实际的需要,关系型数据库的广泛

应用和发展,面向对象技术等与数据库技术的结合而迅速发展的。

4.C解析:DBMS具有数据库定义功能,数据库的维护功能,数据存取

功能,数据组织存储和管理功能。注意:

5.D解析:基于关系数据库系统的,以数据处理为主的传统的数据库应

用具有以下共同特征:结构统一:有大量结构相似的数据项,每个数据

项都具有相同的字节数;面向记录:基本的数据项由固定长度的记录组

成;数据项小:每条记录都很短,很少超过几百个字节;原子字段:一

个记录内的各个字段都很短,并且是定长的,字段内部是无结构的,换

句话说,符合第一范式。

6.B解析:设计数据库概念模型最著名、最实用的方法是P.P.S.Chen于

1976年提出的实体一联系方法。

7.C解析:A[5,5]的存储地址为10(0(4x10+4)x4=276

8.C解析:外键的概念是:当关系中的某个属性(或属性组合)虽不是该关

系的关键字或只是关键字的一部分,但却是另一个关系的关键字时,则

称该属性(或属性组合)为这个关系的外部关键字或外键。

9.B解析:SQL语言中,建立一个表的命令是CREATE,对表进行修改

的命令是ALTER,删除一个表的命令是DROP,另外还有表中数据的插

入,删除,查询命令分别为INSERT,UPDATE和SELECT。

10.B解析:A、D选项中,不能写成列名=NULL;C、D选项查询的字

段不正确。

11.3NF3NF解析:根据Boyce-Codd范式(BCNF)的定义:若关系Re

INF,且对于每一个非平凡的函数依赖X—Y,都有X包含码,则RG

BCNF。由于关系模式R中所有的属性都是主属性,但是不能确定X都

包含码,所以R的规范化程序至少到3NFO

12.(AC)(A,C)解析:候选码的定义是:设K为关系模式R<U,F>中的

属性或属性组。若K-U在F+中,而找不到K的任何一个真子集K',

能使KJU在F+中,贝IJ称K为关系模式R的候选码。本题易知C必然

是主属性,再利用增广律逐个尝试可以知道(A,C)是候选码。

13.系统目录/数据字典/DD系统目录/数据字典/DD

14.20001【解析】一个路由表通常包含许多(N,R)对序偶,其中N指目

的网络的1P地址,R是网络N路径上的“下一个”路由器的IP地址。本

题中,目的IP地址为,属于A类网络地址,其网络地址为,

因此路由器收到该IP数据包按照路由表的第一个(N,R)对序偶下一路

由选择为“直接投递”,即直接投递给接收主机,因此投递的IP地址为:

15.源程序源程序解析:在计算机语言中,把用高级语言和汇编语言写

的程序称为源程序,对应的机器语言程序称为目标程序。

16.查询查询是从数据表中检索数据的主要方法

17.数据设计数据设计解析:数据库应用系统的基础是数据库,因此数

据设计是系统设计的基础和核心。

18.访问控制【解析】一个功能完备的网络系统提供以下基本的安全服务

功能:保密性、认证、数据完整性、防抵赖和访问控制。其中访问控制

服务用于控制与限定网络用户对主机、应用、数据与网络服务的访问类

型。

19.DataWindow.NETPowerBuilder美国Sybase公司研制的一种新型、快

速开发工具,是客户机/服务器结构下,基于Windows3.x、Windows95和

WindowsNT的一个集成化开发工具。它包含一个直观的图形界面和可

扩展的面向对象的编程语言PowerScript,提供与当前流行的大型数据库

的接口,并通过ODBC与单机数据库相连。PowerBuilder的主要特色是

DataWindow(数据窗口),通过DataWindow可以方便地对数据库进行

各种操作,也可以处理各种报表,而无需编写SQL语句,可以直接与

Sybase、SQLServei\InformixsOracle等大型数据库连接。

20.缺页中断缺页中断

21.A

22.B解析:操作系统是直接运行在裸机上的最基本的系统软件,其他软

件都必须在操作系统的支持下才能运行。操作系统是一种资源管理程序,

其主要功能是管理计算机软硬件资源,组织计算机的工作流程,方便用

户的使用,并能为其他软件的开发与使用提供必要的支持。

23.C解析:直接插入排序的基本算法是:当插入第i(i>=l)个对象时,

前面的v[0],V[l]……已经排好序,这时,用V[i]的关键码与V[i-

2],V[i-2],……的关键码顺序进行比较,找到插入位置即将v[i]插入,

原来位置上的对象则向后移。由此可知,直接插入排序法的关键码比较

次数与对象的初始排列有关,准确的说,就是与i可以取的值有关。对

于本题来说,A中i可以取1,B中i可以取2,C中i可以取3,D中i

可以取L所以C的关键码比较次数最少。

24.C

25.B解析:数据库设计过程通常分为以下4个阶段:需求分析、概念结

构设计、逻辑结构设计和物理结构设计。

26.C

27.D

28.A

将局部E-R图集成为全局的E-R图时有可能发生3类冲突,即属性冲

突,结构冲突,命名冲突。

29.A

温馨提示

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

评论

0/150

提交评论