第四章 结构化查询语言(第6次课)概述.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
An Introduction to Database System 查询转换 错误: 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; An Introduction to Database System 4.5 视 图 4.5.1 定义视图 4.5.2 查询视图 4.5.3 更新视图 4.5.4 视图的作用 An Introduction to Database System 4.5.3 更新视图 用户角度:更新视图与更新基本表相同 DBMS实现视图更新的方法 视图实体化法(View Materialization) 视图消解法(View Resolution) 指定WITH CHECK OPTION子句后 DBMS在更新视图时会进行检查,防止用户通过视图对不属于视图范围内的基本表数据进行更新 An Introduction to Database System 更新视图(续) [例1] 将信息系学生视图IS_Student中学号95002的学生姓名改为“刘辰”。 UPDATE IS_Student SET Sname= 刘辰 WHERE Sno= 95002; 转换后的语句: UPDATE Student SET Sname= 刘辰 WHERE Sno= 95002 AND Sdept= IS; An Introduction to Database System 更新视图(续) [例2] 向信息系学生视图IS_S中插入一个新的学生记录:95029,赵新,20岁 INSERT INTO IS_Student VALUES(‘95029’,‘赵新’,20); 转换为对基本表的更新: INSERT INTO Student(Sno,Sname,Sage,Sdept) VALUES(95029,赵新,20,IS ); An Introduction to Database System 更新视图(续) [例3] 删除视图CS_S中学号为95029的记录 DELETE FROM IS_Student WHERE Sno= 95029; 转换为对基本表的更新: DELETE FROM Student WHERE Sno= 95029 AND Sdept= IS; An Introduction to Database System 更新视图的限制 一些视图是不可更新的,因为对这些视图的更新不能唯一地有意义地转换成对相应基本表的更新(对两类方法均如此) 例:视图S_G为不可更新视图。 CREATE VIEW S_G (Sno,Gavg) AS SELECT Sno,AVG(Grade) FROM SC GROUP BY Sno; An Introduction to Database System 更新视图(续) 对于如下更新语句: UPDATE S_G SET Gavg=90 WHERE Sno= 95001; 无论实体化法还是消解法都无法将其转换成对 基本表SC的更新 An Introduction to Database System 4.5 视 图 4.5.1 定义视图 4.5.2 查询视图 4.5.3 更新视图 4.5.4 视图的作用 An Introduction to Database System 1. 视图能够简化用户的操作 当视图中数据不是直接来自基本表时,定义视图能够简化用户的操作 基于多张表连接形成的视图 基于复杂嵌套查询的视图 含导出属性的视图 An Introduction to Database System 2. 视图使用户能以多种角度看待同一数据 视图机制能使不同用户以不同方式看待同一数据,适应数据库共享的需要 An Introduction to Database System 3.视图对重构数据库提供了一定程度的逻辑独立性 例:数据库逻辑结构发生改变 学生关系Student(Sno,Sname,Ssex,Sage,Sdept) “垂直”地分成两个基本表: SX(Sno,Sname,Sage) SY(Sno,Ssex,Sdept) An Introduction to Database System 3.视图对重构数据库提供了一定程度的逻辑独立性 通过建立一个视图Stud

文档评论(0)

武神赵子龙 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档