2022年河南省三门峡市全国计算机等级考试数据库技术预测试题(含答案)_第1页
2022年河南省三门峡市全国计算机等级考试数据库技术预测试题(含答案)_第2页
2022年河南省三门峡市全国计算机等级考试数据库技术预测试题(含答案)_第3页
2022年河南省三门峡市全国计算机等级考试数据库技术预测试题(含答案)_第4页
2022年河南省三门峡市全国计算机等级考试数据库技术预测试题(含答案)_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

2022年河南省三门峡市全国计算机等级考试数据库技术预测试题(含答案)学校:________班级:________姓名:________考号:________

一、1.选择题(10题)1.下列计算机表示的信息中,不能称为“数据”的是______。

A.人的姓名B.图形符号C.计算机程序D.文件名

2.下列关于进程控制的叙述中,不正确的是

A.进程控制是通过原语来实现的

B.一个进程可以使用创建原语创建一个新的进程,前者称为父进程,后者称为子进程

C.创建一个进程的主要任务是建立原语

D.撤销进程的实质是撤销PCB

3.下列属于SQL语言特点的是

Ⅰ.数据查询

Ⅱ.数据操纵

Ⅲ.数据定义

Ⅳ.数据控制

A.Ⅰ,Ⅱ和ⅣB.Ⅰ,Ⅱ和ⅢC.Ⅰ,Ⅲ和ⅣD.全部

4.在SYBASE中主要用来解决网络上相同数据多份拷贝及分布更新的是

A.企业级数据库服务器

B.OmniCONNECT

C.ReplicationServer

D.PowerDesigner

5.Delphi具有良好的数据处理能力,它所提供的哪一个工具可将数据从一种数据库全部或部分迁移到另一种数据库中?

A.DataPumpB.DatabaseExplorerC.BDED.ODBC

6.下列不属于数据定义语言的是

A.ALTERB.INSERTC.CREATED.CREATEINDEX

7.在计算机硬件系统的基本组成中,完成解释指令、执行指令的功能部件是

A.运算器B.控制器C.存储器D.输入输出设备

8.一般将中断源分成强迫性中断和

A.自愿性中断B.硬件故障中断C.控制台中断D.程序性中断

9.在互联网上,用来发送电子邮件的协议是

A.HTTPB.SMTPC.NFSD.POP3

10.数据库的逻辑结构设计任务就是把()转换为与所选用的DBMS支持的数据模型相符合的过程。

A.逻辑结构B.存储结构C.概念结构D.物理结构

二、填空题(10题)11.关系模式规范化需要考虑数据间的依赖关系,人们已经提出了多种类型的数据依赖,其中最重要的是函数依赖和【】。

12.创建用户自定义角色的语句是:()

13.用数组A[1..n]顺序存储完全二叉树的各结点,则当i>0,且i<=【】时,结点A[i]的右子女是结点A[2i+1],否则结点A[i]没有右子女。

14.使用PowerDesigner的DataArchitect,可以对已有的数据库生成物理模型(PDM),这种功能通常称为______。

15.虚电路的工作方式的工作过程分为3个阶段:虚电路建立阶段、___________阶段与虚电路拆除阶段。

16.描述通信系统的基本技术参数是数据传输速率和。

17.【】不允许关系模式的属性之间有这样的非平凡函数依赖X→Y,其中X不包含码,Y是非主属性。

18.当前广域网采用的拓扑构型多数是___________拓扑。

19.数据库应用系统的设计应该具有对数据进行收集、存储、加工、抽取和传播等功能,即包括数据设计和处理设计,而【】是系统设计的基础和核心。

20.若X→Y但Y不完全函数依赖于X,则称Y对X【】。

三、单选题(10题)21.如果两个实体之间的联系是1∶M,则实现1∶M联系的方法是()

A.将两个实体转换成一个关系

B.将两个实体转换的关系中,分别加入另一个关系的主码

C.将"1"端实体转换的关系的主码,放入"M"端实体转换的关系中

D.将"M"端实体转换的关系的主码,放入"1"端实体转换的关系中

22.设数组data[0…m]作为循环队列SQ的存储空间,front为队头指针,rear为队尾指针,则执行出队操作的语句为()

A.front:=front1

B.front:=(front1)modm

C.rear:=(rear1)modm

D.front:=(front1)mod(m1)

23.FoxProDOS是()

A.DOS下的数据库B.DOS支持下的数据库管理系统C.为DOS做的FoxProD.DOS下的文字处理系统

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

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

25.对于学生信息表S(SNUMBER,SNAME,SEX,AGE,DEPT)(STUDENT由学号SNO,姓名SNAME,性别SEX,年龄AGE,所在系DEPT5个属性组成,其中SNUMBER为主码),求年龄20~23岁之间的学生姓名和年龄,正确的语句是()。

A.SELECTSNAME,AGEFROMSWHEREAGE>20ANDAGE<23

B.SELECTSNAME,AGEFROMSWHEREAGEBETWEEN20AND23

C.SELECT*FROMSWHERE.AGEBETWEEN20AND23

D.以上均不正确

26.如果两个实体之间的联系是M∶N,则在转换成关系模型时,()引入第三个交叉关系。

A.需要B.不需要C.无所谓D.将两个实体合并

27.一个数据表10000行数据,每行3500字节,计算表需要空间()

A.20MBB.40MBC.60MBD.80MB

28.下述哪个成立时,称X→Y为平凡的函数依赖?

A.XYB.YXC.X∩Y=D.X∩Y≠

29.顺序程序和并发程序的执行相比()

A.基本相同B.无法确定C.并发程序执行总体上执行时间快D.顺序程序执行总体上执行时间快

30.在对全局E-R模型进行优化时,通常利用规范化理论中的()概念消除冗余关系。

A.无损联接B.函数依赖C.范式D.逻辑蕴涵

四、C语言程序设计题(10题)31.已知数据文件in.dat中存有300个四位数,并已调用读函数readDat把这些数存入数组a中,请编制一函数jsValue,其功能是:求出于位数上的数加个位数上的数等于百位数上的数加十位数上的数的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从小到大的顺序进行排序。最后main函数调用写函数writeDat把数组b中的数输出到文件out.dat中。

32.已知数据文件in.dat中存有300个四位数,并已调用读函数rcadDat把这些数存入数组a中,请编制一函数jsvalue,其功能是:求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数cnt,再把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从大到小的顺序进行排序。最后main函数调用写函数writeDat把数组b中的数输出到文件out.dat中。

33.已知在in.dat中存有若干个(个数<200)四位数字的正整数,函数ReadDat读取这若干个正整数并存入数组XX中。请编制函数CalValue,其功能要求:1.求出该文件中共有多少个正整数totNum;2.求出这些正整数中的各位数字之和是奇数的数的个数totCnt,以及满足此条件的这些正整数的算术平均值totPjz。最后maini函数调用函数WriteDat把所求的结果输出到0ut.dat文件中。

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

请勿改动数据文件in.dat中的任何数据,主函数main、读函数ReadDat和输出数据函数WriteDat的内容。

34.函数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的内容。

35.函数ReadDat实现从文件in.dat中读取一篇英文文章存入到字符串数组XX中,请编制函数ConvertCharA,其函数的功能是:以行为单位把字符串中的所有小写字母改写成该字母的下一个字母,如果是字母z,则改写成字母a,大写字母和其他字符保持不变。把已处理的字符串仍按行重新存入字符串数组XX中。最后main函数凋用函数WriteDat把结果XX输出到文件0ut.dat中。

36.已知在in.dat中存有若干个(个数<200)四位数字的正整数,函数ReadDat读取这若干个正整数并存入数组XX中。请编制函数CalValue,其功能要求:

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

2.求这些正整数右移1位二进制位后,产生的新数是奇数的数的个数totCnt,以及满足此条件的这些正整数(右移前的值)的算术平均值totPjz。最后main函数调用函数WriteDat把所求的结果输出到文件out.dat中。

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

请勿改动数据文件in.dat中的任何数据,主函数main、读函数ReadDat和输出函数WriteDat的内容。

37.编写一个函数findStr(char*str,char*substr),该函数统计一个长度为2的子字符串substr在另一个字符串str中出现的次数,该次数作为函数值返回。例如,假定输入的字符串为”asdasasdfgasdaszx67asdmklo”,子字符串为”as”,函数返回值是6。

函数ReadWrite实现从文件in.dat中读取两个字符串,并调用函数findStr,最后把结果输出到文件out.dat中。

注意:部分源程序存在test.c文件中。请勿改动主函数main和其他函数中的任何内容,仅在函数findStr的花括号中

填入你编写的若干语句。

38.已知数据文件in.dat中存有200个四位数,并已调用读函数readDat把这些数存入数组a中,请考生编制一函数jsVal,其功能是:把千位数字和个位数字重新组成一个新的含有两位数字的数(新数的十位数字是原四位数的千位数字,新数的个位数字是原四位数的个位数字),以及把百位数字和十位数字组成另一个新的含有两位数字的数(新数的十位数字是原四位数的百位数字,新数的个位数字是原四位数的十位数字),如果两个新组成的数均是奇数并且至少有一个数能被5整除,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。最后main函数调用写函数writeDat把结果cnt以及数组b中符合条件的四位数输出到0ut.dat文件中。

39.在文件in.dat中已存有200个正整数,且每个数均在1000至9999之间。函数readDat是读取这200个数存放到数组aa中。请编制函数jsSort,其函数的功能是:要求按每个数的后三位的大小进行降序排列,如果出现后三位相等的数值,则对这些数值按原始4位数据进行升序排列,将排序后的前10个数存入数组bb中。

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

40.已知数据文件in.dat中存有300个四位数,并已调用读函数readDat把这些数存入数组a中,请编制一函数jsvalue,其功能是:求出所有这些四位数是素数的个数cnt,再求出所有满足此条件的四位数平均值pjzl,以及所有不满足此条件的四位数平均值pjz2。最后main函数调用写函数writeDat把结果cnt,pjz1,pjz2输出到out.dat文件中。

五、设计与应用题(2题)41.某教务管理系统使用SQLServer2008数据库管理系统,数据库软硬件配置信息如下:Ⅰ.数据库运行在两路IntelXeonE5-26092.4GHzCPU(每路CPU4核心),128GB内存、2块300GB15000转SAS硬盘(RAIDl)的服务器上;Ⅱ.服务器操作系统为Windows200332位企业版,安装SP2补丁;Ⅲ.数据库为SQLServer2008Enterprise(32位),数据库中总数据量近130GB。近一个学期以来,用户反映系统运行缓慢,经程序员定位,确定为数据库服务器响应缓慢,需要进行调优。(10分)

42.设某教学管理系统,其查询模块需要提供如下功能:Ⅰ.查询系信息,列出各系编号、系名和系办公电话;Ⅱ.查询某系教师的信息,列出教师号、教师名、工资和聘用日期;Ⅲ.查询某教师讲授的课程信息,列出课程号、课程名和学分;Ⅳ.查询讲授某门课程的教师信息,列出教师名和职称;V.查询某门课程的先修课程信息,列出先修课程号和先修课程名。系统有如下业务规则:Ⅰ.一个系可聘用多名教师,一名教师只能受聘于一个系;Ⅱ.一名教师可讲授多门课程,一门课程可由多名教师讲授;Ⅲ.一门课程可以有多门先修课程,也可以没有先修课程。(1)请根据以上查询功能与业务规则,用ER图描述该系统的概念模型。(5分)(2)将ER图转换为满足3NF的关系模式,并说明每个关系模式的主码和外码。(5分)

六、单选题[1分](2题)43.设有关系模式R(A,B,C,D.,其函数依赖集为F={A→D,B→D,C→D}。如果将R分解为R1(A,B,C.和R2(C,D.,则该分解是()。

A.同时保持函数依赖和无损连接的分解

B.保持函数依赖但不保持无损连接的分解

C.保持无损连接但不保持函数依赖的分解

D.既不保持函数依赖也不保持无损连接的分解

44.现有SQLServer2008数据库服务器,其中的一个数据库占用80GB空间,另有一台用于备份的计算机,该机器上有4个大小均为50GB的硬盘分区。若要将此数据库完全备份到该计算机上,则()。

A.不能实现,因为每个分区上的空间都不够80GB

B.可以先建立一个备份设备,这个设备分别在4个分区上各占用20GB空间,然后再用此设备备份数据库

C.可以先在每个分区上分别建立一个备份设备,指定每个设备的大小均为20GB,并建立一个包含这4个备份设备的备份媒体集,最后再用此备份媒体集备份数据库

D.可以先在每个分区上分别建立一个不用指定大小的备份设备,然后将数据库同时备份到这4个备份设备上

参考答案

1.C解析:数据是描述现实世界事物的符号记录,是指用物理符号记录下来的可以鉴别的信息。物理符号包括:数字、文字、图形、声音及其他特殊符号。数字的多种表现形式,都可以经过数字化后存入计算机。

2.C解析:进程控制是通过原语来实现的,一个进程可以使用创建原语创建一个新的进程,前者称为父进程,后者称为子进程。创建一个进程的主要任务是建立进程控制块,撤销进程的实质是撤销PCBo注意:创建一个进程的主要任务是建立进程控制块,而不是建立原语,故C)选项叙述错误。掌握进程控制块的概念和作用。

3.D解析:SQL语言集数据查询、数据操纵、数据定义、数据控制功能于一体。掌握关系数据库系统,关系代数和关系演算。

4.C解析:ReplicationServer是在SYBASE中主要用来解决网络上相同数据多份拷贝及分布更新的;PowerDesigner是在SYBASE中提供数据建模的工具;OmniCONNECT提供整个企业范围内不同数据库管理系统之间完全透明的数据集成。

5.A解析:Delphi提供了使用非常方便的工具DatabaseExplore,可以快速浏览各种数据库服务器上的资料等,其提供的数据迁移工具DataPump,可以将数据从一种数据库全部或部分迁移到另一种数据库中;提供的数据引擎BDE可以针对不同关系数据库设置大量的相关参数,调节处理能力。

6.B解析:ALTER、CREATE、CREATEINDEX都属于数据定义语言。

INSERT属于数据操纵语言,故选择B)选项。

熟练掌握SQL语言中INSERT、SELECT、UPDATE等数据操纵语言。

7.B解析:冯?诺依曼提出的存储程序工作原理决定了计算机硬件系统的5个基本组成部分,即运算器、控制器、存储器、输入设备和输出设备。运算器是计算机中执行各种算术运算和逻辑运算的部件,也叫算术逻辑单元。存储器是计算机中具有记忆能力的部件,它能根据地址接收和保存指令或数据,并能根据命令提供有关地址的指令或数据。

控制器的主要作用是使整个计算机能够自动地执行程序,并控制计算机各功能部件协调一致地动作。执行程序时,控制器先从主存中按顺序取出程序中的一条指令,解释该指令并形成数据地址,取出所需的数据,然后向其他功能部件发出执行该指令所需的各种时序控制信号。然后再从主存中取出下一条指令执行,如此循环,直到程序完成。计算机自动工作的过程就是逐条执行程序中指令的过程。

输入设备的主要功能是将数据、程序等用户信息变换为计算机能识别和处理的信息形式。

输出设备的主要功能是将计算机中的二进制信息变换为计算机用户所需要并能识别的信息形式。

8.A解析:中断源可以分为强迫性中断和自愿性中断。强迫性中断包括:输入/输出中断、硬件故障中断、控制台中断、时钟中断、程序性中断。掌握中断的概念,强迫性中断分为哪几种。

9.B解析:HTTP是超文本传输协议;SMTP是用来发送电子邮件的协议;POP3是接收电子邮件的协议。

10.C解析:数据库设计分为以下6个阶段:需求分析、概念结构设计,逻辑结构设计、物理结构设计、数据库实施和数据库的运行和维护。逻辑结构设计的任务是从概念模型导出特定的DBMS可以处理的数据库的逻辑结构。

11.多值依赖多值依赖

12.CREATEROLE

13.[(n-1)/2][(n-1)/2]解析:根据完全二叉树的定义及顺序存储结构的特点,可知答案为[(n-1)/2]。

14.逆向工程逆向工程

15.数据传输【解析】虚电路的工作方式的工作过程分为3个阶段:虚电路建立阶段、数据传输阶段与虚电路拆除阶段。

16.误码率【解析】描述通信系统的基本技术参数是数据传输速率和误码率。

17.3NF3NF解析:3NF不允许关系模式的属性之间有这样的非平凡函数依赖X→Y其中X不包含码,Y是非主属性。

18.网状型【解析】在网状型拓扑构型中,结点之间的连接是任意的没有规律。网状型拓扑的主要优点是系统可靠性高。目前实际存在与使用的广域网结构基本上都采用网状型拓扑构型。

19.数据设计数据设计解析:数据库应用系统的基础是数据库,因此数据设计是系统设计的基础和核心。

20.部分函数依赖部分函数依赖解析:若X→Y但Y不完全函数依赖于X,则称Y对X部分函数依赖。掌握对关系数据库和关系运算的理解。

21.C

22.D

23.B

24.B

25.B解析:需要查询的是姓名和年龄属性,故主句为SELECTSNAME,AOE。WHERE子句中可以使用BETWEEN进行查询,BETWEEN指定允许取值的范围,AND前面是低值,后面是高值。年龄在20到23岁之间的条件表达式应为BETWEEN20AND23。

26.A

27.B

28.B解析:当YX时,称X→Y为平凡的函数依赖。

29.C

30.B

31.\n【审题关键句】千位+个位等于百位+十位个数,把所有满足此条件的数依次存入数组,按从小到大的顺序排序。

\n【解题思路】

\n本题类似第9套试题,通过审题可以发现仅有一个不同点,即要求统计的四位数的条件是“个位+千位=百位+十位”,参考答案的第8条语句,修改if条件语句的判断条件即可,对于数据交换的整型变量tmp可以自定义其变量名。

\n【参考答案】

\n

\n

32.\n【审题关键句】千位+百位等于十位+个位的数的个数,把所有满足此条件的四位数依次存入数组,然后对数组按从大到小的顺序进行排序。

\n【解题思路】

\n本题类似第9套试题,通过审题可以发现有两个不同点:①要求统计的四位数的条件是“千位+百位=十位+个位”,参考答案的第8条语句修改if语句的判断条件即可。②将统计结果按从大到小的顺序排序,参考答案的第13条语句,修改两数组元素的大小比较符即可。另外,对于数据交换的整型变量tmp可以自定义其变量名。

\n【参考答案】

\n

\n

\n

33.\n【审题关键句】读取正数,统计个数,各位数之和为奇数的数的个数及平均值。

\n【解题思路】

\n本题类似第46套试题,通过审题可以发现仅有一个不同点,即四位数的各位数之和为奇数,参考答案的第13条语句,将该该语句为判断各位数字之和是奇数的表达式即可。

\n【参考答案】

\n

\n

34.\n【审题关键句】字符的ASCII值右移4位二进制位,高位补0后加原字符的ASCII值。

\n【解题思路】

\n①定义两个循环变量i、j和一个无符号字符变量tmp。

\n②在第一个for循环语句中,循环变量i从0开始,依次递增直到其值等于文章最大行数maxline。在第二个for循环中,从每行第1个字符开始,依次递增直到其值等于该行字符串的最大长度,然后在循环体中指定每次循环时,将第i行第i个位置上的字符的ASCII值的二进制数右移4位,然后将所得的值再加上原字符的ASCII码值。

\n【参考答案】

\n

35.\n【审题关键句】以行为单位把字符串中的所有小写字母改写成该字母的下一个字母,大小写不变,其他字符不变。

\n【解题思路】

\n①定义整型循环变量i、i。

\n②在第一层for循环中,循环变量i从0开始,依次递增直到其值等于maxline,实现对文章每行的处理。第二层for循环中,循环变量j从0开始,依次递增直到其值等于strlen(xx[i]),在循环体中,利用if条件语句首先判断)xx[i][j]的值是否在小写字符字符’a’~’z’之间,然后,再判断在此范围之内的小写字母,如果是z,则该字符转换为a,如果字符不是z,则将其改写成它的下一个字母。

\n【参考答案】

\n

\n

\n

36.\n【审题关键句】读取正数,统计个数,右移后为奇数的个数及平均值。

\n【解题思路】

\n本题类似第44套试题,通过审题可以发现仅有一个不同点,即参与平均值计算的元素是数组xx[i]右移一位之后为奇数的元素,参考答案的第9条语句。

\n【参考答案】

\n

\n

37.\n【审题关键句】统计一个长度为2的子字符串在另一个字符串中出现的次数。

\n【解题思路】

\n①定义字符指针p,q,并且q指向字符串str。定义计数整型变量cnt,设置其值等于0。

\n②在while循环中调用C语言的字符串库函数strstr,返回子字符串substr在字符串q第一次出现的位置,赋给变量P。用if语句判断,如果p的值为空,则说明在字符串str没有找到子字符串,退出循环。否则,变量cnt加1,再把P的值加2(因为子字符串substr的长度为2)赋给变量q,执行下一次循环。直到字符串中不存在子字符串时,退出循环结束。

\n③最后,返回子字符串substr在字符串str中出现的次数。

\n【参考答案】

\n

38.\n【审题关键句】千位+个位与百位+十位,奇数,整除,从大到小排序。

\n【解题思路】

\n本题类似第27套试题,通过审题可以发现主要是对四位数的筛选条件有所不同,体现在两个方面:①分解后重新组合成两位数的方式不同,参考答案的第8、9条语句重新指定两位数的组合方式;②新组台的两位数的奇数的判断及整除判断,参考答案的第10条语句。

\n【参考答案】

\n

\n

39.\n【审题关键句】按每个数的后三位降序排列,然后取出满足此条件的前10个数依次存入数组;如果后三位的数值相等,则按原先的数值进行升序排列。

\n【解题思路】本题类似第7套试题,通过审题可以发现主要有两个不同点:①按每个数的后三位降序排列,参考答案的第5条语句,修改两数组元素的大小比较符即可;②后三位的数值相等则按原先的数值进行升序排列,参考答案的第13条语句,同样也是修改两数组元素的大小比较符即可。

\n【参考答案】

\n

\n

\n

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

\n【解题思路】

\n①首先定义循环变量i,然后通过for循环对数组a[300]d0的每个元素a[i]调用函数isV(a[i])判断a[i]是否是素数(素数的算法已在isP函数中给出,此处直接调用即可),如果是素数,则把其加到变量pjz1上,同时计数变量cnt加1,否则a[i]值加到变量pjz2上。直到判断完数组a[300]00的所有数据后退出循环。

\n②求出pJz1、pjz2和cnt的值之后,再用变量pjz1的值除以cnt的值就得到素数的平均值,同时把这个值赋给变量pjz1,最后用变量pjz2的值除以300.cnt的值就得到非素数的平均值,并把这个值赋给变量pjz2。

\n【参考答案】

\n

\n

41.【解题思路】数据库性能优化的基本原则就是通过尽可能少的磁盘访问获得所需要的数据。SQLSERVER性能优化一般从数据库设计、应用程序编码、硬件优化、数据库索引、SQL语句、事务处理几个方面人手考虑问题。(1)分析阶段:在系统分析阶段往往有太多需要关注的地方,系统各种功能性、可用性、可靠性、安全性需求吸引了我们大部分的注意力,但必须注意的是,性能往往是很重要的非功能性需求,必须根据系统的特点确定其实时性需求、响应时间的需求、硬件的配置等。最好能有各种需求量化的指标。(2)设计阶段:例如数据库逻辑设计规范化;合理的冗余;主键的设计;外键的设计;字段的设计;数据库物理存储和环境的设计;数据库的物理存储、操作系统环境及网络环境的设计,皆使得我们的系统在将来能适应较多用户的并发操作和较大的数据处理量。这里需要注意文件组的作用,适用文件组可以有效的把I/O操作分散到不同的物理硬盘,提高并发能力。(3)系统设计:整个系统的设计,特别是系统结构的设计对性能具有很大的影响。对于一般的OLTP系统,可以选择C/S结构、三层的C/S结构等,不同的系统结构其性能的关键也有所不同。系统设计阶段应归纳某些业务逻辑在数据库编程阶段实现,数据库编程包括数据库存储过程、触发器和函数。用数据库编程实现业务逻辑的好处是减少网络流量并能更充分利用数据库的预编译和缓存功能;索引设计阶段可以根据功能和性能的需求进行初步的索引设计,这里需要根据预计的数据量和查询来设计索引,可能与将来实际使用时有所区别。(4)编码阶段:编码阶段首先需要所有程序员具备优化意识,也就是在实现功能的同时具备考虑优化性能的思想。数据库是能进行集合运算的工具,所谓集合运算实际是批量运算,即是尽量减少在客户端进行大数据量的循环操作,而用SQL语句或者存储过程代替。这个阶段主要是注意在SQL语句等方面的优化,如:尽量少做重复的工作,用SELECT后跟需要的字段代替SELECT*语句,注意事务和锁,注意I临时表和表变量的用法,慎用游标和触发器,尽量使用索引等。(5)硬件优化:RAID(独立磁盘冗余阵列)是由多个磁盘驱动器(一个阵列)组成的磁盘系统。通过将磁盘阵列当作一个磁盘来对待,基于硬件的RAID允许用户管理多个磁盘。使用基于硬件的RAID与基于操作系统的RAID相比较可知,基于硬件的RAID能够提供更佳的性能,如果使用基于操作系统的RAID,那么它将占据其他系统需求的CPU周期,通过使用基于硬件的RAID,用户在不关闭系统的情况下能够替换发生故障的驱动器。利用数据库分区技术,可均匀地把数据分布在系统的磁盘中,平衡I/0访问,避免I/0瓶颈等。(6)事务处理调优:数据库的日常运行过程中,可能面临多个用户同时对数据库的并发操作而带来的数据不一致的问题,如:丢失更新、脏读和不可重复读等。并发控制的主要方法是封锁,锁的含义即是在一段时间内禁止用户做某些操作以避免产生数据不一致。对于事务性能的调优,要考虑到事务使用的锁的个数(在所有其他条件相同的情况下,使用的锁个数越少,性能越好)、锁的类型(读锁对性能更有利)以及事务持有锁的

温馨提示

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

评论

0/150

提交评论