一、认识索引:
数据库中的索引与书籍中的目录类似。在一本书中,无须阅读整本书,利用目录就可以怏速查找所需信息。在数据库中,索引使数据库程序无须对整个表进行扫描.就可以在其中找到所需数据。书中的目录是一个词语列表,其中注明了包含各个词的页码。而数据库中的索引是某个表中一列或若干列值的集合,以及物理标识这些值的数据页的逻辑指针清单。
索引是SQL Server编排数据的内部方法,它为SQL Server提供一种方法来编排查询数据的路由.索引页是数据库中存储索引的数据页。索引页存放检索数据行的关键字页及该数据行的地址指针。索引页类似于汉语字〈词)典中按拼音或笔画排序的目录页。通过使用索引,可以大大提高数据库的检索速度.改善数据库性能。
1.1 唯一索引:
唯一索引不允许两行具有相同的索引值。
如果现有数据中存在重复的键值,则一般情况下大多数数据库不允许创建唯一索引。当新数据将使表中的键值重复时,数据库也拒绝接收此数据。例如,如果在某个表中的“身份证号”列上创建了唯一索引.则所有记录的身份证号不能重复。
1.2主键索引:
在数据库关系图中为表定义-个主键将自动创建主键索引.主键索引是唯一索引的特殊类型。主键索引要求主键中的每个值是唯一的。当在查询中使用主键索引时,它还允许快速访问数据。
1.3 聚集索引:
在聚集索引中,表中各行的物理顺序与键值的逻辑〈索引〉顺序相同一个表只能包含一个聚集索引。
1.4 非聚集索引:
非聚集索引建立在索引页上,在查询数据时可以从索引中找到记录存放的位置。
非聚集索引使表中各行数据存放的物理顺序与键值的逻辑顺序不匹配。聚集索引比非聚集索引有更快的数据访问速度。
1.5 复合索引:
在创建索引时,并不是只能对其中一列创建索引.与创建主键一样,可以将多个列组合作为索引.这种索引称为复合索引。
需要注意的是.只有用到复合索引的第一列或整个复合索引列作为条件完成数据查询时才会用到该索引。
1.6 全文索引:
全文索引是一种特殊类型的基于标记的功能性索引,由SQL Server中全文引擎服务创建和维护。全文索引主要用于在大量文本中搜索字符串,此时使用全文索引的效率将大大高于使用T-SQL的LKE关键字的效率,因为全文索引的创建过程与其他类型的索引有很大的差别,所以建议学员借助sQL Server 联机帮助学习其创建和使用。
二、实验:
2.1 实验表格:
2.1 实验 描述:
利用索引查询考试成绩为80~90分的所有记录。
要求输出:学员姓名.课程名、考试日期和学员成绩。
统计每门课程的平均成绩.要求以视图显示“课程ID、课程名.平均成绩”.