SQLServer第六章视图.ppt

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

第六章视图 本节课内容 视图的基本概念 创建视图 管理视图 通过视图操作数据 6.1什么是视图 6.1.1 什么是视图 视图是一张虚拟表,是从一个或者多个表或视图中导出的表,其结构和数据是建立在对表的查询基础上的。 和真实的表一样,视图也包括几个被定义的数据列和多个数据行,但从本质上讲,这些数据列和数据行来源于其所引用的基表。因此,视图不是真实存在的基础表而是一个虚拟表,视图所对应的数据并不实际地以视图结构存储在数据库中,而是存储在视图所引用的基表中。 6.1.1 什么是视图 视图的内容包括: 基表的列的子集或者行的子集; 两个或者多个基表的联合; 两个或者多个基表的连接; 基表的统计汇总; 另外一个视图的子集; 视图和基表的混合。 6.1.1 什么是视图 视图的用途 筛选表中的行 防止未经许可的用户访问敏感数据 降低数据库的复杂程度 将多个物理数据库抽象为一个逻辑数据库 6.2如何创建视图 使用企业管理器创建视图 6.2如何创建视图 使用T-SQL语句创建视图的语法 6.2、如何创建视图 创建方便教员查看成绩的视图 6.2、如何创建视图 创建视图时应该注意以下情况: ① 只能在当前数据库中创建视图。 ② 如果视图引用的基表或者视图被删除,则该视图不能再被使用,直到创建新的基表或者视图。 ③ 如果视图中某一列是函数、数学表达式、常量或者来自多个表的列名相同,则必须为列定义名称。 ④ 不能在视图上创建索引,不能在规则、缺省、触发器的定义中引用视图。 ⑤ 当通过视图查询数据时,SQL Server要检查以确保语句中涉及的所有数据库对象存在,而且数据修改语句不能违反数据完整性规则。 ⑥ 视图的名称必须遵循标识符的规则,且对每个用户必须是唯一的。此外,该名称不得与该用户拥有的任何表的名称相同。 ⑦定义视图的查询不能包含ORDER BY、COMPUTE或COMPUTE BY和INTO子句。 6.3、视图的管理 3.1 视图的修改 (1)利用企业管理器 修改视图。 (2)使用ALTER VIEW语句修改视图 ,语法形式如下: ALTER VIEW view_name [(column[,column]...… ])] AS ?select_statement [ WITH CHECK OPTION] 6.3、视图的管理 3.2 视图的删除 (1)使用企业管理器删除视图。 (2)使用Transact-SQL语句DROP VIEW删除视图。语法形式如下: DROP VIEW view_name [,……] 可以使用该命令同时删除多个视图,只需在要删除的视图名称之间用逗号隔开即可。 6.4、通过视图修改记录 使用视图修改数据时,需要注意以下几点: 修改视图中的数据时,不能同时修改两个或者多个基表,可以对基于两个或多个基表或者视图的视图进行修改,但是每次修改都只能影响一个基表。 在视图中修改的列必须是该视图在基表中所参照的列 不能修改那些通过计算得到的字段。 如果在创建视图时指定了WITH CHECK OPTION选项,那么所有使用视图修改数据库信息时,必须保证修改后的数据满足视图定义的范围。 如果视图引用多个表时,无法用DELETE命令删除数据。 4.1 插入数据记录 首先创建了一个新的视图v_students ,该视图基于表stuInfo创建。 create view v_students (stuName,stuNo, stuSex, stuAge) as select stuName, stuNo, stuSex, stuAge from stuInfo where stuName like 李% 然后,通过执行以下语句使用该视图向表stuInfo中添加一条新的数据记录。 Insert into v_students Values(李力, s25705, 男, 22) 4.2 更新数据记录 使用视图可以更新数据记录,但应该注意的是,更新的只是数据库中的基表。 例子:通过上个例子中创建的视图v_students修改表stuInfo中的记录。其程序清单如下: update v_students set stuName=李四 where stuName=李力 4.3 删除数据记录 使用视图删除记录,可以删除任何基表中的记录,直接利用DELETE语句删除记录即可。但应该注意,必须指定在视图中定义过的字段来删除记录。 例子:利用视图v_students删除表stuInfo中姓名为李四的记录。其程序清单为: delete from v_students where stuName=李四 总结 视图是一张虚拟表,是从一个或者多个表或视图中导出的表,其结构和数据是建立在对基表的查询基础上的

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档