ch07__索引与视图

ch07__索引与视图

ID:19898889

大小:652.00 KB

页数:44页

时间:2018-10-07

ch07__索引与视图_第1页
ch07__索引与视图_第2页
ch07__索引与视图_第3页
ch07__索引与视图_第4页
ch07__索引与视图_第5页
资源描述:

《ch07__索引与视图》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、大家好!咱们回顾一下上节课的内容吧数据库技术与应用第七章索引与视图主要内容一、索引概述二、索引的操作三、视图概述四、视图的操作五、视图的应用六、在Oracle9i中创建和操作视图为什么要使用索引?一般情况下,数据库在进行查询操作时需要对整个表进行数据搜索。当表中的数据很多时,搜索数据就需要很长的时间,这就造成了服务器的资源浪费。为了提高检索数据的能力,数据库引入了索引机制一、索引概述如何理解数据库索引?数据库中的索引与书籍中的索引类似在一本书中,利用索引可以快速查找所需信息,无须阅读整本书在数据库中,索引

2、使数据库程序无须对整个表进行扫描,就可以在其中找到所需数据书中的索引是一个词语列表,其中注明了包含各个词的页码而数据库中的索引是一个表中所包含的值的列表,其中注明了表中包含各个值的行所在的存储位置可以为表中的单个列建立索引,也可以为一组列建立索引建立多少个索引才好呢?索引一经建立,就由系统使用和维护它,不需用户干预对数据表进行查询时,若查询中涉及到索引字段时,系统会自动选择合适的索引,大大提高查询速度对数据表中的数据增加、修改、删除时,系统也会自动维护索引,需要花费一些时间。故建立多少索引,需要权衡后处理

3、索引有哪些类型?唯一索引:不允许两行具有相同的索引值主键索引:在为表定义一个主键时,将自动创建主键索引,主键索引是唯一索引的特殊类型聚集索引:表中各行的物理顺序与键值的逻辑(索引)顺序相同。表只能包含一个聚集索引二、索引的操作创建索引删除索引创建索引使用企业管理器创建索引举例:对学生数据表Student中的姓名Sname建立一个索引使用Transact-SQL命令创建索引CREATE[UNIQUE][CLUSTER]INDEX<索引名>ON<表名>(<列名>[<次序>][,<列名>[<次序>]]...)U

4、NIQUE表示此索引的每一个索引值只对应唯一的数据记录CLUSTER表示要建立的索引是聚簇索引聚簇索引是指索引项的顺序与表中记录的物理顺序一致的索引组织用户可以在最常查询的列上建立聚簇索引以提高查询效率。显然在一个基本表上最多只能建立一个聚集索引建立聚簇索引后,更新索引列数据时,往往导致表中记录的物理顺序的变更,代价较大,因此对于经常更新的列不宜建立聚簇索引如果不是聚集索引,表中各行的物理顺序与键值的逻辑顺序不匹配。聚集索引比非聚集索引有更快的数据访问速度举例==》示例:建立索引CreateIndex.s

5、ql主索引是聚簇索引,索引的顺序总与数据表的物理记录顺序相同,一个数据表只能有一个聚簇索引按姓名按降序索引,索引的顺序与数据表的物理顺序不一致,对于汉字的大小,以拼音字母顺序为准对所在系按缺省的升序索引,相同的索引值可能指向不同的记录按性别降序和姓名升序索引,只有当第一索引值相同时,才按第二索引值索引格式DROPINDEX<索引名>注:在SQLServer中在索引名前还应加上“表名.”举例DROPINDEXStudent.ixStudNameDROPINDEXStudent.ixStudDept删除索引三

6、、视图概述视图是从一个或几个基本表(或视图)导出的表,它与基本表不同,是一个虚表数据库中只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中所有基本表中的数据发生变化,从视图中查询出的数据也随之改变视图一经定义,就可以和基本表一样被查询、删除,也可以在一个视图上再定义新的视图,但对视图的更新(增加、修改、删除)操作则有一定的限制四、视图的操作创建视图查询视图更新视图删除视图创建视图格式CREATEVIEW<视图名>[(<列名>[,<列名>]...)]AS<子查询>[WITHCHECKO

7、PTION]说明WITHCHECKOPTION表示对视图进行UPDATE、INSERT和DELETE操作时要保证更新、插入或删除的行满足视图定义中的谓词条件(即子查询中的条件表达式)如果省略了组成视图的各个属性列名,则隐含该视图由子查询中SELECT子句目标列中的诸字段组成在下列三种情况下必须明确指定组成视图的所有列名其中某个目标列不是单纯的属性名,而是集函数或列表达式多表连接时选出了几个同名列作为视图的字段需要在视图中为某个列启用新的更合适的名字例1:建立信息系学生的视图例2:建立信息系学生的视图,并要

8、求进行修改和插入操作时仍须保证该视图只有信息系的学生由于在定义IS_Student视图时加上了WITHCHECKOPTION子句,以后对该视图进行插入、修改和删除操作时,DBMS会自动加上Sdept=‘IS’的条件若一个视图是从单个基本表导出的,并且只是去掉了基本表的某些行和某些列,但保留了码,我们称这类视图为行列子集视图例3:建立信息系选修了2号课程的学生的视图例4:建立信息系选修了2号课程且成绩在90分以上的学生的视图视图

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。