内容发布更新时间 : 2024/11/17 2:45:26星期一 下面是文章的全部内容请认真阅读。
如对您有帮助,欢迎下载支持,谢谢!
句。
41. 是一种常用的改善数据库性能的技术。
42. SQL Server2000中引入索引主要是为了加速________速度,也可保证数据的惟一性。
43. 索引可以加速selcet语句中Order By和____________选项的执行速度。 44. 索引一经创建就完全由SQL Server2000系统 选择和维护。 45. 索引会影响对基本表的________、________和________等操作的速度。
46. 从是否改变基本表记录的物理位置角度可将索引分为__________和__________索引两类。
47. 聚集索引与非聚集索引相比,查询速度更 。
48. 注释是一些说明性的文字,而不是 语句,不参与程序的编译。 49. SQL Server2000支持两种形式的变量,即 和 。 50. 一个局部变量的使用范围局限于一个 内,即两个GO语句之间的那一部分。
51. SQL Server2000中为局部变量赋值的语句是 和 。
52. 触发器是一种特殊的 ,基于表而创建,主要用来保证数据的完整性。 53. 使用create database命令定义一个数据库,包括定义__________文件和__________文件两个部分。
54. 使用create database命令定义一个数据库,定义其数据文件以关键字________开始,定义日志文件以关键字________开始。
55. 修改数据库定义的命令关键字为________________,删除整个数据库的命令关键字为________________。
56. 在SQL Server2000中,打开一个数据库使之成为当前库,有________种方法,其中之一使用的命令关键字为_______。
57. 索引可以由系统根据约束条件自动建立,也可以由用户通过命令或菜单方式建立,但它的________和_______将根据需要由系统自动实现,无须用户过问。 58. 索引是在基本表的列上建立的一种数据库对象,它同基本表分开存储,使用它将降低数据的________、________、_________速度。 59. 基本表中的记录数越______,每条记录占用的字节数越______时,使用索引就越有利。
60. 创建索引的命令关键字为________________,删除索引的命令关键字为________________。
61. 在索引命令中使用关键字CLUSTERED或NOCLUSTERED分别表示将建立的是________或________索引。
62. 在基本表的某个列上建立索引,可以使基本表中的所有记录按该列值的________或________排列。
63. 当指定基本表中某一列或若干列为主码时,则系统将在这些列上自动建立一个________、________和________的索引。
64. 当指定基本表中某一列或若干列为UNIQUE约束时,则系统将在这些列上自动________一个唯一值________。
65. 若规定基本表中某一列或若干列为非空和唯一值双重约束,则这些列就是该基本表的________码,若只规定为唯一值约束,则__________空值重复出现。
66. 在SQL Server2000中,通常不需要用户建立索引,而是通过使用________约束和________约束,由系统自动建立索引。
5
如对您有帮助,欢迎下载支持,谢谢!
68. 单行或行尾注释的开始标记为________,多行注释的开始标记为________,结束标记为________。
68. 局部变量的开始标记为______,全局变量的开始标记为________。 69. 每条________语句能够同时为多个变量赋值,每条________语句只能为一个变量赋值。
70. 定义局部变量的语句关键字为__________,被定义的各变量之间必须用________字符分开。
71. 在SQL Server2000中,每个程序块的开始标记为关键字__________,结束标记为关键字________。
72. 在SQL Server2000中,前后相邻的语句之间可以使用________、________或________字符分开。
73. 在SQL Server2000中,CASE结构是一个________,只能作为一个________使用在另一个语句中。 74. 在SQL Server2000中,CASE函数具有______种格式,每种格式中可以带有________个WHEN选项,可以带有______个ELSE选项。
75. 在条件结构的语句中,关键字IF和ELSE之间和ELSE之后,可以使用________语句,也可以使用具有____________格式的语句块。 76. 在循环结构的语句中,当执行到关键字__________后将终止整个语句的执行,当执行到关键字__________后将结束一次循环体的执行。
77. 声明游标语句的关键字为________________,该语句必须带有__________子句。 78. 打开和关闭游标的语句关键字分别为________和________。
79. 判断使用FETCH语句读取数据是否成功的全局变量为________________。
80. 使用游标对基本表进行修改和删除操作的语句中,WHERE选项的格式为“WHERE __________ OF ____________。 81. 每次执行使用游标的取数、修改或________操作的语句时,能够对表中的________个记录进行操作。
82. 在SQL Server2000中,一个事务是一个__________的单位,它把必须同时执行或不执行的一组操作________在一起。
83. 在SQL Server2000中,一个事务处理控制语句以关键字________________开始,以关键字________________或________________结束。
84. 每个存储过程可以包含________条Transact-SQL语句,可以在过程体中的任何地方使用__________语句结束过程的执行,返回到调用语句后的位置。 84. 建立一个存储过程的语句关键字为________________,执行一个存储过程的语句关键字为____________。
86. 在一个存储过程定义的AS关键字前可以定义该过程的________,AS关键字之后为该过程的__________。
87. 触发器是一种特殊的存储过程,它可以在对一个表上进行________、________和________操作中的任一种或几种操作时被自动调用执行。
88. 创建和删除一个触发器的语句关键字为________________和________________。 89. 在一个表中最多只能有一个关键字为_____________的约束,关键字为FOREIGN KEY的约束可以出现________次。
90. CHECK约束被称为________约束,UNIQUE约束被称为__________约束。
91. 使用一种约束时,可以使用关键字_____________和标识符____________的选项命名该约束,也可以省略该选项由系统自动命名,因为用户很少再使用其约束名。
6
如对您有帮助,欢迎下载支持,谢谢!
92. 当一个表带有约束后,执行对表的各种________操作时,将自动________相应的约束,只有符合约束条件的合法操作才能被真正执行。
93. 在SQL Server2000中,数据库的安全机制分为4个等级,分别为客户端____________的安全、数据库的________安全、数据库使用安全和数据库对象的使用安全。 94. 数据库的安全管理问题归结为对________和________的管理问题。
95. 要访问SQL Server2000数据库服务器,用户必须提供正确的__________和__________。
96. 对用户授予和收回数据库操作的语句关键字分别为__________和__________。 97. 在授予用户访问权限的语句中,所给表名选项以关键字________开始,所给用户名选项以关键字________开始。
98. 在收回用户访问权限的语句中,所给表名选项以关键字________开始,所给用户名选项以关键字________开始。
99. 使用游标取数和释放游标的语句关键字分别为____________和____________。
三、写出下列每条语句或程序段的功能
假设存在名为AAA的数据库,包括Students(学号 char(8),姓名 varchar(8),年龄 int,专业 varchar(20),入学日期 DateTime)和Score(学号 char(8),课程名 varchar(10),成绩 numeric(5,2))两张表。 1. SELECT *
FROM Students
WHERE DATEPART(year,入学日期) =DATEPART(year,GETDATE())
2. DECLARE @MyNO CHAR(8) SET @MyNO='20030001'
IF (SELECT 专业 FROM Students WHERE 学号=@MyNO)='计算机软件' BEGIN
SELECT AVG(成绩) AS 平均成绩 FROM Score WHERE 学号=@MyNO END
ELSE
PRINT '学号为' +@MyNO+'的学生不存在或不属于软件专业' GO
3. declare @a numeric(5,2)
set @a=(select avg(成绩) from score) select *
from score
where 成绩>=@a
4. declare @a numeric(5,2),@b numeric(5,2) set @a=(select max(成绩) from score) set @b=(select min(成绩) from score) print @a-@b
7
如对您有帮助,欢迎下载支持,谢谢!
5. declare @a char(6)
set @a='刘亮'
if(exists(select * from students where 姓名=@a)) print '姓名为'+@a+'的同学存在!' else
print '姓名为'+@a+'的同学不存在!'
6. declare @a char(8)
set @a='计算机'
select 计算机专业人数=count(*) from students where left(专业,3)=@a
7. select year(入学日期) as 入学年份,count(*) as 人数 from students
group by year(入学日期)
8. select month(入学日期) as 入学月份,count(*) as 人数 from students
group by month(入学日期)
9. select day(入学日期) as 入学日号,count(*) as 人数 from students
group by day(入学日期)
10. create procedure xxk1 as begin
select *
from students x,score y where x.学号=y.学号 end
11.create procedure xxk2 as begin
select x.学号,x.姓名,x.专业,count(*) as 门数 from students x,score y where x.学号=y.学号
group by x.学号,x.姓名,x.专业 end
12.create procedure xxk3
8