第七单元 索引和视图(课件)- 《网站数据库应用技术SQL Server》同步教学(水利水电版)
2024-03-21
|
49页
|
40人阅读
|
0人下载
普通
内容正文:
第七单元 索引和视图
任务7.1创建和管理索引
任务7.2创建与管理视图
7.1.1 情景描述
7.1.2问题分析
7.1.3 解决方案
7.1.4 知识总结
7.1.5 应用实践
任务7.1 创建和管理索引
在学生信息管理系统的实际应用中,课程信息量会随着时间越来越大,因此数据库开发人员需要提高查询课程信息的速度。在系统里经常需要按照课程名称和课程性质来查询课程信息,那么可以在“课程”表的“名称”字段和“课程性质”字段上创建索引。
7.1.1 情景描述
为了解决上述问题,需要完成以下任务:
1.写出在“课程”表的“课程名称”列上创建唯一非聚集索引“IX_课程_课程名称”的语句。
2.写出在“课程”表的“课程性质”列上创建非聚集索引“IX_课程_课程性质”的语句。
3.执行上述语句。
7.1.2问题分析
1.打开SQL Server Management Studio,单击“对象资源管理器”中的“数据库”文件夹下的数据库“学生管理”;
2.单击工具栏上的“新建查询”命令,打开“查询编辑器”;
3.在“查询编辑器”上输入以下代码:
7.1.3 解决方案
4.单击工具栏上的【执行】按钮,如图所示。
CREATE UNIQUE NONCLUSTERED INDEX IX_课程_课程名称
ON 课程(课程名称)
CREATE NONCLUSTERED INDEX IX_课程_课程类型
ON 课程(课程性质)
索引的用途
索引的分类
创建索引
查看索引
禁用索引
激活索引
重命名索引
删除索引
7.1.4 知识总结
索引是为了加快对表中数据的检索速度而创建的一种单独的、物理的数据结构。数据库中的索引类似于字典的部首查字法和拼音查字法,通过索引,可以使得应用程序像快速从字典中查找你要的字一样,而不必整个表中的记录一个个查看才能找到所需记录。
使用索引能够改善数据库的性能,主要有以下几个方面:
可以加快数据的查询速度。
唯一索引,可以保证记录的唯一性。
可以加快表与表之间的连接。
在排序、分组的时候,可以减少排序、分组的时间。
索引的用途
按照索引的存储结构,索引可以分为聚集索引和非聚集索引。
按照索引取值可以划分为唯一索引和非唯一索引。
索引的分类
使用CREATE INDEX语句创建索引的语法格式如下:
创建索引
CREATE [UNIQUE] [CLUSTERED|NONCLUSTERED] INDEX 索引名
ON 表名 (列名)
参数说明如下:
UNIQUE:指定创建唯一索引,如果省略,则表示创建非唯一索引。
CLUSTERED、NONCLUSTERED:指定创建聚集索引还是非聚集索引,两者只能取一个值,如果省略,则表示创建非聚集索引。
表名:指定索引存在的表。
列名:索引所在的列的名字,可以指定两个或多个列名。
CREATE CLUSTERED INDEX IX_学生_学号 ON 学生(学号)
【例7-1】在“学生”表的“学号”字段上建立聚集索引。
①打开SQL Server Management Studio,在工具栏上单击“新建查询”按钮,打开SQL编辑器,编写如下代码:
②单击工具栏上的【执行】按钮,运行结果如图所示。
说明:
在学生表上,学号是主键,创建主键的时候自动生成了名为“PK__学生__1CC396D20CBAE877”的聚集索引,一个表中聚集索引只能有一个,所以,再创建聚集索引就会报错。
可以删除主键产生的聚集索引,再执行语句。
CREATE UNIQUE NONCLUSTERED INDEX IX_学生_姓名 ON 学生(姓名)
【例7-2】在“学生”表的“姓名”字段上建立非聚集唯一索引。
①打开SQL Server Management Studio,在工具栏上单击“新建查询”按钮,打开SQL编辑器,编写如下代码:
②单击工具栏上的【执行】按钮,运行结果如图所示。
说明:
NONCLUSTERED关键字可以省略。
IX_学生_姓名是索引名字,这么命名的好处是以索引INDEX的缩写开头,中间是表名,最后是包含索引的字段名,这样可以达到见名识意的效果,可以看出索引所在的表名及创建索引的字段。
使用系统存储过程sp_helpindex查看表中包含索引的语法格式如下:
sp_helpindex 表名
查看索引
sp_helpindex 学生
【例7-3】查看“学生”表的索引。
①打开SQL Server Management Studio,在工具栏上单击“新建查询”按钮,打开SQL编辑器,编写如下代码:
②单击工具栏上的【执行】按钮,运行结果如图所示。
说明:
表名可以加单引号,也可以不加单引号。
在结果栏中显示索引的名字,索引的类型,创建索引的字段,其中第一行是【例7-2】
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。