项目7CJGL数据库索引和视图设计要素.ppt

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
项目7 CJGL数据库索引和视图设计 技能目标 理解索引的优缺点;学会根据实际需求设计CJGL数据库中的数据表的索引,提高数据检索的速度。 学会使用视图。在CJGL数据库中,结合实际需求灵活地运用视图,提高数据库的开发效率和安全性。 知识目标 理解索引的优点和缺点; 了解聚集索引和非聚集索引的特点; 掌握使用CREATE INDEX语句创建索引的方式; 掌握查看、删除和修改索引; 掌握视图的概念、特点和类型; 掌握创建视图、修改视图和删除视图的方法; 掌握通过视图修改基表中的数据; 索引的作用 索引是一种重要的数据对象,它由一行行的记录组成,而每一行记录都包括数据表中一列或若干列值的集合,而不是数据表中的所有记录,因而能够提高数据的查询效率。此外,索引还确保列的惟一性,从而保证数据的完整性。 索引的分类 聚集索引 非聚集索引 惟一索引 索引的分类(续) 1、聚集索引(也称簇索引或簇集索引) 在聚集索引中,表中的行的物理存储顺序和索引顺序完全相同。聚集索引对表的物理数据页,按列进行排序,然后再重新存储到磁盘上。 因此查找数据很快,但所占空间也要特别多。一个表只能有一个聚集索引。 使用聚集索引的候选列如下: 经常按范围存取的列,如birthdate’1989-1-1’; 经常在where子句中使用并插入是随机的主键列; 在group by 或order by中使用的列; 在连接操作中使用的列。 索引的分类(续) 2、非聚集索引(也称非簇索引或非簇集索引) 非簇索引具有与表的数据行完全分离的结构,非聚集索引的叶节点存储了组成非聚集索引的关键字值和一个指针,指针指向数据页中的数据行,该行具有与索引键值相同的列值,非聚集索引不改变数据行的物理存储顺序,因而一个表可以有多个非聚集索引。 使用非聚集索引的候选列如下: 常用于聚合函数的列; 常用于join、order by、group by的列; 查询出的数据不超过表中数据量的20%。 索引的分类(续) 3、惟一索引 如果为了保证表或视图的每一行在某种程度上是惟一的,可以使用惟一索引,也就是说索引值是惟一的。创建数据表时如果设置了主键,则SQL Server 2005就会默认建立一个惟一索引。 注意: 避免对经常更新的表进行过多的索引,且索引中包含的列应尽可能少; 使用多个索引可以提高更新少而数据量大的查询的性能; 对小表进行索引可能不会产生优化效果。 索引和约束的关系 对列定义PRIMARY KEY约束和 UNIQUE约束时,会自动创建索引。 1、PRIMARY KEY约束和索引 如果创建表时,将一个特定列标识为主键, 自动对该列创建PRIMARY KEY约束和惟一聚集索引。 2、UNIQUE 约束和索引 默认情况下,创建UNIQUE约束,自动对该列创建惟一非聚集索引。 当用户从表中删除主键约束或惟一约束时,创建在这些约束列上的索引也会被自动删除。 3、独立索引 使用 CREATE INDEX 语句或 SQL Server Management Studio 对象资源管理器中的【新建索引】对话框创建独立于约束的索引 创建索引 使用Management Studio 使用CREATE INDEX语句 CREATE [UNIQUE] [CLUSTERED | NONCLUSTERED ] /* 索引的类型*/ INDEX 索引名 ON {表名|视图名 } (列名 [ ASC | DESC ] [,...n]) 创建索引(续) 【例1】在学生表上创建学号的聚集索引。 CREATE CLUSTERED INDEX IX_student ON 学生表 (学号) 【例2】在CJGL数据库中,经常要按照学生姓名查询信息,希望提高查询速度。 CREATE UNIQUE INDEX IX_sName ON 学生表 (姓名) 【例3】在课程表上创建课程名称的非聚集索引。 CREATE NONCLUSTERED INDEX IX_cname ON 课程表 (课程名称) 删除索引 使用Management Studio 删除独立于约束的索引 使用DROP INDEX语句删除独立于约束的索引 DROP INDEX 索引名 说明: 如果聚集索引是在表创建主键约束时自动创建的索引,那么无法利用DROP INDEX语句来删除。 查看索引 使用Management Studio 用系统存储过程 sp_helpindex 可以返回表的所有索引信息,它

文档评论(0)

奇缘之旅 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档