欢迎来到天天文库
浏览记录
ID:43374851
大小:510.50 KB
页数:47页
时间:2019-10-08
《SQL Server 2005 第7章 视图及其应用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第7章视图及其应用视图概述1视图的创建和查询2视图的管理和维护3通过视图修改表数据4本章重点视图的基本概念视图的创建、修改与删除使用视图操作表数据本章难点视图概念的理解视图的创建、修改等操作的T-SQL语法第7章视图及其应用视图概述1视图的创建和查询2视图的管理和维护3通过视图修改表数据4所谓视图(View)其实是执行查询语句后所得到的查询结果,这个查询结果可以仿真成数据表来使用,所以又有人称它为虚拟数据表。虽是“虚拟”数据表,可是视图在操作上和数据表是没什么区别的——凡是数据表可以出现的地方,通常也就
2、是视图可以露脸的地方,例如SELECT*FROM数据表名称SELECT*FROM视图名称7.1视图概述1、视图的基本概念视图是一个虚拟表,其结构和数据是建立在对表的查询基础上的。所以视图是从一个或多个表中导出的,视图内容由查询语句定义生成。从表面上看,视图和真实表一样,具有结构和数据,包含一系列带有名称的列和行数据。实质上,表是视图的基础,数据库中只存储了视图定义,而不存放视图所对应的数据,视图所对应的数据存放在视图所引用的表中。7.1视图概述以往当我们要查询数据时,一定是很认真地从设计SELECT语句
3、开始,然后执行查询语句得到所要的结果。例:查找选修A002号课程并且成绩及格的学生的姓名及成绩。USExsglSELECT姓名,成绩FROMXS,CJWHEREXS.学号=CJ.学号AND课程号=‘A002’AND成绩>=60GO7.1视图概述查询结果:假如经常要以同样的条件来查询数据时,那么每次都要重复输入相同的查询语句,那一点效率都没有了。若将这个经常要重复使用的查询语句创建成视图,就不用那么麻烦了。7.1视图概述例:CREATEVIEW课程及格ASSELECT姓名,成绩FROMXS,CJWHERE
4、XS.学号=CJ.学号AND课程号=‘A002’AND成绩>=60GOSELECT*FROM课程及格7.1视图概述“课程及格”的视图XS表的“姓名”SELECT姓名,成绩FROMXS,CJWHEREXS.学号=CJ.学号AND课程号=‘A002’AND成绩>=60CJ表的“成绩”7.1视图概述2、视图的作用1)视图可以集中数据,满足不同用户对数据的不同要求。2)简化操作。视图大大简化了用户对数据的操作。因为在定义视图时,若视图本身就是一个复杂查询的结果集,这样在每次执行相同查询时,不必重新写这些复杂查询
5、语句3)定制数据。视图能够实现让不同的用户以不同的方式看到不同或相同的数据集7.1视图概述4)安全性。视图可以作为一种安全机制。通过视图用户只能查看和修改他们所能看到的数据。其他数据库或表既不可见也不可访问。7.1视图概述3、使用视图的注意事项(1)只有在当前的数据库中才能创建视图(2)视图的命名必须遵循标识符命名规则,不能与表同名(3)不能把规则、默认值或触发器与视图相关联(4)使用视图查询时,若其关联的基本表中添加了新字段,则必须重新创建视图才能查询到(5)如果与视图相关联的表或视图被删除,则该视图
6、将不能再使用7.1视图概述第7章视图及其应用视图概述1视图的创建和查询2视图的管理和维护3通过视图修改表数据41、使用管理工具创建视图(1)展开xsgl数据库,在“视图”选项上,右键选择“新建视图”7.2视图的创建和查询(2)弹出“新建视图”窗口并同时弹出“添加表”对话框7.2视图的创建和查询(3)选择相应的列7.2视图的创建和查询(4)保存视图7.2视图的创建和查询(5)视图保存成功7.2视图的创建和查询【提示】保存视图时,实际上保存的就是视图对应的SELECT查询。保存的是视图的定义,而不是SELE
7、CT查询的结果。2、使用T-SQL语句创建视图7.2视图的创建和查询CREATEVIEW视图的名称AS定义视图的SELECT语句不能使用INTO、ORDERBY、COMPUTE或COMPUTEBY7.2视图的创建和查询练习:在电子商城数据库WebShop中创建以价格升序排列的“促销”商品的视图vw_SaleGoods。CREATEVIEW信息管理专业学生成绩视图ASSELECTcj.学号,xs.姓名,cj.课程号,kc.课程名,cj.成绩FROMxs,cj,kcWHERExs.学号=cj.学号ANDcj
8、.课程号=kc.课程号ANDxs.专业=‘信息管理’GO例7.1创建信息管理专业学生成绩视图7.2视图的创建和查询例:创建女生档案视图NXS_VIEW,内容包括所有女生的档案例:创建学生成绩视图XSCJ_VIEW,包括所有学生所学课程的课程名和成绩7.2视图的创建和查询3、使用视图查询创建视图后,就可以像查询基表那样对视图进行查询。例7.2在信息管理专业学生成绩视图中查询姓名为“王燕”同学的成绩7.2视图的创建和查询SELECT*FROM信
此文档下载收益归作者所有