欢迎来到天天文库
浏览记录
ID:52373844
大小:1.68 MB
页数:61页
时间:2020-04-05
《《视图和索引》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第6章视图和索引视图的基本概念6.1视图的创建和查询6.2视图的维护6.3通过视图修改表数据6.4创建索引6.6管理和维护索引6.7索引概述6.5通过本章的学习,读者应该掌握以下内容。创建和管理视图利用视图简化查询操作使用视图实现数据库的安全管理使用索引来提高检索的效率索引的概念、创建和操作规划和维护索引6.1视图的基本概念视图是一种在一个或多个表上观察数据的途径,可以把视图看做是一个能把焦点定在用户感兴趣的数据上的监视器。视图是虚拟的表,与表不同的是,视图本身并不存储视图中的数据,视图是由表派生的,派生表被称为视图的基本表,简称基表。视图可以来源于一个或多个基表的行或列的子集,也可以是
2、基表的统计汇总,或者是视图与基表的组合,视图中的数据是通过视图定义语句由其基本表中动态查询得来的。6.1.1视图的基本概念在视图的实现上就是由SELECT语句构成的,基于选择查询的虚拟表。其内容是通过选择查询来定义的,数据的形式和表一样由行和列组成,而且可以像表一样作为SELECT语句的数据源。但是视图中的数据是存储在基表中的,数据库中只存储视图的定义,数据是在引用视图时动态产生的。因此,当基表中的数据发生变化时,可以从视图中直接反映出来。当对视图执行更新操作时,其操作的对象是基表中的数据。6.1.2视图的优点和缺点(1)隐蔽数据库的复杂性。(2)为用户集中提取数据。(3)简化数据库用户
3、权限的管理。(4)方便数据的交换。视图的缺点主要表现在对数据修改的限制上。6.2视图的创建和查询在默认状态下,视图中的列名继承了它们基表中的相应列名,对于下列情况则需要重新指定列的别名。(1)视图中的某些列来自表达式、函数或常量时。(2)当视图所引用不同基表的列中有相同列名时。(3)希望给视图中的列指定新的列名时。6.2.1在SQLServerManagementStudio下创建视图图6-5启动视图设计器窗口图6-6为创建视图添加基表图6-7确定视图中的列,如果输出某个表的所有列则选择“*”图6-8设置连接和查询条件图6-9设置视图的属性图6-10最终得到的视图描述及预览6.2.2使用
4、CREATEVIEW创建视图创建视图的基本语法如下。CREATEVIEW视图名[(视图列名1,视图列名2,...,视图列名n)][WITHENCRYPTION]ASSELECT语句[WITHCHECKOPTION]6.2.3视图数据的查询视图创建后,就可以像对表的查询一样对视图进行查询了。对视图查询时,首先进行有效性检查,检查通过后,将视图定义中的查询和用户对视图的查询结合起来,转换成对基表的查询。对基表执行的是这个联合查询。6.3视图的维护6.3.1查看视图的定义信息1.使用SQLServerManagementStudio查看2.使用sp_helptext查看使用系统存储过程sp_h
5、elptext查看视图定义信息的语法格式如下。[EXECUTE]sp_helptext视图名图6-12查看和修改视图图6-13查看视图的定义信息6.3.2查看视图与其他对象的依赖关系1.使用SQLServerManagementStudio查看图6-14显示视图的依赖关系2.使用sp_depends查看使用系统存储过程sp_depends可以查看视图与其他数据对象之间的依赖关系,语法格式如下。[EXECUTE]sp_depends视图名图6-15使用sp_depends显示视图的依赖关系6.3.3修改视图1.在视图设计器中修改视图在视图设计器中修改视图和视图的创建是一样的,修改也就是再创
6、建。图6-16视图设计器下修改视图2.使用ALTERVIEW修改视图使用ALTERVIEW语句修改视图的语法格式如下。ALTERVIEW视图名[WITHENCRYPTION]ASSELECT语句[WITHCHECKOPTION]6.3.4删除视图1.使用SQLServerManagementStudio删除视图2.使用DROPVIEW删除视图删除视图的语法格式如下。DROPVIEW视图名1,…,视图名n使用该语句一次可以删除多个视图。6.4通过视图修改表数据对视图进行的修改操作有以下限制。(1)若视图的字段来自表达式或常量,则不允许对该视图执行INSERT和UPDATE操作,但允许执行D
7、ELETE操作。(2)若视图的字段来自集合函数,则此视图不允许修改操作。(3)若视图定义中含有GROUPBY子句,则此视图不允许修改操作。(4)若视图定义中含有DISTINCT关键字,则此视图不允许修改操作。(5)若视图的定义不允许被修改,则视图也不允许修改操作。6.5索引概述索引是一个在表上或视图上创建的独立的物理数据库结构,在视图上创建索引只能针对架构绑定的视图。所以我们所讲的主要是针对表上的索引。6.5.1SQLServer2
此文档下载收益归作者所有