《视图及其应用》PPT课件.ppt_第1页
《视图及其应用》PPT课件.ppt_第2页
《视图及其应用》PPT课件.ppt_第3页
《视图及其应用》PPT课件.ppt_第4页
《视图及其应用》PPT课件.ppt_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第八章 视图及其应用,8.1 视图综述,8.2 视图的操作,8.3 视图定义信息查询,目录,8.4 案例中的视图运用,第八章,视图是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。 对其中所引用的基础表来说,视图的作用类似于筛选。定义视图的筛选可以来自当前或其它数据库的一个或多个表,,8.1 视图综述,第八章,或者其它视图。分布式查询也可用于定义使用多个异类源数据的视图。如果有几台不同的服务器分别存储组织中不同地区的数据,而您需要将这些服务器上相似结构的数据组合起来,这种方式就很有用。 通过视图进行查询没有任何限制,通过它们进行数据修改时的限制也很少。,8.1.1 视图的基本概念,数据视图是另一种在一个或多个数据表上观察数据的途径,可以把数据视图看作是一个能把焦点定在用户感兴趣的数据上的监视器,用户看到的是实时数据。 视图可以被看成是虚拟表或存储查询。可通过视图访问的数据不作为独特的对象存储在数据库内。数据库内存储的是SELECT语句,SELECT语句的结果集构成视图所返回的虚拟表。,第八章,用户可以用引用表时所使用的方法,在T-SQL语句中通过引用视图名称来使用虚拟表。在授权许可的情况下,用户还可以通过视图来插入、更改和删除数据在视图中被查询的表被称为“基表”视图常见的示例有: 1、基表的行和列的子集 2、两个或多个基表的连接 3、两个或多个基表的联合 4、基表和另一个视图或视图的子集的结合 5、基表的统计概要,首先通过一个简单的实例来看看什么是视图。仍然使用前面章节所建立的数据库。 假设教务科需要提供给各位老师所选自己课的学生名单。教师信息表和学生信息表已经存在如若在创建一张表,会造成信息重复使用使数据库冗余。这时就可以提取教师信息表和学生信息表中的相关列创建视图解决该问题。 Use student GO CREATE VIEW VIEW1,第八章,AS SELECT dbo.教师.教师编号, dbo.学生.姓名, dbo.教师.专业, dbo.学生.专业代码 FROM dbo.教师 CROSS JOIN dbo.学生 这样,老师需要浏览所有选自己课的同学各年的学习成绩时,只需要执行查询语句: SELECT * FROM VIEW1,合理使用视图能够带来以下好处: 1.视图能简化用户操作 2.视图使用户以多角度看待同一数据 3.视图对重构数据库提供了一定程度的逻辑独立性 4.视图能够对机密数据提供安全保护,8.1.2 视图的作用,第八章,1.使用企业管理器创建视图 首先运行“企业管理器”,展开数据库student,右击“视图”节点,然后从快捷菜单中选择“新建视图”命令。 然后象设计 SELECT 查询一样设计视图。把需要建立视图用的基表拖入工作区,选择建立视图需要的列,单击 标志运行,就可以看到所创建的视图。,8.2 视图的操作,第八章,8.2.1 创建视图,2.使用创建视图向导创建视图 用向导创建的步骤如下: 展开服务器组,再展开要在其中创建视图的服务器 在“工具”菜单上单击“向导”命令。 展开“数据库”文件夹。 双击“创建视图向导“。 完成向导中的步骤。,可在SQL Server2000中使用“查询分析器” 用Transact-SQL语句创建视图。创建视图的基本语法如下: CREATE VIEW (,) AS WITH CHECK OPTION 其中参数含义: (1)子查询:可以是任意复杂的SELECT语句,但通常不许含有ORDER BY字句和 DISTINCT短语。,3.使用Transact-SQL语句创建视图,第八章,(2)列名:是视图中的列名。可以在 SELECT 语句中指派列名。如果未指定 column,则视图列将获得与 SELECT 语句中的列相同的名称。 (3)WITH CHECK OPTION:表示对视图进行UPDATE,INSERT ,DELETE操作时要保证更新、插入、删除的行满足视图定义中的谓词条件(即子查询中的条件表达式)。,(4)如果CREATE VIEW 语句仅指定了视图名,省略了组成视图的各个属性列名,则隐含该视图由子查询中的SELECT子句目标列中的诸字段组成。但在下列三种情况下必须明确指定组成视图的所有列名: 其中某个目标列不是单纯的属性名,而是函数或列表达式。 多表连接时选出了几个同名列作为视图的字段 需要在视图中为某个列启用新的名字,第八章,概括起来视图主要有以下类型,8.2.2 重命名视图,第八章,重命名视图即更改视图名称或修改其定义。可以在不除去和重新创建视图的条件下,从而丢失与之相关联的权限。值得注意的是重命名视图时,sysobjects表中有关该视图的信息将得到更新。重命名存储过程和视图后,请清空过程高速缓存以确保所有相关的存储过程和视图都重新编译。 重命名的方法有两种,其一在企业管理器中更改,其二用Transact-SQL语句更改。,在重命名视图时,请遵循以下原则: 要重命名的视图必须位于当前数据库中。 名称必须遵守标识符规则。 能重命名自己拥有的视图。 据库所有者可以更改任何用户视图的名称。 为了对重命名视图的操作有个更好的理解,我们将通过下面的例子给大家一个直观的印象。,1. 使用企业管理器重命名,展开服务器组,然后展开服务器。 展开“数据库”文件夹,展开该视图所属的数据库,然后单击“视图”。 在详细信息窗格中,右击视图,然后单击“重命名”命令。如图8.5。 输入视图的新名称。 确认新名称。,第八章,2. 使用Transact-SQL语句重命名 sp_rename object_name , new_name , objtype = object_type 参数含义: object_name:视图当前名称。 new_name:是指定对象的新名称。new_name 必须是名称的一部分,并且要遵循标识符的规则。newname 是 sysname 类型,无默认值。 object_type:是要重命名的对象的类型。,8.2.3 使用视图,第八章,1.使用视图查询信息 视图定义后,用户就可以像对基本表进行查询一样对视图进行查询。即前面章节介绍的表的查询操作一般都可以用于视图。 DBMS执行对视图的查询时,首先检查有效性,检查查询涉及的表、视图等是否在数据库中存在,,如果存在,则从数据字典中取出查询涉及的视图的定义,把定义中的子查询和用户对视图的查询结合起来,转换成对基本表的查询,然后再执行这个经过修改的查询。 将对视图的查询转换为对基本表的查询的过程为视图的消解(view resolution)。,1.2. 使用视图修改数据 更新视图包括插入(INSERT)、删除(DELETE)、修改(UPDATE)三类操作。 由于视图不是实际存储的虚表,因此对视图的更新,最终要转换为对基本表的更新。 为防止用户通过视图对数据进行修改时,无意或故意操作不属于视图范围内的基本 数据时,可在定义视图时加上WITH CHECK OPTION的句子,这样在视图上修改数据时DBMS会进一步检查视图定义中的条件,若不满足条件,则拒绝执行该操作。,第八章,修改数据的准则: SQL Server 必须能够明确地解析对视图所引用基表中的特定行所做的修改操作。不能在一个语句中对多个基础表使用数据修改语句。因此,列在 UPDATE 或 INSERT 语句中的列必须属于视图定义中的同一个基表。 对于基础表中需更新而又不允许空值的所有列,它们的值在 INSERT 语句或 DEFAULT 定义中指定。这将确保基础表中所有需要值的列都可以获取值。 在基础表的列中修改的数据必须符合对这些列的约束,如为空性、约束、DEFAULT 定义等。,视图建立好后,如果导出此视图的基本表被删除了,该视图将失效,但一般不会被自动删除。删除视图的方法有两种,其一在企业管理器中删除,其二用Transact-SQL语句删除。 1.使用企业管理器 运行“企业管理器”展开“数据库”,展开所选定的数据库,单击“视图”选中所要删除的视图,如图8.10所示。单击右键点击“删除”,打开“除出对象”对话框。,8.2.4 删除视图,第八章,2. 使用Transact-SQL语句 删除视图通常需要显式地使用DROP VIEW语句进行。该语句格式为 DROP VIEW; 一个视图被删除后,由该视图导出的其他视图也将失效,用户应该使用DROP VIEW语句将他们一一删除。,第八章,【例8.10】 删除视图v_stu。 DROP VIEW v_stu 执行此语句后,v_stu视图的定义将从数据字典中删除。由v_stu视图导出的视图的定义虽然仍在数据字典中,但该视图已无法使用。因此应同时删除,8.3 视图定义信息查询,第八章,8.3.1 使用企业管理器,现在通过企业管理器查询中建立的视图view1 运行“企业管理器”,展开数据库student,双击“视图”图标,可以在“根目录控制台”窗口中看到建立的视图view1,8.3.2 通过执行系统存储过程 查看视图的定义信息 使用系统存储过程查看视图定义信息的命令语法如下: EXEC SP_helptext objname 其中,objname为用户需要查看的视图名称。,第八章,8.4 案例中的视图应用,以下案例基于数据库student. 创建计算机系的学生视

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论