资源描述:
《数据库技术及应用教程8.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、视图操作视图的概念视图是从一个或者多个表或视图中导出的表,其结构和数据是建立在对表的查询基础上的。和真实的表一样,视图也包括几个被定义的数据列和多个数据行,但从本质上讲,这些数据列和数据行来源于其所引用的表。因此,视图不是真实存在的基础表而是一个虚拟表,视图所对应的数据并不实际地以视图结构存储在数据库中,而是存储在视图所引用的表中。使用视图的优点和作用视图大大地简化了用户对数据的操作使用视图可以屏蔽数据的复杂性,用户不必了解数据库的结构,就可以方便地使用和管理数据,简化数据权限管理和重新组织数据
2、以便输出到其他应用程序中。可以使视图集中数据、简化和定制不同用户对数据库的不同数据要求。视图提供了一个简单而有效的安全机制创建视图使用SQL语言创建视图使用企业管理器创建视图使用SQL语言创建视图CREATEVIEW[.][.]view_name[(column[,...n])][WITH[,...n]]ASselect_statement[WITHCHECKOPTION]::={ENCR
3、YPTION
4、SCHEMABINDING
5、VIEW_METADATA}使用SQL语言创建视图view_name用于指定视图的名称,column用于指定视图中的字段名称。WITHENCRYPTION表示SQLServer加密包含CREATEVIEW语句文本在内的系统表列。select_statement用于创建视图的SELECT语句,利用SELECT命令可以从表中或者视图中选择列构成新视图的列。WITHCHECKOPTION用于强制视图上执行的所有数据修改语句都必须符合由select_statem
6、ent设置的准则使用SQL语言创建视图使用SQL语言创建实际就是SQL语言组合格式CREATEVIEWview_nameASSELECT……FROM……WHERE……GO修改试图使用ALTERVIEWview_name8[例3-77]创建一学生情况视图S_SC_C(包括学号、姓名、课程名及成绩)。CREATEVIEWS_SC_C(SNo,SN,CN,Score)ASSELECTS.SNo,SN,CN,ScoreFROMS,C,SCWHERES.SNo=SC.SNoANDSC.CNo=C.CNo[
7、例3-78]创建一学生平均成绩视图S_Avg。CREATEVIEWS_Avg(SNo,Avg)ASSELECTSNo,Avg(Score)FROMSCGROUPBYSNo选择表student和teacher中的部分字段和记录创建视图,并且限制表student中的记录只能是名称为“张三”的记录集合,视图定义为view_part,其程序清单如下:createviewview_partasSelectstudent.name,student.age,student.sex,teacher.name,a
8、ge,salaryfromstudent,teacherwherestudent.name=’张三’使用SQL语言创建视图一个复杂的视图CREATEVIEWdbo.V_DD_HeTSLASSELECTdbo.Ddhtgl_HTMX.HeTH,dbo.Ddhtgl_HTMX.HuoH,dbo.Ddhtgl_HTMX.HanL,dbo.Ddhtgl_HTMX.ShuLASHeTSL,dbo.Ddhtgl_HTMX.ShuL-ISNULL(t1.DingDSL,0)ASYuSFROMdbo.Ddhtg
9、l_HTMXINNERJOIN(SELECTDDHTGL_DDMX.HuoH,DDHTGL_DDMX.HanL,DDHTGL_DDMX.HeTH,SUM(isnull(DDHTGL_DDMX.ShuL,0))ASDingDSLFROMDDHTGL_DDMXGROUPBYHuoH,HanL,HeTH)t1ONdbo.Ddhtgl_HTMX.HuoH=t1.HuoHANDdbo.Ddhtgl_HTMX.HanL=t1.HanLANDdbo.Ddhtgl_HTMX.HeTH=t1.HeTHWHERE(
10、dbo.Ddhtgl_HTMX.HeTHLIKE'T%')AND(dbo.Ddhtgl_HTMX.ShuL-ISNULL(t1.DingDSL,0)>0)GO使用企业管理器创建视图选择新建视图选项对话框添加表菜单使用企业管理器创建视图13查询视图(打开)视图定义后,对视图的查询操作如同对基本表的查询操作一样。[例3-81]查找视图Sub_T中职称为教授的教师号和姓名。SELECTTNo,TNFROMSub_TWHERE(Prof='教授')SELECTTNo,TNFROMTWHEREDept='