数据库系统概论(第五版) 第3章.pptVIP

  1. 1、本文档共80页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
更新视图(续) [例3.96] 向信息系学生视图IS_S中插入一个新的学生记录,其中学号为”201215129”,姓名为”赵新”,年龄为20岁 INSERT INTO IS_Student VALUES(‘201215129’,’赵新’,20); 转换为对基本表的更新: INSERT INTO Student(Sno,Sname,Sage,Sdept) VALUES(‘200215129 ,赵新,20,IS ); 更新视图(续) [例3.97]删除信息系学生视图IS_Student中学号为”201215129”的记录 DELETE FROM IS_Student WHERE Sno= 201215129 ; 转换为对基本表的更新: DELETE FROM Student WHERE Sno= 201215129 AND Sdept= IS; 更新视图(续) 更新视图的限制:一些视图是不可更新的,因为对这些视图的更新不能唯一地有意义地转换成对相应基本表的更新 例:例3.89定义的视图S_G为不可更新视图。 UPDATE S_G SET Gavg=90 WHERE Sno= 201215121; 这个对视图的更新无法转换成对基本表SC的更新 更新视图(续) 允许对行列子集视图进行更新 对其他类型视图的更新不同系统有不同限制 更新视图(续) DB2对视图更新的限制: 若视图是由两个以上基本表导出的,则此视图不允许更新。 若视图的字段来自字段表达式或常数,则不允许对此视图执行INSERT和UPDATE操作,但允许执行DELETE操作。 若视图的字段来自集函数,则此视图不允许更新。 若视图定义中含有GROUP BY子句,则此视图不允许更新。 若视图定义中含有DISTINCT短语,则此视图不允许更新。 若视图定义中有嵌套查询,并且内层查询的FROM子句中涉及的表也是导出该视图的基本表,则此视图不允许更新。 更新视图(续) 例:将SC中成绩在平均成绩之上的元组定义成一个视图 CREATE VIEW GOOD_SC AS SELECT Sno,Cno,Grade FROM SC WHERE Grade (SELECT AVG(Grade) FROM SC); 一个不允许更新的视图上定义的视图也不允许更新 3.7 视图 3.7.1 定义视图 3.7.2 查询视图 3.7.3 更新视图 3.7.4 视图的作用 3.7.4 视图的作用 视图能够简化用户的操作 视图使用户能以多种角度看待同一数据 视图对重构数据库提供了一定程度的逻辑独立性 视图能够对机密数据提供安全保护 适当的利用视图可以更清晰的表达查询 视图的作用(续) 视图能够简化用户的操作 当视图中数据不是直接来自基本表时,定义视图能够简化用户的操作 基于多张表连接形成的视图 基于复杂嵌套查询的视图 含导出属性的视图 视图的作用(续) 视图使用户能以多种角度看待同一数据 视图机制能使不同用户以不同方式看待同一数据, 适应数据库共享的需要 视图的作用(续) 视图对重构数据库提供了一定程度的逻辑独立性 数据库重构 : 例:学生关系Student(Sno,Sname,Ssex,Sage,Sdept) “垂直”地分成两个基本表: SX(Sno,Sname,Sage) SY(Sno,Ssex,Sdept) 视图的作用(续) 通过建立一个视图Student: CREATE VIEW Student(Sno,Sname,Ssex,Sage,Sdept) AS SELECT SX.Sno,SX.Sname,SY.Ssex,SX.Sage,SY.Sdept FROM SX,SY WHERE SX.Sno=SY.Sno; 使用户的外模式保持不变,用户的应用程序通过视图仍然能够 查找数据 视图的作用(续) 视图对重构数据库提供了一定程度的逻辑独立性(续) 视图只能在一定程度上提供数据的逻辑独立性 由于对视图的更新是有条件的,因此应用程序中修改数据的语句可能仍会因基本表结构的改变而改变。 视图能够对机密数据提供安全保护 对不同用户定义不同视图,使每个用户只能看到他有权看到的数据 视图的作用(续) 适当的利用视图可以更清晰的表达查询 经常需要执行这样的查询“对每个同学找出他获得最高成绩的课程号”。可以先定义一个视图,

文档评论(0)

smashing + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档