- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章 视图与索引 本章目录 7.1 视图 7.2 索引 7.3 实训 (所有涉及图例请参照教材) 7.1 视图 7.1.1 视图概述 视图也是一种常见的数据库对象,它提供了另外一种查看和存储数据的方法。视图是一种逻辑对象,是一种虚拟表,它是将SELECT语句的具体定义暂时存储起来。视图中不包含任何数据,视图所对应的数据并不实际地以视图结构存储在数据库中,而是存储在视图所引用的表中。对视图的操作与对表的操作一样,可以对其进行查询、修改(有一定的限制)和删除。对视图的数据进行操作时,系统根据视图的定义去操作与视图相关联的基本表。因此,与视图相应的基本表的数据也要发生变化。除非是索引视图,否则视图不占物理存储空间 。在视图中被查询的表称为视图的基表。视图可以由一个或多个基表(或视图)导出。视图的特点在于,它可以是连接多张表的虚表,也可以是使用WHERE子句限制返回行的数据查询的结果,所以视图可以是专用的,比表更面向用户。表是静态的,而视图是动态的。 1、视图的优点和缺点 (1)视图的优点 视图提供了一个简单而有效的安全机制,能够对数据提供安全保护。有了视图就可以在设计数据库应用系统时,对于不同的用户需求定义不同的视图,使用户看到的是只该看到的数据,这样保护了用户的数据。 视图可以集中数据,满足不同用户对数据的不同要求。 视图可以简化复杂查询的结构,从而方便用户对数据的操作。视图可以使用户将注意力集中在其所关心的数据上。通过定义视图,使用户眼中的数据库结构简单、清晰,并可以简化用户的操作。 数据的完整性。在用户通过视图访问或者更新数据时,数据库管理系统的相关部分会自动地检查数据,确保预先设定的完整性约束。 (2)视图的缺点 性能不稳定。对视图的查询必须先将其转换为对底层基表的查询。若视图的定义是一个基于多表的较复杂的查询语句时,即使在视图上的一个简单查询,转换后都将是一个相当复杂的查询联合体。这样视图可能需要花费很长的时间来处理查询操作。 数据更新受限。由于视图是一个虚表,而不是一个实在的表,对视图的更新操作,实际上是对基本的更新操作。基表的完整性约束必将影响视图,这样视图中的数据更新将受到限制。 数值格式不同。在不同的数据库系统中,由于系统所使用的数据类型和系统显示数值的方式会有所差别,所以我们通过视图检索获得的结果中可能看到一些数值格式的不同。 2.视图的处理 一般来说,视图处理过程可以分为以下几个步骤: SQL查询处理器要在数据库中查找一个名为student1(假定视图名为student1)的表,但数据库中没有这样的表,所以查不到该表。依据一定准则,SQL查询处理器判定student1是一个视图。 然后依据视图的定义,SQL查询处理器会将该查询语句进行重新构造。重新构造成合适的查询语句。 最后,SQL查询处理器按照重新构造的SELECT语句来执行查询任务,得到最后的结果。 7.1.2 创建视图 在定义视图的SELECT语句中,既可以简单地选择指定源表中的行和列,也可以使用下面的对象和这些对象的组合来创建视图: (1)单个表 (2)多个表 (3)另一个视图 (4)其他多个视图 (5)视图和表的组合 1、利用SQL Server Management Studio管理器创建视图 2、使用transact-SQL语句创建视图 7.1.3 使用视图 1、使用视图实例 【实例分析】用户对视图可以进行两种类别操作。一种是查询操作:对视图的查询实际上仍是对基表进行查询,因为视图不是在物理上存储的数据;另一种是对视图中的数据进行更新(插入、删除和修改)操作,同样地,对视图中的记录进行更新操作也是作用在基表上的。对视图进行查询和更新操作的语法与表的操作完全一样,但对视图进行插入、修改、删除等操作时,不是所有的视图都可以更新,只能对满足可更新条件的视图,才能进行更新。在使用视图修改数据时,必须注意下列事项: (1)不能修改那些通过基表列计算得到结果的列。 (2)修改的视图在创建视图的SELECT语句中没有使用聚合函数,且没有TOP、GROUP BY、UNION或DISTINCT等子句。 (3)创建视图的SELECT语句的子句中至少包含一个基表。 如果要修改的视图中的数据是由两个或两个以上基表得到的视图,必须进行多次修改,因为每次修改只能影响一个基表。 如果在创建视图时使用了WITH CHECK OPTION选项,那么使用视图修改数据库信息时,必须保证修改后的数据满足定义视图的SELECT语句中所设定的条件。 执行UPDATE、DELETE命令时,所删除与更新的数据必须包含在视图的结果集中。 如果视图引用多个表时,无
您可能关注的文档
- SolidWorks 2012 基础与实例教程第3章 实体建模特征.ppt
- SolidWorks 2012 基础与实例教程第4章 零件设计技术.ppt
- SolidWorks 2012 基础与实例教程第5章 曲线曲面特征的创建与编辑.ppt
- SolidWorks 2012 基础与实例教程第6章 装配体.ppt
- SolidWorks 2012 基础与实例教程第7章 工程图.ppt
- SolidWorks 2012 基础与实例教程第8章 渲染与输出.ppt
- SolidWorks 2012第1章 SolidWorks 2012入门及基本操作.ppt
- SolidWorks 2012第2章 绘制草图.ppt
- SolidWorks 2012第3章 实体建模特征.ppt
- SolidWorks 2012第4章 零件设计技术.ppt
- SQL Server 2005数据库实用技术第8章 规则与默认.ppt
- SQL Server 2005数据库实用技术第9章 存储过程与触发器.ppt
- SQL Server 2005数据库实用教程第1章 问题的导入.ppt
- SQL Server 2005数据库实用教程第2章 数据库基础知识.ppt
- SQL Server 2005数据库实用教程第3章 SQL SRVER 2005系统管理.ppt
- SQL Server 2005数据库实用教程第5章 结构化查询语言SQL.ppt
- SQL Server 2005数据库实用教程第6章 Transact-SQL 程序设计.ppt
- SQL Server 2005数据库实用教程第7章 使用存储过程操纵数据库.ppt
- SQL Server 2005数据库实用教程第8章 使用触发器.ppt
- SQL Server 2005数据库实用教程第9章 游标.ppt
文档评论(0)