【SQL Server】华中农业大学空间数据库实验报告 实验五 索引
1.实验目的
- 通过课堂理论学习与实验课的实际操作,充分理解索引的相关概念,作用,以及特点,创建索引的基本目的是提高系统性能,虽然实验课堂中我们实际使用的实验数据无法很好的体现索引的优点,但希望我们能在实验课的实际操作中尽可能加深对索引概念的理解;
- 可以准确认识主键、索引、聚簇索引、非聚簇索引、唯一索引、降序与升序等等概念间的关系与区别,在面对实际问题与要求时,可以根据自身对索引类型的理解与特定的需要利用交互式方法或T-SQL语句的方法不借助外力帮助,自行创建索引提高数据库性能;
- 通过课堂与课后的练习,熟练掌握利用T-SQL语句进行索引设计的基本原则和相关技巧,可以根据实际的需要准确判断如何创建合适的索引,以提高数据库查询的效率。
2.实验内容
- 创建索引:交互式管理聚簇索引、SQL创建聚簇索引、交互式管理非聚簇索引、SQL创建非聚簇索引;
- 删除索引:交互式删除索引、T-SQL语句删除索引。
3.实验步骤
3.1创建索引
1.交互式管理聚簇索引
(1)在管理聚簇索引之前,我们首先需要对SC表建立主键,因此打开表设计器后,我们根据之前实验课内容对Sno与Cno建立主键;
(2)主键创建成功后,打开【索引/键】对话框,既可以看到创建主键时,系统自动为我们生成的聚簇索引:
2.SQL创建聚簇索引
新建查询,输入代码如下,其代码含义为使用数据库jiaoxuedb,在数据库表【TEACHER】的列TNO上,创建一个命名为IND_TNO的降序聚簇索引,但此步骤出现了报错,后续实验报告中将与其它错误一起总结:
3.交互式管理非聚簇索引
打开数据库表【TEACHER】的表设计器后,点击【索引/键】对话框,设置参数如下,添加一个在AGE上降序,TN上升序,命名为IND_TN_AGE的非聚簇索引:
4. SQL创建非聚簇索引
新建查询,输入代码如下,其代码含义为使用数据库jiaoxuedb,在数据库表【COURESE】的列CNAME上,创建一个命名为IND_CN的升序聚簇索引。
通过此代码与上述代码对比也可以看出,设置索引时默认为升序,如果希望将索引设置为降序,需要在如下图所示位置输入代码:
3.2删除索引
1.交互式删除索引
交互式删除索引的方法非常简单,打开相应数据库表的表设计器,打开【索引/键】对话框,选择相应索引后,点击删除即可:
2.T-SQL语句删除索引
新建查询,输入代码如下所示,其代码含义为删除数据库表【TEACHER】的命名为【IX_TEACHER_TNAME】的索引:
4.课后习题
1.对教师表T中的教师号TNO创建聚簇索引,并按降序排列:
与实验3.2的操作步骤与内容相同,新建查询,输入代码如下,:
2.对学生表S中的学号SNO创建唯一索引,并按升序排列:
新建查询,输入代码如下: