网站大量收购独家精品文档,联系QQ:2885784924

第七章视图及其.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章视图及其

第七章 视图及其用途 7.1 视图的概述 一、视图的概念 Ⅰ)视图是一个虚拟表,并不表示任何物理数据,只是用来查看数据的窗口; Ⅱ)视图并不是以一组数据的形式存储在数据库中,数据库中只存储视图的定义,而不存储视图对应的数据; Ⅲ)视图中的数据行和列都来自于基本表,是在视图被引用时动态生成的; Ⅳ)视图由视图名和视图定义两部分组成。 二、视图的特点 数据保密 优点: 简化查询操作 保证数据的逻辑独立性 有UNION等集合操作符的视图 有GROUP BY子句的视图 缺点: 有AVG、SUM、MAX等函数的视图 使用DISTINCT关键字的视图 连接表的视图 三、查询和视图的主要区别 ? 存储方式:视图存储为数据库设计的一部分,而查询则不是 ? 更新结果:对视图和查询的结果集更新限制是不同的 ? 排序结果:可以排序任何查询结果,但是只有当视图包括TOP子句时才能排序视图 ? 参数设置:可以为查询创建参数,但不能为视图创建参数 ? 加密:可以加密视图,但不能加密查询 7.2 视图的创建 创建视图的基本语法如下: CREATE VIEW view_name [WITH ENCRYPTION] AS Select_statement 其中,WITH ENCRYPTION子句对视图进行加密。 【例7.1】 使用Transact-SQL语句在book1表中创建一个名为v_book1的视图。该视图仅查看book1表中“出版社是中国长安”的书的信息。 (1) USE book GO CREATE VIEW v_book1 AS SELECT * FROM book1 WHERE 出版社=中国长安 (2) 视图创建成功后,用户可以通过查询语句来检查视图是否建立以及视图的返回结果。 USE book SELECT * FROM v_book1 【例7.4】 使用Transact-SQL语句在book数据库中创建一个名为v_book2的视图。该视图仅显示book2表中的“书名”和“定价”列。 在SQL Server Management Studio查询窗口中运行如下命令: USE book GO CREATE VIEW v_book2 AS SELECT 书名,定价 FROM book2 【例7.5】 根据上面的实例分析,使用Transact-SQL语句在book数据库中创建一个名为v_book1_t的视图。要求仅显示书名、定价和作者(如果该书有作者姓名)的信息。 在SQL Server Management Studio查询窗口中运行如下命令: USE book GO CREATE VIEW v_book1_t AS SELECT book1.书名,book1.定价,teacher.作者姓名 FROM book1,teacher WHERE book1.编号=teacher. 编号再运行如下命令: USE book SELECT * FROM v_book1_t 【例7.6】 使用Transact-SQL语句创建视图v_bookbycbs,使其能显示各出版社已出版书的本数 USE book GO CREATE VIEW v_bookbycbs AS SELECT 出版社,COUNT(*) 出版总数 -------必须指定列名 FROM book1 GROUP BY 出版社 USE book select * from v_bookbycbs 视图的限制: 1) 不能将规则或者DEFAULT定义关联于视图。 2) 定义视图的查询中不能含有ORDER BY、COMPUTE、COMPUTE BY子句和INTO关键字。 3) 如果视图中的某一列是一个算术表达式、构造函数或者常数,而且视图中两个或者更多的不同列拥有一个相同的名字(这种情况通常是因为在视图的定义中有一个连接,而且这两个或者多个来自不同表的列拥有相同的名字),用户需要为视图的每一列指定列的名称。 7.3 视图的修改和删除 一、修改视图的基本语法如下: ALTER VIEW view_name [WITH ENCRYPTION] AS Select_statement 【例7.7】 使用Transact-SQL

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档