计算机三级考试《数据库技术》章节习题与答案.docx
《计算机三级考试《数据库技术》章节习题与答案.docx》由会员分享,可在线阅读,更多相关《计算机三级考试《数据库技术》章节习题与答案.docx(12页珍藏版)》请在冰豆网上搜索。
计算机三级考试《数据库技术》章节习题与答案
计算机三级考试《数据库技术》章节习题与答案
计算机三级考试《数据库技术》章节习题与答案
1[单选题]创建存储过程的用处主要是__________。
A.提高数据操作效率
B.维护数据的一致性
C.实现复杂的业务规则
D.增强引用完整性
参考答案:
A
2[单选题]下列不属于存储过程好处的是:
()
A.模块化程序设计
B.改善性能
C.增加网络流量
D.增强应用程序安全性
参考答案:
C
3[填空题]存储过程中传递参数有两种方式:
按参数位置和()传递值
参考答案:
参数名
4[单选题]设某数据库在非工作时间(每天8:
00以前、18:
00以后、周六和周日)不允许授权用户在职工表中插入数据。
下列方法中能够实现此需求且最为合理的是()
A.建立存储过程
B.建立后触发型触发器
C.定义内嵌表值函数
D.建立前触发型触发器
参考答案:
D
5[单选题]下列关于存储过程的说法中,正确的是__________。
A.在定义存储过程的代码中可以包含数据的增、删、改、查语句
B.用户可以向存储过程传递参数,但不能输出存储过程产生的结果
C.存储过程的执行是在客户端完成的
D.存储过程是存储在客户端的可执行代码段
参考答案:
A
6[单选题]在SQL语言中,为了数据完整性约束能力应创建()。
A.视图viewB.索引indexC.游标cursorD.触发器trigger
参考答案:
D
7[填空题]用户自定义函数结构与存储过程类似,但必有()子句用于返回函数值
参考解析:
RETURN
8[单选题]在开发数据库应用系统时,使用存储过程可以提高数据访问效率,降低网络流量。
下列关于存储过程的说法,错误的是()
A.存储过程可以接受输入参数,并可将执行结果以输出参数形式返回
B.存储过程可以有多个输入参数,但只能有一个输出参数
C.定义存储过程时,在一个存储过程中可以同时包含数据的增、删、改、查操作
D.存储过程的输入参数和输出参数均可有默认值
参考答案:
B
9[单选题]
设要定义一个包含两个输入参数和两个输出参数的存储过程,各参数均为整型。
下列定义该存储过程的语句中,正确的是__________。
A.CREATEPROCP1@x1,@x2int.
@x3.@x4intoutputB.CREATEPROCP1@x1int.@x2int.
@x2.@x4intoutputC.CREATEPROCP1@x1int,@x2int,
@x3int.@x4intoutputD.CREATEPROCP1@x1int.@x2int.
@x3intoutput.@x4intoutputt
参考答案:
D
10[单选题]下列场合不合适使用触发器的是:
()
A.完成比CHECK(只能实现同一表列之间取值约束)约束更简单的数据约束。
B.保证数据库性能而维护的非规范化数据。
C.可实现复杂的商业规则。
D.评估数据修改前后的表状态,并采取对策。
参考答案:
A
11[填空题]用户自定义函数中返回一个表的是表值函数,返回一个单值的是()。
参考解析:
标量函数
12[单选题]设在SQLServer2008某数据库中有表SC(Sno,Cno,Grade),其中Grade列的类型为int。
若在查询成绩时,希望将成绩按"优"、"良"、"中"、"及格"和"不及格"形式显示,则下列Case函数中正确的是()
A.CaseGrade
WhenGradebetween90and100THENGrade='优'
WhenGradebetween80and89THENGrade='良'
WhenGradebetween70and79THENGrade='中'
WhenGradebetween60and69THENGrade='及格'
ElseGrade='不及格'
End
B.CaseGrade
WhenGradebetween90and100THEN'优'
WhenGradebetween80and89THEN'良'
WhenGradebetween70and79THEN'中'
WhenGradebetween60and69THEN'及格'
Else'不及格'
End
C.Case
WhenGradebetween90and100THENGrade='优'
WhenGradebetween80and89THENGrade='良'
WhenGradebetween70and79THENGrade='中'
WhenGradebetween60and69THENGrade='及格'
ElseGrade='不及格'
End
D.Case
WhenGradebetween90and100THEN'优'
WhenGradebetween80and89THEN'良'
WhenGradebetween70and79THEN'中'
WhenGradebetween60and69THEN'及格'
Else'不及格'
End
参考答案:
D
13[单选题]设有存储过程定义语句:
CREATEPROCP1@xint,@yintoutput,@zintoutput。
下列调用该存储过程的语句中,正确的是。
A.EXECP110.@aintoutput.@bintoutput
B.EXECP110.@aint.@bintoutput
C.EXECP110.@aoutput.@boutput
D.EXECP110.@a.@boutput
参考答案:
C
14[单选题]在嵌入式SQL中,与游标相关的有四个语句。
下列哪一个语句执行:
“取出当前行的值放入相应的程序变量中”?
A.DECLAREB.OPENC.FETCHD.CLOSE
参考答案:
C
15[填空题]触发器是特殊存储过程,自动触发执行,常用于保证业务规则和()。
参考解析:
数据完整性
16[单选题]设在SQLServer2008某数据库中有销售表(商品号,销售时间,销售数量,销售价格),其中商品号的类型为6),销售价格的类型为int。
现要定义统计指定商品销售总价的标量函数。
有下列定义该标量函数的语句
Ⅰ.CreateFUNCTIONdbo.GetTotal(@GoodID6))
ReturnsintAS
BEGIN
Return(SELECTSUM(销售价格)FROM销售表WHERE商品号=@GoodID)
END
Ⅱ.CreateFUNCTIONdbo.GetTotal(@GoodID6))
ReturnsintAS
BEGIN
Returns(SELECTSUM(销售价格)FROM销售表WHERE商品号=@GoodID)
END
Ⅲ.CreateFUNCTIONdbo.GetTotal(@GoodID6))
Returnsint
BEGIN
Return(SELECTSUM(销售价格)FROM销售表WHERE商品号=@GoodID)
END
Ⅳ.CreateFUNCTIONdbo.GetTotal(@GoodID6))
Returnsint
Returns(SELECTSUM(销售价格)FROM销售表WHERE商品号=@GoodID)
上述语句中,正确的是()
A.仅Ⅰ和ⅡB.仅Ⅲ和ⅣC.仅Ⅱ和ⅣD.仅Ⅰ和Ⅲ
参考答案:
D
17[单选题]定义触发器的主要作用是。
A.提高数据的查询效率
B.增强数据的安全性
C.加强数据的保密性
D.实现复杂的约束
参考答案:
D
18[单选题]在嵌入式SQL中,与游标相关的有四个语句,它们中哪一个执行游标定义中的SELECT语句?
()
A.DECLAREB.OPENC.FETCHD.CLOSE
参考答案:
B
19[填空题]触发器中两个重要的临时表:
()和()
参考解析:
INSERTED和DELETED表
20[单选题]在SQLServer2008中,设在某数据库中建有如下所示的存储过程:
CREATEPROCP1
@aint=20,@b4)
AS……
设有下列调用该存储过程的语句:
Ⅰ.EXECP1100,'a01'
Ⅱ.EXECP1'a01'
Ⅲ.EXECP1@b='a01'
Ⅳ.EXECP1@a=default,@b='a01'
上述语句中,能够正确调用该存储过程的是()
A.仅Ⅰ和ⅡB.仅Ⅰ、Ⅱ和ⅢC.仅Ⅰ、Ⅲ和ⅣD.全部
参考答案:
C
21[单选题]设在sc(Sno,Cno,Grade)表上定义了如下触发器:
CREATETRIGGERtri1ONSCINSTEADOFINSERT...
当执行语句:
INSERTINTOSCVALUES(‘s001’,‘c01’,90)
会引发该触发器执行。
下列关于触发器执行时表中数据的说法中,正确的是__________。
A.sc表和INERTED表中均包含新插入的数据
B.sc表和INERTED表中均不包含新插入的数据
C.SC表中包含新插入的数据,INERTED表中不包含新插入的数据
D.sc表中不包含新插入的数据,INERTED表中包含新插入的数据
参考答案:
D
22[单选题]在SQLServer2008中,设表T(a,b)上建有如下触发器:
CREATETRIGGERtri_ONTFORUPDATEAS
IFEXISTS(SELECT*FROMed
WHEREbnotbetween0and100)
ROLLBACK
设表T中已有数据:
('a01',90),如果执行语句:
UPDATETSETb=100WHEREa='a01'
则触发器临时工作表及执行完该语句后表T中的数据为()
A.T表:
('a01',100)
INSERTED表:
('a01',90)
DELETED表:
('a01',100)
B.T表:
('a01',90)
INSERTED表:
('a01',90)
DELETED表:
('a01',100)
C.T表:
('a01',100)
INSERTED表:
('a01',100)
DELETED表:
('a01',90)
D.T表:
('a01',90)
INSERTED表:
('a01',100)
DELETED表:
('a01',90)
参考答案:
C
23[单选题]
当执行由UPDATE语句引发的触发器时,下列关于该触发器临时工作表的说法中,正确的是__________。
A.系统会自动产生UPDATED表来存放更改前的数据
B.系统会自动产生UPDATED表来存放更改后的数据
C.系统会自动产生INSERTED表和DELETED表,用INSERTED表存放更改后的数据,用DELETED表存放更改前的数据
D.系统会自动产生INSERTED表和DELETED表,用INSERTED表存放更改前的数据,用DELETED表存放更改后的数据
参考答案:
C
24[单选题]效率低下的'SQL语句往往是导致系统性能不佳的主要原因。
设有如下优化系统性能的方法
Ⅰ.利用存储过程封装频繁使用的SQL语句
Ⅱ.重新安排数据存储,整理回收碎块
Ⅲ.不要随意使用游标
Ⅳ.合理使用相关子查询
Ⅴ.调整表结构定义
以上属于优化SQL语句执行效率方法的是()
A.Ⅰ、Ⅲ、ⅣB.Ⅰ、Ⅲ、ⅤC.Ⅱ、Ⅳ、ⅤD.Ⅰ、Ⅳ、Ⅴ
参考答案:
A
25[单选题]下列关于游标的说法中,错误的是__________。
A.游标允许用户定位到结果集中的某行
B.游标允许用户读取结果集中当前行位置的数据
C.游标允许用户修改结果集中当前行位置的数据
D.游标中有个当前行指针,该指针只能在结果集中单向移动
参考答案:
D
26[单选题]在SQLServer2000中,有商品表(商品号,商品名,单价)和销售表(商品号,销售时间,销售价格)。
现要限制"销售价格"的取值必须在此商品"单价"的0.6倍到1.5倍范围之内,实现这个约束的正确代码是()
A.CHECK(销售价格BETWEEN单价*0.6AND单价*1.5)
B.CHECK(销售价格BETWEEN商品表.单价*0.6AND商品表.单价*1.5)
C.CREATETRIGGERtri_SalesON销售表FORINSERT,UPDATE
ASIFEXISTS(SELECT*FROMINSERTEDaJOIN商品表b
ONa.商品号=b.商品号
WHERE销售价格NOTBETWEEN单价*0.6AND单价*1.5)
ROLLBACK
D.CREATETRIGGERtri_SalesON销售表INSTEADOFINSERT,UPDATE
AS
IFEXISTS(SELECT*FROMINSERTEDaJOIN商品表b
ONa.商品号=b.商品号
WHERE销售价格NOTBETWEEN单价*0.6AND单价*1.5)
ROLLBACK
参考答案:
C
27[单选题]有关系模式:
系(系号,系名,系办公电话),教师(教师号,教师名,职称,聘任日期,工资,所在系号)。
现要定义下列约束:
Ⅰ.系号是系关系的主码,教师号是教师关系的主码
Ⅱ.职称列的取值只能为"教授","副教授","讲师","助理"和"其他"
Ⅲ.教授的默认工资为10000元,副教授的默认工资为8000元,讲师的默认工资为5000元
Ⅳ.每个教师的所在系号不能为空,且其值必须在系关系中存在
若在数据库中实现以上约束,需要使用触发器才能实现的是()
A.仅Ⅰ和ⅡB.仅Ⅲ和ⅣC.仅ⅢD.仅Ⅰ和Ⅳ
参考答案:
B
28[单选题]触发器是一种特殊的存储过程,它是由用户对数据的更改操作自动引发执行的。
下列数据库控制中,适于用触发器实现的是()
A.并发控制B.恢复控制C.可靠性控制D.完整性控制
参考答案:
D
29[单选题]利用游标机制可以实现对查询结果集的逐行操作。
下列关于SQLServer2008中游标的说法中,错误的是()
A.每个游标都有一个当前行指针,当游标打开后,当前行指针自动指向结果集的第一行数据
B.如果在声明游标时未指定INSENSITIVE选项,则已提交的对基表的更新都会反映在后面的提取操作中
C.当@@FETCH_STATUS=0时,表明游标当前行指针已经移出了结果集范围
D.关闭游标之后,可以通过OPEN语句再次打开该游标
参考答案:
C
30[单选题]SQLServer2008允许用户自己定义函数。
关于内联表值函数,有下列说法:
Ⅰ.在内联表值函数中,没有相关联的返回变量
Ⅱ.内联表值函数通过INSERT语句填充函数返回的表值
Ⅲ.内联表值函数的作用类似于带参数的视图
Ⅳ.调用内联表值函数时,只能将内联表值函数放置在FROM子句中
上述说法中正确的是()
A.仅ⅡB.仅Ⅱ和ⅢC.仅Ⅰ、Ⅱ和ⅣD.仅Ⅰ、Ⅲ和Ⅳ
参考答案:
D