目录

  • 第1单元    数据库系统导论
    • ● 任务1.1  数据库基本概念
    • ● 任务1.2  设计E—R 图
    • ● 任务1.3   将E-R图转换成关系模型
    • ● 任务1.4   练习与作业
    • ● 教与学参考资源
  • 第2单元   认识SQL SERVER数据库
    • ● 任务2.1 数据库应用场景
    • ● 任务2.3  SQL  Server 数据库安装
    • ● 任务2.4 SQL Server 的管理
    • ● 任务2.5  使用SSMS连接数据库
    • ● 教与学参考资源
  • 第3单元  创建和管理数据库
    • ● 任务3.1 创建数据库
    • ● 任务3.1(2)  命令创建数据库
    • ● 任务3.2 管理数据库
    • ● 任务3.2(2) 查看、收缩数据库
    • ● 教与学参考资源
  • 第4单元 创建和管理数据库表
    • ● 任务4.1 SQL Server常用数据类型
    • ● 任务4.2  创建数据表
    • ● 任务4.3  命令创建表
    • ● 任务4.4 实施完整性约束
    • ● 教与学参考资源
  • 第 5 单元   查询数据表
    • ● 任务5.1 单表数据查询
    • ● 任务5.2 多表数据查询
    • ● 任务5.3 嵌套查询
    • ● 任务5.4 合并查询结果
    • ● 教与学参考资源
  • 第6单元  管理表中数据
    • ● 任务6.1   添加数据
    • ● 任务6.2  修改数据
    • ● 任务6.3  删除数据
    • ● 习题与训练
    • ● 教与学参考资源
  • 第7单元  使用索引和视图
    • ● 任务7.1  使用索引
    • ● 使用T-SQL创建索引
    • ● 任务7.2  使用视图
    • ● 使用T-SQL语句创建视图
    • ● 教与学参考资源
  • 第8单元 Transact-SQL语言编程
    • ● 任务8.1   声明和使用变量
    • ● 任务8.2   流控语句
    • ● 任务8.3   常用系统函数
    • ● 任务8.4   创建自定义函数
    • ● 教与学参考资源
  • 第9单元  事务和锁
    • ● 任务   9.1     事务
    • ● 事务的基本操作
    • ● 任务9.2    锁
    • ● 死锁及避免方法(例)
    • ● 教与学参考资源
  • 第10单元  创建和管理存储过程
    • ● 任务10.1 存储过程及优点
    • ● 任务10.2 创建和执行存储过程
    • ● 任务10.3   存储过程参数和返回值
    • ● 任务10.4 修改、删除、 重新编译存储过程
    • ● 教与学参考资源
  • 第11单元 创建和管理触发器
    • ● 任务1 触发器的作用和分类
    • ● 任务2 触 发器的创建与执行
    • ● 任务3 创建级联触发器
    • ● 任务4 修改、删除触发器
  • 第12单元 创建和使用游标
    • ● 任务1  游标的作用及使用步骤
    • ● 任务2  创建基本游标
    • ● 任务3  使用变量保存游标数据
    • ● 任务4  使用循环环提取游标数据
  • 第13单元 SQL Server用户管理
    • ● 任务1数据库安全管理概述
    • ● 任务2SQL Server 安全机制
    • ● 任务3 账号、角色及权限管理
    • ● 任务4数据库完整性管理
    • ● 任务5 数据库的备份与还原
    • ● 任务6   数据的导入与导出
  • 第14单元  综合应用案例
    • ● 概述
    • ● 需求分析
    • ● 概述设计-逻辑设计- 物理设计
    • ● 编写数据库设计说明书
  • 学生做项目成果展示
    • ● 项目一  设计《我班同学数据库》
    • ● 项目二  设计《(Teaching)教学数据库》
    • ● 项目三  数据库应用系统设计开发项目
    • ● 项目四 《华夏-宿舍管理系统》设计开发
    • ● 项目五   综合实训大作业
    • ● 综合实训团队项目大作业
    • ● 学生完成项目摘录展示
  • 总复习与综合训练
    • ● 总复习
    • ● 综合训练一
    • ● 综合训练二
    • ● 综合训练三
    • ● 综合训练四
    • ● 综合训练五
    • ● 简答综合训练
  • 在线专题测验
    • ● 自检自测一
    • ● 自检自测二
  • 拓展   数据库管理工具平台  Navicat
    • ● 关于Navica
    • ● Navicat 的系统需求
    • ● Navicat 的用户界面
    • ● Navicat 创建数据库对象
    • ● 在Navicat创建的SQL 程序脚本
    • ● 在Navicat创建的SQL  server 脚本(2)
    • ● 综合实训(1)
    • ● 综合实训(2)
  • 技术拓展   (MYSQL)数据库技术与应用
    • ● MYSQL技术
  • 教与学图片剪影
    • ● 教学团队
    • ● 学生学习实训
    • ● 活动与交流
任务7.1  使用索引


概念:

索引:是SQL Server编排数据的内部方法。它为SQL Server提供一种方法来编排查询数据 。

实现索引:

索引页:数据库中存储索引的数据页,索引就是由除存放表的数据页面以外的索引页面组成的,每个索引页面中的行都含有逻辑指针(指向表中的行)。索引页类似于汉语字(词)典中按拼音或笔画排序的目录页。 

作用:

通过使用索引,可以大大提高数据库的检索速度,改善数据库性能。

数据库索引是针对数据表中一个或多个列的值进行排序, 形成一个单独的物理数据表。


任务7.1 使用索引

索引是提高数据库性能的一项关键内容。在SQL Server中,索引有多种分类,每种索引都有其特定的用途及特性。在数据库管理中,合理地设计数据库索引是一个非常重要的内容。

索引类型

索引有许多种分类方法,

其中按包含索引键的多少可分为简单索引和复杂索引;

按是否可以唯一可分为唯一索引和非唯一索引;

按索引和对应的记录的物理存储顺序关系可分为聚集索引和非聚集索引

另外还有全文索引等。

1.简单索引和复杂索引

(1)简单索引。简单索引为仅包含一个属性的索引;

(2)复杂索引。复杂索引是由两个以上属性形成的索引,也可以称为组合索。

2.唯一索引和非唯一索引

     唯一索引是指所引用的属性值能唯一地标识一行,即在此属性列中,不存在两个相同的值。一个特殊的情况是,如果书号在这个数据表中本来就是主键,那么这个索引可以叫做主键索引,显然主键就是一个唯一索引。

         在多列唯一索引的情况下,该索引可以确保索引列中每个值组合都是唯一的,即构成了复杂唯一索引。

         非唯一索引与唯一索引相对,允许出现重复值。如果使用非唯一索引进行查询,则可能传回多个符合属性值=某值的记录。

3.聚集索引和非聚集索引

         所谓聚集索引,是所有记录都按顺序聚集在索引结构的叶结点上的索引。当查询一个数据时,从树的根结点到树的叶结点上后,可以直接得到这条记录,从而减少I/O操作。

聚集索引的一个重要特点是,记录都是依照叶结点的顺序排列,也就是说使用聚集索引可以改变记录的物理存放顺序。例如在表7-3中没有创建索引,在插入数据时也没有任何顺序。

索引的优缺点

1. 索引的优点。

   

  通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。

    可以大大加快数据的检索速度,这也是创建索引的最主要原因。

    可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。

在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。

     通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。

2. 索引的缺点。

     创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。

     索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要建立聚集索引,那么需要的空间就会更大。

     当对表中的数据进行增加、删除和修改时,索引也要动态地维护,这样就降低了数据的维护速度。

任务一    创建索引



SQL Server 中,既可以直接创建索引,也可以间接创建索引。直接创建索引时,既可以使用CREATE INDEX语句,也可以使用图形工具。

、创建索引的原则

在列上创建索引时,应考虑该列在查询中起到什么样的作用。

下列情况适合创建索引:

(1)用作查询条件的列,比如主键,一般而言,存取表的最常用方法的通过主键来进行,因此,一般要在主键上创建索引。

(2)频繁按范围搜索的列。

(3)连接中频繁使用的列。

(4)经常需要排序的列。

  虽然索引重要,也并非越多越好,一是因为创建索引要花费时间和站占用空间,二是索引虽然加快了检索速度,却减慢了数据修改的速度。因为每当执行一次数 的列执行操作花的时间长,修改的数据越多,涉及维护索引的开销也就越大。

一般有以下一些列不能考虑建立索引:

(1)在查询中很少使用和参考的列。

(2)只有很少值的列。

(3)小表(行数很少的表)一般没有必要创建索引。

(4)定义为TEXTIMAGEBIT数据类型的列。

(5)UPDATE的性能比SELECT的性能更重要时不应建立索引。

使用图形工具创建索引

     在了解了索引的概念和分类后,现在开始创建索引,首先介绍如何使用图形工具来创建索引。