(2021年)湖南省娄底市全国计算机等级考试数据库技术测试卷(含答案)_第1页
(2021年)湖南省娄底市全国计算机等级考试数据库技术测试卷(含答案)_第2页
(2021年)湖南省娄底市全国计算机等级考试数据库技术测试卷(含答案)_第3页
(2021年)湖南省娄底市全国计算机等级考试数据库技术测试卷(含答案)_第4页
(2021年)湖南省娄底市全国计算机等级考试数据库技术测试卷(含答案)_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

(2021年)湖南省娄底市全国计算机等级考试数据库技术测试卷(含答案)学校:________班级:________姓名:________考号:________

一、1.选择题(10题)1.对一组记录的关键码(25,38,48,52,63,74)采用二分法查找52时,第几次查找成功?

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

2.操作系统的安全措施从隔离方面考虑可以分为4种,物理隔离、逻辑隔离、时间隔离和

A.分层隔离B.空间隔离C.硬件隔离D.密码隔离

3.下列协议中,哪一个是在传输层定义的?

A.VIPB.RIPC.TCPD.IP

4.利用二分法在序列61,87,154,170,275,426,503,509,512,612,653,677,703,765,897,908中查找关键码值为400的节点,需要查找几次?

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

5.数据库在这三级模式之间提供了两层映像

A.外模式/内模式映像,模式/内模式映像

B.外模式/模式映像,模式/内模式映像

C.外模式/内模式映像,内模式/外模式映像

D.外模式/内模式映像,模式/外模式映像

6.在数据库技术中,反映现实世界中事物的存在方式或运动状态的是

A.信息B.消息C.数据D.命令

7.Oracle系统不仅具有高性能的RDBMS,而且提供全过程的应用开发工具。如果要进行数据库建模,使用的是

A.SQL*Connect

B.OracleDesigner2000

C.OracleDeveloper2000

D.OracleFinancials

8.下面哪一条不属于概念模型应具备的性质?()

A.有丰富的语义表达能力B.易于交流和理解C.易于变动D.在计算机中实现的效率高

9.设待排序关键码序列为(25,18,9,33,67,82,53,95,12,70),要按关键码值递增的顺序进行排序,采取以第一个关键码为分界元素的快速排序法,第一趟完成后关键码33被放到了第几个位置?______。

A.3B.5C.7D.9

10.数据独立性是指()。

A.数据依赖于程序B.数据库系统C.数据库管理系统D.数据不依赖于程序

二、填空题(10题)11.数据库中,每个事务都感觉不到系统中其他事务在并发地执行,这一特性称为事务的______。

12.散列表存储的基本思想是:由结点的______决定结点的存储地址。

13.在SQL语言中,如果要为一个基本表增加列和完整性的约束条件,应该使用SQL语句_____。

14.虚拟局域网是建立在交换技术的基础上,以软件方式实现___________工作组的划分与管理。

15.设有关系SC(sno,cname,grade),各属性的含义分别为学号、课程名、成绩。若要将所有学生的“数据库系统”课程的成绩增加10分,能正确完成该操作的SQL语句是___________grade=grade10WHEREcname=“数据库系统”。

16.关系模式分解的等价性标准主要有两个,分别为分解具有______和分解保持函数依赖。

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

18.若D1={al,a2,a3},D2={b1,b2,b3},则D1?D2集合中共有元组__________个。

19.在关系模式R(A,C,D)中,存在函数依赖关系{A→D,A→C},则候选码为______。

20.网络防火墙的主要类型是包过滤路由器、电路级网关和___________网关。

三、单选题(10题)21.描述概念模型的常用方法是

A.建立数据模型方法B.需求分析方法C.二维表方法D.实体-联系方法

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

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

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

C.反规范化方法:增加派生冗余列、增加冗余列、重新组表、分割表和新增汇总表等方法。都会破坏数据完整性。

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

23.关系数据模型有许多优点,但下面所列的条目中哪一条不是它的优点()。A.A.结构简单

B.高度非过程化

C.有标准语言

D.可表示复杂的语义

24.索引使用原则中不可以为该列建立索引的是:()

A.经常在查询中作为条件被使用的列。

B.频繁进行排序或分组的列。

C.一个列的值域很大时。

D.如果待排列的列有多个,选择任意一列。

25.在SQLSever中创建用户数据库,实际就是定义数据库所包含的文件以及文件的属性。下列不属于数据库文件属性的是__________。

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

26.()是将若干对象和它们之间的联系组合成一个新的对象。

A.分解B.抽象C.聚集D.概括

27.()可以看成是现实世界到机器世界的一个过渡的中间层次。

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

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

A.edcbaB.decbaC.dceabD.abcde

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

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

30.在SQL语言中,()子句能够实现关系参照性规则。

A.PRIMARYKEY

B.NOTNULL

C.FOREIGNKEY

D.FOREIGNKEY...REFERENCES...

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

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

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

32.程序test.C的功能是:把s字符串中的所有字符左移一个位置,串中的第一个字符移到最后。请考生编写函数chg(char*s)实现程序要求,最后调用函数readwriteDAT把结果输出到0ut.dat文件中。

33.已知在文件in.dat中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位),产品名称mc(字符型10位),单价dj(整型),数量sl(整型),金额je(长整型)五部分组成。其中:金额=单价*数量。函数ReadDat读取这100个销售记录并存入结构数组sell中。请编制函数SortDat,其功能要求:按金额从小到大进行排列,若金额相等,则按产品代码从小到大进行排列,最终排列结果仍存入结构数组sell中。最后main函数调用函数WriteDat把结果输出到文件out.dat中。

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

例如:sell[i]=temp;

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

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

34.函数ReadDat实现从文件in.dat中读取一篇英文文章,存入到无符号字符串数组XX中;请编制函数encryptChar,按给定的替代关系对数组XX中的所有字符进行替代,其替代值仍存入数组)xx的对应的位置上,最后调用函数wmeDat把结果xX输出到文件out.dat中。

替代关系:f(p)=p*11mod256,mod为取余运算,P是数组xx中某一个字符的ASCII值,f(p)是计算后无符号的整型值(注意:中间变量定义成整型变量),如果计算后f(p)值小于等于32或f(p)对应的字符是小写字母,则该字符不变,否则用f(p)替代所对应的字符。

注意:部分源程序存放在test.c文件中,原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格,并也按此替代关系进行处理。

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

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

36.设有n个人围坐一圈并按顺时针方向从1到n编号,从第s个人开始进行1到m的报数,报数到第m个人,此人出圈,再从他的下一个人重新开始1到m的报数,如此进行下去直到所有的人都出圈为止。现要求按出圈次序,每10人一组,给出这n个人的顺序表。请考生编写函数Josegh(void)实现此功能,并调用函数writeDat,把结果P输出到文件out.dat中。

设n=100,s=1,m=10。

①将1到n个人的序号存入一维数组P中;

②若第i个人报数后出圈,则将p[i]置于数组的倒数第i个位置上,而原来第i+1个至倒数第i个元素依次向前移动一个位置;

③重复第②步直至圈中只剩下p[1]为止。

注意:部分源程序已经给出。

请勿改动主函数main和输出数据函数writeDAT的内容。

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

38.程序test.c的功能是:选出1000至5000范围内(包括1000、5000)符合下面条件的四位自然数。条件是:千位数字与百位数字之和等于十位数字与个位数字之和,且千位数字与百位数字之和等于个位数字与千位数字之差的整10倍。计算并输出这些四位自然数的个数cnt以及这些数的和sum。请编写函数countValue实现程序的要求。最后main函数调用函数writeDAT把结果crlt和sum输出到out.dat文件中。

39.将文件in.dat中的200个整数读至数组XX中。请编制jsValue函数,要求:求出数组XX中的数值为奇数的个数cnt1和数值为偶数的个数cnt2以及数组XX下标为奇数的元素值的算术平均值pj。

结果cnt1,cnt2,pj输出到out.dat中。注意:部分源程序存在test.c文件中。请勿改动数据文件in.dat中的任何数据、主函数main、读函数read_dat和输出函数writeDat的内容。

40.程序test.C的功能是:利用以下所示的简单迭代方法求方程cos(x).x=0的一个实根。迭代公式:Xn+1=cos(xn)(n是迭代次数)

迭代步骤如下:

(1)取X1初值为0.0;

(2)X0=X1,把X1的值赋给x0;

(3)X1=cos(x0),求出一个新的x1;

(4)若x0.X1的绝对值小于0.000001,执行步骤(5),否则执行步骤(2);

(5)所求X1就是方程cos(X)-X=0的一个实根,作为函数值返回。

请编写函数countValue实现程序的功能,最后main函数调用函数writeDAT把结果输出到文件0ut.dat中。注意:部分源程序存放在test.C文件中。

请勿改动主函数main和输出数据函数writeDAT的内容。

五、设计与应用题(2题)41.设有商品表(商品号,商品名,单价)和销售表(销售单据号,商品号,销售时间,销售数量,销售单价)。其中,商品号代表一类商品,商品号、单价、销售数量和销售单价均为整型。请编写查询某年某商品的销售总毛利的存储过程,毛利=销售数量x(销售单价一单价)。要求商品号和年份为输入参数,总毛利用输出参数返回。(10分)

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

六、单选题[1分](2题)43.以下哪个设计内容不属于数据库应用系统总体设计范畴()。

A.数据库应用系统体系结构设计B.软硬件选型和配置设计C.数据库软件总体设计D.关系模式设计

44.下列简化UML关系图中,最不恰当的是()。A.B.C.D.

参考答案

1.B解析:根据第9题的二分查找法的基本思想,第一次查找找到的是48,52大于48,再向右查找,第二次找到的是63,第三次找到的是52,查找完成。

2.D解析:操作系统的安全措施可以从隔离方面考虑可以分为4种,物理隔离、逻辑隔离、时间隔离和密码隔离。分层设计是实现操作系统安全的另一种方法。掌握计算机操作系统的安全措施都由哪些组成。

3.C解析:为了保证所有的Internet能够正常工作,要求所有联入Internet的计算机都遵从相同的协议,即TCP/IP协议。TCP/IP参考模型在网络层次上定义了IP协议,在传输层次上定义了传输控制协议(TCP)和用户数据协议。因此TCP是在传输层定义的。

4.D解析:第一次查到509;第三次查到170;第三次查到426;第四次查到275;第五次没有找到,查找结束。

5.B解析:数据库在这三级模式之间提供了两层映像:外模式/模式映像,模式/内模式映像。

6.A解析:信息是现实世界中事物的存在方式或运动状态的反映。

7.B解析:Designer/2000是Oracle提供的CASE工具,它能够帮助用户对复杂系统进行建模、分析和设计。用户在数据库概要设计完成以后,即可以利用Designer/2000来帮助绘制E-R图、功能分布图、数据流图和方阵图,自动生成数据字典,数据库表、应用代码和文档。因此本题正确答案为选项B。

8.D

9.D解析:本题是对快速排序法的考查。快速排序法的基本方法是:在待排序序列中任取一记录,以它为基准用交换的方法将所有的记录分成两部分,关键码值比它小的一部分,关键码值比它大的另一部分,再分别对两个部分实施上述过程,一直重复到排序完成。在本题中采取以第一个关键码25为分界元素,按照快速排序的思想,首先25与最后一个元素70比较,位置不变,然后与12比较,12小于25,故交换位罩,此时关键码序列为(12,18,9,33,67,82,53,95,25,70)。再用25与18比较,位置不变;与,9比较,位置不变;;与33比较,33大于25,故交换位置,现在序列为(12,18,6,25,67,82,53,95,33,70),33移到了笫9拉,此后的第一趟排序不会再影响其位置,故答案为D。

10.D解析:数据独立性是数据库领域的一个常用术语,包括数据的物理独立性和数据库逻辑独立性。数据的物理独立性是指用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的。也就是说,数据在磁盘上的数据库中是怎样存储的,是由DBMS管理的,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改变时,应用程序不用改变。数据的逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,也就是说,数据的逻辑结构改变了,用户程序也可以不变。

11.隔离性隔离性解析:尽管多个事务可以并发执行。但系统必须保证,对任一对事务T1和T2,在T1看来。T2或者在T1开始之前已经停止执行,或者在T1完成之后执行。这样,每个事务都感觉不到系统中有其他事务在并发地执行。我们称之为事务的隔离性。

12.关键码值关键码值

13.ALTERTABLE

14.逻辑【解析】虚拟局域网建立在局域网交换机的基础上,它以软件方式实现逻辑工作组的划分与管理,工作组中的结点不受物理位置的限制。相同工作组的成员不一定连接在相同的物理网段,它们可以连接在相同的交换机上,也可以连接在不同的局域网交换机上,只要这些交换机互联即可。当结点从一个工作组转移到另一个工作组时,只需要简单地通过软件设定,而无须改变在网络中的物理位置。

15.UPDATESCSET【解析】本题使用的SQL语句可以是:UPDATESCSETgrade=grade+10WHEREcname=“数据库系统”。

16.无损连接性无损连接性解析:规范化过程中将一个关系模式分解若干个关系模式,应该保证分解后产生的模式与原来的模式等价。常用的等价标准有要求分解是具有无损连接性的和要求分解是保持函数依赖的两种。

17.未提交事务未提交事务

18.9【解析】两个分别为n和m目的关系R和s的笛卡儿积是一个n+m列的元组的集合。若R有k1个元组,S有k2个元组,则关系R和S的广义笛卡儿积有k1?k2个元组。

19.AA解析:候选码的定义是:设K为关系模式R<U,F>中的属性或属性组。若K→U在F+中,而找不到K的任何一个真子集K',能使K'→U在F+中,则称K为关系模式R的候选码。显然在这道题中A是候选码。

20.应用级【解析】网络防火墙包括包过滤路由器、应用级网关和电路级网关。

21.D解析:概念模型的表示方法很多,其中最为著名和常用的是P.P.S.Chen提出的实体—联系方法。该方法用E-R图来描述现实世界的概念模型。

22.A

23.D关系模型由关系数据结构、关系操作集合和关系完整性约束3大要素组成。关系模型的数据结构单一,在关系模型中,现实世界的实体以及实体问的各种联系均用关系来表示。关系操作的特点是集合操作方式,即操作的对象和结果都是集合。关系代数、元组关系演算和域关系演算均是抽象的查询语言,这些抽象的语言与具体的DBMS中实现的实际语言并不完全一样,但它们能用作评估实际系统中查询语言能力的标准或基础。关系模型的一个优点是高度非过程化。

24.D

25.C

26.C解析:聚集是将若干对象和它们之间的联系组合成一个新的对象。

27.A

28.C

29.B

30.D

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

\n【解题思路】

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

\n【参考答案】

\n

\n

32.【审题关键句】所有字符左移一个位置,串中的第一个字符移到最后。

\n【解题思路】

\n定义循环变量i,字符变量first和字符指针变量P,并使P指向字符串S。

\n②把字符串S的第一个字符赋给first变量保存起来。

\n③在for循环语句中,循环变量i从0开始,依次递增直到其值等于或大于(int)strlen(s)一1,把*(p+i+1)的值赋给+(p+i),实现把字符串S中的所有字符左移一个位置,循环结束后,把first的值赋给p[strlen(s).1],即把字符串的首字符移动到字符串的最后位置上。

\n【参考答案】

\n

\n

33.\n【审题关键句】计算金额,按金额从小到大进行排列,相同的则按产品代码从小到大排列,结果存入结构数组。

\n【解题思路】

\n本题类似第57套试题,通过审题可以发现主要是排序条件的设置要求有所不同,参考答案的第8行进行修改即可。

\n【参考答案】

\n

\n

34.\n【审题关键句】字符替代f(p)=p*11mod256,小于等于32或对应小写字母不变,否则替换。

\n【解题思路】

\n本题类似第65套试题,通过审题可以发现主要是排序条件的设置要求有所不同,参考答案的第6行,修改if条件语句的设置即可。

\n【参考答案】

\n

\n

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

\n【解题思路】

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

\n【参考答案】

\n

\n

36.\n【审题关键句】围圈问题。

\n【解题思路】

\n①定义整型变量i、j,表示出圈人位置的变量s1和出圈人序号的变量W。并将S的值赋给变量s1(s的值已在源程序中赋值为1)。

\n②通过一个for循环,将n个人的序号存入一维数组P中(n的值已在源程序中赋值为100)。

\n③再建立一个for循环,循环变量i从n开始,即从100开始,依次递减直到其值小于2时退出循环。由于每执行一次循环,人数就会减少1个,因此,此处的for循环应表示为递减方式。在该循环体中,先计算每次出圈人的位置,通过表达式“(s1+m.1)%i”计算每次出圈人的位置(m的值已在源程序赋值为1O)。若所得结果为0,则说明要开始报数的是最后一个人,在此人前面的那个人就是要出圈的人,再通过一个循环将要出圈的人移到数组最后。

\n【参考答案】

\n

\n

37.\n【审题关键句】千位+百位等于十位+个位的数的个数,求满足此条件以及不满足此条件的四位数平均值pjz1和pjz2。

\n【解题思路】

\n本题类似第20套试题,通过审题可以发现仅有一个不同点,即判断符合条件的四位数是“千位+百位等于十位+个位”,参考答案的第8条语句,修改if条件语句的判断条件即可。

\n【参考答案】

\n

38.\n【审题关键句】千位+百位等于十位十个位,且千位+百位等于个位.千位的10倍。计算并输出这些四位自然数的个数cnt以及这些数的和。

\n【解题思路】

\n①首先定义一个循环变量i,以及分别用来存放四位数分解之后各位数的变量qw(千位)、bw(百位)、SW(十位)和gw(个位)。

\n②通过for循环依次对数组中的每个四位数进行分解,循环初值为1000,终值为5000,每循环一次,循环变量i的值加1。每分解一个四位数,根据题目要求,判断其“千位十百位=十位+个位”的条件是否满足,同时判断“(千位+百位)=(个位-于位)*10”的条件是否满足,两个条件之间用运算符进行连接。当同时满足以上两个判断条件时,计数变量cnt的值加1,同时将该四位数累加到求和变量sum中,最终得到满足条件的四位自然数个数cnt及它们的和sum。

\n本题中cnt和sum变量在源程序中已经定义,在该子程序中就不需要再重新定义了。

\n【参考答案】

\n

\n

39.\n【审题关键句】读入数值,奇数个数,偶数个数,数组下标为奇数的平均值。

\n【解题思路】

\n本题类似第42套试题,通过审题可以发现仅有一个不同点,即本题是计算数组下标为奇数的元素的平均值,参考答案的第6条语句。

\n【参考答案】

\n

\n

40.\n【审题关键句】Xn+1=cos(Xn)的迭代计算。

\n【解题思路】

\n①因为方程cos(x).x=0的根为实数,所以定义两个双精度型变量x0,x1。并把变量x1的初值设为0.0。

\n②根据题目中给出的求方程一个实根的迭代算法,在while循环中,首先把变量x1的值赋给x0,然后利用表达式cos(xO)

\n求出一个值x1,再调用vc6.0的求绝对值的库函数fabs0,判断如果x0与x1差的绝对值小于0.000001,就认为x1的值是方程cos(x).x=0的一个实根,此时退出循环,把xl的值返回。

\n【参考答案】

\n

41.存储过程是由PL/SQL语句书写的过程,这个过程经编译和优化后存储在数据库服务器中,使用时只要调用即可。使用存储过程具有以下优点:其已经编译和优化过了,所以运行效率高,提供了在服务器端快速执行SQL语句的有效途径;存储过程降低了客户端和服务器之间的通信量;方便实施企业规则,当企业规则发生变化时只要修改存储过程,而无需修改其他应用程序。创建存储过程:createprocedure过程名@[参数名][类型],@[参数名][类型]/*过程首部*/AsDeclare/*as下面对应的<PL/SQL>块为过程体*/beginend如上所示,存储过程包括过程首部和过程体。过程名是数据库服务器合法的对象标识;参数列表:用名字来标识调用时给出的参数值,必须指定值的数据类型。参数可以是输人参数或输出参数,默认为输人参数。【参考答案】CREATEPROCEDUREPRODUCT@商品号int,@年份int,@毛利intoutputASDECLARE@某商品销售量int,@某商品进价int,@某商品销售单价int/*中间变量定义:*/BEGINSelect@某商品进价=单价from商品表where@商品号=商品号Select@某商品销售单价=销售单价,@某商品销售量=count(*)from销售表where@商品号=商品号and销售时间=@年份IF@某商品进价isNULLTHEN/木判断该商品是否存在*/ROLLBACK;RETURN;ENDIFIF@某商品销售单价isNULLTHEN/*判断该两晶是否可卖*/ROLLBACK;RETURN;ENDIFSET@毛利=(@某商品销售单价-@某商品进价)*@某商品销售量GO

42.【解题思路】数据库性能优化的基本原则就是通过尽可能少的磁盘访问获得所需要的数据。SQLSERVER性能优化一般从数据库设计、应用程序编码、硬件优化、数据库索引、SQL语句、事务处理几个方面人手考虑问题。(1)分析阶段:在系统分析阶段往往有太多需要关注的地方,系统各种功能性、可用性、可靠性、安全性需求吸引了我们大部分的注意力,但必须注意的是,性能往往是很重要的非功能性需求,必须根据系统的特点确定其实时性需求、响应时间的需求、硬件的配置等。最好能有各种需求量化的指标。(2)设计阶段:例如数据库逻辑设计规范化;合理的冗余;主键的设计;外键的设计;字段的设计;数据库物理存储和环境的设计;数据库的物理存储、操作系统环境及网络环境的设计,皆使得我们的系统在将来能适应较多用户的并发操作和较大的数据处理量。这里需要注意文件组的作用,适用文件组可以有效的把I/O操作分散到不同的物理硬盘,提高并发能力。(3)系统设计:整个系统的设计,特别是系统结构的设计对性能具有很大的影响。对于一般的OLTP系统,可以选择C/S结构、三层的C/S结构等,不同的系统结构其性能的关键也有所不同。系统设计阶段应归纳某些业务逻辑在数据库编程阶段实现,数据库编程包括数据库存储过程、触发器和函数。用数据库编程实现业务逻辑的好处是减少网络流量并能更充分利用数据库的预编译和缓存功能;索引设计阶段可以根据功能和性能的需求进行初步的索引设计,这里需要根据预计的数据量和查询来设计索引,可能与将来实际使用时有所区别。(4)编码阶段:编码阶段首先需要所有程序员具备优化意识,也就是在实现功能的同时具备考虑优化性能的思想。数据库是能进行集合运算的工具,所谓集合运算实际是批量运算,即是尽量减少在客户端进行大数据量的循环操作,而用SQL语句或者存储过程代替。这个阶段主要是注意在SQL语句等方面的优化,如:尽量少做重复的工作,用SELECT后跟需要的字段代替SELECT*语句,注意事务和锁,注意I临时表和表变量的用法,慎用游标和触发器,尽

温馨提示

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

评论

0/150

提交评论