数据库原理与应用:第13章 视图的创建和管理.ppt

数据库原理与应用:第13章 视图的创建和管理.ppt

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

查询视图(续)[例]查询101学生选修了的课程名、成绩。SELECTcname,degreeFROMVIEW2WHEREsno=101经过视图消解,相当于执行以下查询:SELECTcname,degreeFROMstudent,score,courseWHEREstudent.sno=score.snoANDscore.cno=course.cnoANDstudent.sno=10112.3更新视图由于视图是一张虚表,所以对视图的更新,最终实际上是转换成对基本表的更新。其更新操作包括插入、修改和删除数据。其语法格式如同对基本表的更新操作一样。在关系数据库中,并不是所有的视图都是可更新的,一般仅行列子集视图和分区视图是可更新的,以下仅考虑可以更新的视图。从单个基本表导出的,并且只是去掉了基本表的某些行和某些列。使用UNIONALL把一组成员表中的分区数据水平连接形成的视图更新视图(续)[例1]向95031班学生视图VIEW3中插入一个新的学生记录:(111,王强,男,1976-9-4,95031)INSERTINTOVIEW3VALUES(111,王强,男,1976-9-4,95031)系统在执行此语句时,首先从数据库中找到VIEW3的定义,然后把此定义和插入操作结合起来,转换成等价的对基本表student的插入。相当于执行以下操作:INSERTINTOstudent(sno,sname,ssex,sbirthday,class)VALUES(111,王强,男,1976-9-4,95031)更新视图(续)[例2]将95031班学生视图VIEW3中学号‘103’的学生姓名改为“刘辰”。UPDATEVIEW3SETsname=刘辰WHEREsno=103转换后的语句:UPDATEstudentSETsname=刘辰WHEREsno=103ANDclass=95031*数据库原理与应用第13章视图的创建和管理视图是从一个或几个基本表导出的表,它与基本表不同,是一个虚表,数据库中只存放视图的定义,而不存放视图对应的数据,这些数据存放在原来的基本表中,当基本表中的数据发生变化,从视图中查询出的数据也就随之改变。视图一经定义就可以像基本表一样被查询、删除,也可以在一个视图之上再定义新的视图,但是对视图的更新操作有限制。使用视图有下列优点:1.视图能够简化用户的操作为复杂的查询建立一个视图,用户不必键入复杂的查询语句,只需针对此视图做简单的查询即可。2.视图使用户能以多种角度看待同一数据视图机制能使不同用户从不同视角看待同一数据,适应数据库共享的需要。3.视图能够对机密数据提供安全保护对不同用户定义不同视图,使每个用户只能看到他有权看到的数据。12.1创建视图1.在SQLServerEnterpriseManager中创建视图[例32]查询有2门或2门以上课程都至少为85分的学生的学号及其课程数。SELECTsno,COUNT(*)FROMscoreWHEREdegree=85GROUPBYsnoHAVINGCOUNT(*)=2例36查询所有选课学生的学号、姓名、选课名称及成绩。SELECTstudent.sno,sname,cname,degreeFROMstudent,score,courseWHEREstudent.sno=score.snoANDscore.cno=course.cno打开SQLServerEnterpriseManager,在数据库school上单击鼠标右键,在弹出的快捷菜单上选择“新建”?“视图..”。(2)在所出现的窗口的第一个子窗口中单击鼠标右键,将弹出一个“增加表”快捷菜单,如图12.1所示。12.1创建视图(3)在“增加表”快捷菜单中选择“添加表…”功能项,将出现“添加表”对话框。(4)在图12.2所示的窗口的第2个子窗口中选择创建视图所需的字段,可以指定列的别名、排序方式和规则、分组、HAVING子句(5)上一步完成后,单击保存按钮,出现如图12.3所示的保存视图对话框,在其中输入视图名,并单击“确定“按钮,便完成了视图的创建。2.通过视图向导创建视图

文档评论(0)

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

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

1亿VIP精品文档

相关文档