- 相关推荐
2016计算机三级《数据库技术》章节练习题
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.游标cursor D.触发器trigger
参考答案:D
7[填空题]用户自定义函数结构与存储过程类似,但必有( )子句用于返回函数值
参考解析:
RETURN
8[单选题]在开发数据库应用系统时,使用存储过程可以提高数据访问效率,降低网络流量。下列关于存储过程的说法,错误的是( )
A.存储过程可以接受输入参数,并可将执行结果以输出参数形式返回
B.存储过程可以有多个输入参数,但只能有一个输出参数
C.定义存储过程时,在一个存储过程中可以同时包含数据的增、删、改、查操作
D.存储过程的输入参数和输出参数均可有默认值
参考答案:B
9[单选题]
设要定义一个包含两个输入参数和两个输出参数的存储过程,各参数均为整型。下列定义该存储过程的语句中,正确的是__________。
A.CREATE PROC P1 @x1,@x2 int.
@x3.@x4int outputB.CREATE PROC P1 @x1 int.@x2 int.
@x2.@x4int outputC.CREATE PROC P1 @x1 int,@x2 int,
@x3 int.@x4 int outputD.CREATE PROC P1 @x1 int.@x2 int.
@x3 int output.@x4 int output t
参考答案:D
10[单选题]下列场合不合适使用触发器的是:( )
A.完成比CHECK(只能实现同一表列之间取值约束)约束更简单的数据约束。
B.保证数据库性能而维护的非规范化数据。
C.可实现复杂的商业规则。
D.评估数据修改前后的表状态,并采取对策。
参考答案:A
11[填空题]用户自定义函数中返回一个表的是表值函数,返回一个单值的是( )。
参考解析:标量函数
12[单选题]设在SQL Server 2008某数据库中有表SC(Sno,Cno,Grade),其中Grade列的类型为int。若在查询成绩时,希望将成绩按"优"、"良"、"中"、"及格"和"不及格"形式显示,则下列Case函数中正确的是( )
A.Case Grade
When Grade between 90 and 100 THEN Grade = '优'
When Grade between 80 and 89 THEN Grade = '良'
When Grade between 70 and 79 THEN Grade = '中'
When Grade between 60 and 69 THEN Grade = '及格'
Else Grade = '不及格'
End
B.Case Grade
When Grade between 90 and 100 THEN '优'
When Grade between 80 and 89 THEN '良'
When Grade between 70 and 79 THEN '中'
When Grade between 60 and 69 THEN '及格'
Else '不及格'
End
C.Case
When Grade between 90 and 100 THEN Grade = '优'
When Grade between 80 and 89 THEN Grade = '良'
When Grade between 70 and 79 THEN Grade = '中'
When Grade between 60 and 69 THEN Grade = '及格'
Else Grade = '不及格'
End
D.Case
When Grade between 90 and 100 THEN '优'
When Grade between 80 and 89 THEN '良'
When Grade between 70 and 79 THEN '中'
When Grade between 60 and 69 THEN '及格'
Else '不及格'
End
参考答案:D
13[单选题]设有存储过程定义语句:CREATE PROC P1@x int,@y int output,@z int output。下列调用该存储过程的语句中,正确的是。
A.EXEC P1 10.@a int output.@b int output
B.EXEC P1 10.@a int.@b int output
C.EXEC P1 10.@a output.@b output
D.EXEC P1 10.@a.@b output
参考答案:C
14[单选题] 在嵌入式SQL中,与游标相关的有四个语句。下列哪一个语句执行:“取出当前行的值放入相应的程序变量中”?
A.DECLAREB.OPENC.FETCHD.CLOSE
参考答案:C
15[填空题]触发器是特殊存储过程,自动触发执行,常用于保证业务规则和( )。
参考解析:数据完整性
16[单选题]设在SQL Server 2008某数据库中有销售表(商品号,销售时间,销售数量,销售价格),其中商品号的类型为char(6),销售价格的类型为int。现要定义统计指定商品销售总价的标量函数。有下列定义该标量函数的语句
Ⅰ.Create FUNCTION dbo.GetTotal(@GoodID char(6))
Returns int AS
BEGIN
Return(SELECT SUM(销售价格) FROM 销售表 WHERE 商品号 = @GoodID)
END
Ⅱ.Create FUNCTION dbo.GetTotal(@GoodID char(6))
Returns int AS
BEGIN
Returns(SELECT SUM(销售价格) FROM 销售表 WHERE 商品号 = @GoodID)
END
Ⅲ.Create FUNCTION dbo.GetTotal(@GoodID char(6))
Returns int
BEGIN
Return(SELECT SUM(销售价格) FROM 销售表 WHERE 商品号 = @GoodID)
END
Ⅳ.Create FUNCTION dbo.GetTotal(@GoodID char(6))
Returns int
Returns(SELECT SUM(销售价格) 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[单选题]在SQL Server 2008中,设在某数据库中建有如下所示的存储过程:
CREATE PROC P1
@a int = 20, @b char(4)
AS … …
设有下列调用该存储过程的语句:
Ⅰ.EXEC P1 100, 'a01'
Ⅱ.EXEC P1 'a01'
Ⅲ.EXEC P1 @b='a01'
Ⅳ.EXEC P1 @a=default, @b='a01'
上述语句中,能够正确调用该存储过程的是( )
A.仅Ⅰ和ⅡB.仅Ⅰ、Ⅱ和ⅢC.仅Ⅰ、Ⅲ和ⅣD.全部
参考答案:C
21[单选题]设在sc(Sno,Cno,Grade)表上定义了如下触发器:
CREATE TRIGGER tri1 ON SC INSTEAD OF INSERT...
当执行语句:INSERT INTO SC VALUES(‘s001’, ‘c01’,90)
会引发该触发器执行。下列关于触发器执行时表中数据的说法中,正确的是__________。
A.sc表和INERTED表中均包含新插入的数据
B.sc表和INERTED表中均不包含新插入的数据
C.SC表中包含新插入的数据,INERTED表中不包含新插入的数据
D.sc表中不包含新插入的数据,INERTED表中包含新插入的数据
参考答案:D
22[单选题]在SQL Server 2008中,设表T(a, b)上建有如下触发器:
CREATE TRIGGER tri_update ON T FOR UPDATE AS
IF EXISTS(SELECT * FROM inserted
WHERE b not between 0 and 100)
ROLLBACK
设表T中已有数据:('a01',90),如果执行语句:
UPDATE T SET b = 100 WHERE a = '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[单选题]在SQL Server 2000中,有商品表(商品号,商品名,单价)和销售表(商品号,销售时间,销售价格)。现要限制"销售价格"的取值必须在此商品"单价"的0.6倍到1.5倍范围之内,实现这个约束的正确代码是( )
A.CHECK(销售价格BETWEEN单价*0.6 AND单价*1.5)
B.CHECK(销售价格BETWEEN商品表.单价*0.6 AND商品表.单价*1.5)
C.CREATE TRIGGER tri_Sales ON销售表FOR INSERT,UPDATE
AS IF EXISTS(SELECT*FROM INSERTED a JOIN商品表b
ON a.商品号=b.商品号
WHERE销售价格NOT BETWEEN单价*0.6 AND单价*1.5)
ROLLBACK
D.CREATE TRIGGER tri_Sales ON销售表INSTEAD OF INSERT,UPDATE
AS
IF EXISTS(SELECT*FROM INSERTED a JOIN商品表b
ON a.商品号=b.商品号
WHERE销售价格NOT BETWEEN单价*0.6 AND单价*1.5)
ROLLBACK
参考答案:C
27[单选题]有关系模式:系(系号,系名,系办公电话),教师(教师号,教师名,职称,聘任日期,工资,所在系号)。现要定义下列约束:
Ⅰ.系号是系关系的主码,教师号是教师关系的主码
Ⅱ.职称列的取值只能为"教授","副教授","讲师","助理"和"其他"
Ⅲ.教授的默认工资为10000元,副教授的默认工资为8000元,讲师的默认工资为5000元
Ⅳ.每个教师的所在系号不能为空,且其值必须在系关系中存在
若在数据库中实现以上约束,需要使用触发器才能实现的是( )
A.仅Ⅰ和ⅡB.仅Ⅲ和ⅣC.仅ⅢD.仅Ⅰ和Ⅳ
参考答案:B
28[单选题]触发器是一种特殊的存储过程,它是由用户对数据的更改操作自动引发执行的。下列数据库控制中,适于用触发器实现的是( )
A.并发控制B.恢复控制C.可靠性控制D.完整性控制
参考答案:D
29[单选题]利用游标机制可以实现对查询结果集的逐行操作。下列关于SQL Server 2008中游标的说法中,错误的是( )
A.每个游标都有一个当前行指针,当游标打开后,当前行指针自动指向结果集的第一行数据
B.如果在声明游标时未指定INSENSITIVE选项,则已提交的对基表的更新都会反映在后面的提取操作中
C.当@@FETCH_STATUS=0时,表明游标当前行指针已经移出了结果集范围
D.关闭游标之后,可以通过OPEN语句再次打开该游标
参考答案:C
30[单选题]SQL Server 2008允许用户自己定义函数。关于内联表值函数,有下列说法:
Ⅰ.在内联表值函数中,没有相关联的返回变量
Ⅱ.内联表值函数通过INSERT语句填充函数返回的表值
Ⅲ.内联表值函数的作用类似于带参数的视图
Ⅳ.调用内联表值函数时,只能将内联表值函数放置在FROM子句中
上述说法中正确的是( )
A.仅ⅡB.仅Ⅱ和ⅢC.仅Ⅰ、Ⅱ和ⅣD.仅Ⅰ、Ⅲ和Ⅳ
参考答案:D
【计算机三级《数据库技术》章节练习题】相关文章:
计算机三级《网络技术》章节练习题与答案09-23
计算机三级考试数据库技术练习题08-20
计算机三级《数据库技术》备考练习题09-22
计算机三级数据库技术练习题及答案10-26
计算机三级考试《数据库技术》练习题和答案10-12
计算机三级数据库技术单选练习题及答案09-01