自考互联网数据库第3章分析.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
An Introduction to Database System 建立视图(续) CREATE VIEW F_Student2 (stdnum,name,sex,age,dept) AS SELECT Sno,Sname,Ssex,Sage,Sdept FROM Student WHERE Ssex=女; 为基表Student增加属性列不会破坏Student表 与F_Student2视图的映象关系。 An Introduction to Database System 常见的视图形式 行列子集视图 WITH CHECK OPTION的视图 基于多个基表的视图 基于视图的视图 带表达式的视图 分组视图 An Introduction to Database System 2. 删除视图 DROP VIEW 视图名; 该语句从数据字典中删除指定的视图定义 由该视图导出的其他视图定义仍在数据字典中,但已不能使用,必须显式删除 删除基表时,由该基表导出的所有视图定义都必须显式删除 An Introduction to Database System 3.5.2 查询视图 从用户角度:查询视图与查询基本表相同 DBMS实现视图查询的方法 实体化视图(View Materialization) 有效性检查:检查所查询的视图是否存在 执行视图定义,将视图临时实体化,生成临时表 查询视图转换为查询临时表 查询完毕删除被实体化的视图(临时表) new An Introduction to Database System 查询视图(续) 视图消解法(View Resolution) 进行有效性检查,检查查询的表、视图等是否存在。如果存在,则从数据字典中取出视图的定义 把视图定义中的子查询与用户的查询结合起来,转换成等价的对基本表的查询 执行修正后的查询 An Introduction to Database System 查询视图(续) 视图实体化法 视图消解法 转换后的查询语句为: SELECT Sno,Sage FROM Student WHERE Sdept= IS AND Sage20; An Introduction to Database System 查询视图(续) 视图消解法的局限 有些情况下,视图消解法不能生成正确查询。采用视图消解法的DBMS会限制这类查询。 An Introduction to Database System 3.5.3 更新视图 用户角度:更新视图与更新基本表相同 DBMS实现视图更新的方法 视图实体化法(View Materialization) 视图消解法(View Resolution) 指定WITH CHECK OPTION子句后 DBMS在更新视图时会进行检查,防止用户通过视图对不属于视图范围内的基本表数据进行更新 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 视图的可更新性 理论上可更新 理论上不可更新 允许更新 不允许更新 不允许更新 An Introduction to Database System 实际系统对视图更新的限制 允许对行列子集视图进行更新 对其他类型视图的更新不同系统有不同限制 DB2对视图更新的限制: (1) 若视图是由两个以上基本表导出的,则此视图不允许更新。 (2) 若视图的字段来自字段表达式或常数,则不允许对此视图执行INSERT和UPDATE操作,但允许执行DELETE操作。 An Introduction to Database System 更新视图(续) (3) 若视图的字段来自集函数,则此视图不允许更新。 (4) 若视图

文档评论(0)

金不换 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档