6_第3章_关系数据库标准语言_4重点.ppt

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.10.1 创建视图 不指定属性列 [例7]将Student表中所有女生记录定义为一个视图 CREATE VIEW F_Stu (F_Sno,name,sex,age,dept) AS SELECT * FROM Student WHERE Ssex=‘女’; 缺点: 修改基表Student的结构后,Student表与F_Student视图的映象关系被破坏,导致该视图不能正确工作。 3.10.2 删除视图 语句的格式: DROP VIEW 视图名; 该语句从数据字典中删除指定的视图定义 如果该视图上还导出了其他视图,使用CASCADE级联删除语句,把该视图和由它导出的所有视图一起删除 删除基表时,由该基表导出的所有视图定义都必须显式地使用DROP VIEW语句删除 3.10.2 删除视图 [例8] 删除视图BT_S: DROP VIEW BT_S; 删除视图IS_S1:DROP VIEW IS_S1; 拒绝执行 级联删除: DROP VIEW IS_S1 CASCADE; 3.10.3 查询视图 用户角度:查询视图与查询基本表相同 RDBMS实现视图查询的方法 视图消解法(View Resolution) 进行有效性检查 转换成等价的对基本表的查询 执行修正后的查询 3.10.3 查询视图 [例9] 在信息系学生的视图中找出年龄小于20岁的学生。 SELECT Sno,Sage FROM IS_Student WHERE Sage20; 视图消解转换后的查询语句为: SELECT Sno,Sage FROM Student WHERE Sdept= IS AND Sage20; 3.10.3 查询视图 [例10] 查询选修了1号课程的信息系学生 SELECT IS_Student.Sno,Sname FROM IS_Student,SC WHERE IS_Student.Sno =SC.Sno AND SC.Cno= 1; 3.10.3 查询视图 [例11]在S_G视图中查询平均成绩在90分以上的学生学号 和平均成绩 SELECT * FROM S_G WHERE Gavg=90; S_G视图的子查询定义: CREATE VIEW S_G (Sno,Gavg) AS SELECT Sno,AVG(Grade) FROM SC GROUP BY Sno; 3.10.3 查询视图 错误: SELECT Sno,AVG(Grade) FROM SC WHERE AVG(Grade)=90 GROUP BY Sno; 正确: SELECT Sno,AVG(Grade) FROM SC GROUP BY Sno HAVING AVG(Grade)=90; 3.10.4 更新视图 [例12] 将信息系学生视图IS_Student中学号200215122的学生 姓名改为“刘辰”。 UPDATE IS_Student SET Sname= 刘辰 WHERE Sno= 200215122 ; 转换后的语句: UPDATE Student SET Sname= 刘辰 WHERE Sno= 200215122 AND Sdept= IS; 3.10.4 更新视图 [例13] 向信息系学生视图IS_S中插入一个新的学生记录: 200215129,赵新,20岁 INSERT INTO IS_Student VALUES(‘95029’,‘赵新’,20); 转换为对基本表的更新: INSERT INTO Student(Sno,Sname,Sage,Sdept) VALUES(‘200215129 ,赵新,20,IS ); 3.10.4 更新视图 [例14]删除信息系学生视图IS_Student中学号为200215129的记录 DELETE FROM IS_Student WHERE Sno= 200215129 ; 转换为对基本表的更新: DELETE FROM Student WHERE Sno= 200215129 AND Sdept= IS; 3.10.4 更新视图 更新视图的限制:一些视图是不可更新的,因为对这些视图的更新不

文档评论(0)

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

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

1亿VIP精品文档

相关文档