数据库教务系统的索引设计分析.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2004-9-10 第2章 SQL安装与配置 任务6 教务数据库的索引设计 任务目标 索引是SQL SERVER中的一种数据库对象,在数据库大量数据中,为迅速查找你需要的数据,或排序等需要,在原数据表基础上可建立索引这种辅助文件。通过它可对数据表进行排序,迅速查找。合理地设计索引可以提高数据库的性能。本章任务目标是学习SQL SERVER2005中索引设计的相关知识,并进行教务数据库索引的建立、索引的查看、索引的修改及索引的删除等操作。使学生能认识索引及其优缺点,根据需要合理地进行表的索引设计,能利用SQL语句或SQL Server Management Studio进行索引的各种操作。 学习引领 为了提高查阅速度,我们并不是从书的第一页开始顺序查找,而是首先查看书的目录索引,找到需要的这一章节在目录中所列的页码,然后根据这一页码直接找到需要的章节。在数据库中,为了从大量的数据中迅速找到需要的内容,也采用类似于书目录这样的索引技术,使得在执行数据查询时不必扫描整个数据库,就能迅速查到所需要的内容。在了解表的概念、表结构的基础上,首先先要认识什么是索引,为什么要建立索引,索引的分类、优缺点,如何考虑建立索引。通过教务数据库中的索引操作掌握索引创建、管理的语法。并完成书中的课堂实践及习题来消化理解数据库的索引知识。 任务组成描述 任务6-1 教务数据库索引创建 子任务1 认识索引 子任务内容 索引的概念和分类。 唯一索引的概念。 创建索引的优、缺点。 索引的创建语法。 子任务要求 了解索引的概念、存储方式、查询的原理。 能够描述创建索引的优点和缺点。 能学会如何考虑一个列是否建索引。 掌握索引SQL创建语法。 2. 索引类型 索引是数据库对象中的一种。根据索引的顺序与数据表的物理顺序是否相同,可以把索引分成两种类型:聚集索引与非聚集索引。 3. 唯一索引的概念 要区别表中的两行,确定行的唯一性,可采用唯一索引。唯一索引既可以采用聚集索引的结构,又可以采用非聚集索引的结构。 唯一索引的特征: ① 两行不能具有相同的索引值。 ② 能够进行实体完整性的实施。 ③ 创建主键约束和唯一约束时系统会自动创建唯一索引。 在实际程序开发编程中经常会使用唯一索引。如学生表、教师表等中,会有很多列的列值需要保证其唯一性,如:有学生学号、教师工号、课程编号、系代号等,可在这些列上创建唯一索引。但如果在某列创建时,在该列数据存在重复值,系统将会返回错误信息。 4. 创建索引的优、缺点 (1)创建索引的优点 使用索引可以大大提高系统的性能,其具体表现在: 创建唯一索引,保证数据库表中每一行数据的唯一性。 可以大大加快数据检索速度,提高系统的性能。 可以加速表与表之间的连接,这一点在实现数据的参照完整性方面有特别的意义。 在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。 通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。 (2)创建索引的缺点 增加索引也有许多不利的方面: 创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。 索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要建立聚集索引,那么需要的空间就会更大。 当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。 5. 如何考虑一个列是否建索引 (1)考虑建索引的列 考虑建索引的列有如下选择: ①在经常需要搜索的列上,可以加快搜索的速度。 ②主键 在作为主键的列上,强制该列的唯一性和组织表中数据的排列结构。 ③连接中频繁使用的列 在经常用在连接的列上,这些列主要是一些外键,可以加快连接的速度。 ④在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的。 ⑤在经常需要排序的列上创建索引,因为索引已经排序,这样查询可以利用索引的排序,加快排序查询时间。 在经常使用在WHERE子句中的列上面创建索引,加快条件的判断速度。 5. 如何考虑一个列是否建索引 (2)不考虑建索引的列 没有必要对表中的所有列都建立索引。建立索引需要时间和存储开销,在进行数据操作后,维护索引也要花费时间和空间。所以,能不能创建索引、在哪些列上创建索引,要看建立索引和维护索引的代价与因建立索引所节省的时间相比哪个更合算。比如不考虑在以下列上建立索引: ①对于那些在查询中很少使用或者参考的列不应该创建索引。这是因为,既然这些列很少使用到,因此有索引或者无索引,并不能提高查询速度。相反,由于增加了索引,反而降低了系统的维护速度和增大了空间需求。 ②对于那些只有很少数据值的列也不应该增加索引。这是因

文档评论(0)

三沙市的姑娘 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档