【SQL Server】华中农业大学空间数据库实验报告 实验五 索引

ops/2024/11/23 22:28:58/

1.实验目的

  1. 通过课堂理论学习与实验课的实际操作,充分理解索引的相关概念,作用,以及特点,创建索引的基本目的是提高系统性能,虽然实验课堂中我们实际使用的实验数据无法很好的体现索引的优点,但希望我们能在实验课的实际操作中尽可能加深对索引概念的理解;
  2. 可以准确认识主键、索引、聚簇索引、非聚簇索引、唯一索引、降序与升序等等概念间的关系与区别,在面对实际问题与要求时,可以根据自身对索引类型的理解与特定的需要利用交互式方法或T-SQL语句的方法不借助外力帮助,自行创建索引提高数据库性能;
  3. 通过课堂与课后的练习,熟练掌握利用T-SQL语句进行索引设计的基本原则和相关技巧,可以根据实际的需要准确判断如何创建合适的索引,以提高数据库查询的效率。

2.实验内容

  1. 创建索引:交互式管理聚簇索引、SQL创建聚簇索引、交互式管理非聚簇索引、SQL创建非聚簇索引;
  2. 删除索引:交互式删除索引、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创建唯一索引,并按升序排列:

新建查询,输入代码如下:


http://www.ppmy.cn/ops/136159.html

相关文章

tcpdump使用方法

文章目录 1. 安装tcpdump在Debian/Ubuntu系统在Red Hat/CentOS系统验证安装 2. 基本用法查看可用网络接口捕获所有流量保存捕获的数据从文件读取数据 3. 高级用法显示更多详细信息限制捕获数据包数量指定数据包大小实时输出时间戳 4. 过滤流量过滤特定协议过滤IP地址过滤端口组…

Flink的Standalone集群模式安装部署

一.Flink模式介绍 Flink支持多种安装模式。 local(本地)——本地模式 standalone——独立模式,Flink自带集群,开发测试环境使用 standaloneHA—独立集群高可用模式,Flink自带集群,开发测试环境使用 ya…

秋招总结与感悟

秋招总结与感悟 第一章 个人简介 1.1 个人背景 笔者本科双一流,硕士211,控制工程专业,有英语六级,计算机三级证书,25秋招拿到6家offer。 1.2 求职经历 笔者从2023年7月份,即研一暑假开始准备25届秋招&…

大数据新视界 -- 大数据大厂之 Hive 数据导入:多源数据集成的策略与实战(上)(3/ 30)

💖💖💖亲爱的朋友们,热烈欢迎你们来到 青云交的博客!能与你们在此邂逅,我满心欢喜,深感无比荣幸。在这个瞬息万变的时代,我们每个人都在苦苦追寻一处能让心灵安然栖息的港湾。而 我的…

淘宝商品爬虫:Python的“购物车”大冒险

大家好,我是你们的老朋友Python,今天我将带领大家进行一场刺激的“购物车”大冒险,目标是淘宝的海量商品数据。别担心,我们的行动是完全合法的,就像在超市里用购物车一样,只是我们的目标是数据,…

unity webgl点击链接后微信下面有导航条问题

LaunchURLWebGL | Integration | Unity Asset Store 把里面 LaunchURLWebGL.jslib 文件改成如下内容,这样可以不加入历史记录,下面就不显示菜单了 ,不晓得有什么更好的方法,这个也不是最优接,返回还的加个按钮切换 m…

面试小札:Java的类加载过程和类加载机制。

Java类加载过程 加载(Loading) 这是类加载过程的第一个阶段。在这个阶段,Java虚拟机(JVM)主要完成三件事: 通过类的全限定名来获取定义此类的二进制字节流。这可以从多种来源获取,如本地文件系…

Flutter踩坑记录(一)debug运行生成的项目,不能手动点击运行

问题 IOS14设备,切后台划掉,二次启动崩溃。 原因 IOS14以上 flutter 不支持debugger模式下的二次启动 。 要二次启动需要以release方式编译工程安装至手机。 操作步骤 清理项目:在命令行中运行flutter clean来清理之前的构建文件。重新构…