第-3-章-关系数据库标准语言SQL.ppt

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

更新视图(续)[例13]向信息系学生视图IS_S中插入一个新的学生记录:200215129,赵新,20岁INSERTINTOIS_StudentVALUES(‘95029’,‘赵新’,20);转换为对基本表的更新:INSERTINTOStudent(Sno,Sname,Sage,Sdept)VALUES(‘200215129,赵新,20,IS);更新视图(续)[例14]删除信息系学生视图IS_Student中学号为200215129的记录DELETEFROMIS_StudentWHERESno=200215129;转换为对基本表的更新:DELETEFROMStudentWHERESno=200215129ANDSdept=IS;更新视图(续)更新视图的限制:一些视图是不可更新的,因为对这些视图的更新不能唯一地有意义地转换成对相应基本表的更新例:视图S_G为不可更新视图。UPDATES_GSETGavg=90WHERESno=‘200215121’;这个对视图的更新无法转换成对基本表SC的更新更新视图(续)允许对行列子集视图进行更新对其他类型视图的更新不同系统有不同限制3.6视图3.6.1定义视图3.6.2查询视图3.6.3更新视图3.6.4视图的作用3.带子查询的删除语句[例10]删除计算机科学系所有学生的选课记录。DELETEFROMSCWHERECS=(SELETESdeptFROMStudentWHEREStudent.Sno=SC.Sno);更新操作与数据库的一致性问题增、删、改操作只能对一个表操作,会带来一些问题。例如:号的学生被删除后,有关其选课信息也应同时被删除;然而,这只能通过两条语句进行。先删除选课记录,然后删除该学生记录。第三章关系数据库标准语言SQL3.1SQL概述3.2学生-课程数据库3.3数据定义3.4数据查询3.5数据更新3.6视图3.7小结3.6视图视图是RDBS提供给用户以多种角度观察DB中数据的重要机制。视图是从一个或n个基本表(视图)导出的表,与基本表不同,是一个虚表。数据库中只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中。基表中数据发生变化,从视图中查询出的数据也随之改变视图在概念上与基本表等同,用户可以在视图上再定义视图,可以对视图进行查询、删除、更新等操作。3.6视图基于视图的操作查询删除受限更新定义基于该视图的新视图3.6视图3.6.1定义视图3.6.2查询视图3.6.3更新视图3.6.4视图的作用3.6.1定义视图建立视图删除视图一、建立视图语句格式CREATEVIEW视图名[(列名[,列名]…)]AS子查询[WITHCHECKOPTION];组成视图的属性列名:全部省略或全部指定子查询不允许含有ORDERBY子句和DISTINCT短语。如果需要排序,则可在视图定义后,对视图查询时再进行排序。建立视图(续)视图定义存入数据字典,并不执行其中的SELECT语句。视图定义被编译后存储,因此执行效率高。在对视图查询时,按视图的定义从基本表中将数据查出。视图类型行列子集视图从单个基本表导出,包含了主码;并且只是去掉了基本表的某些行和某些列的视图带表达式的视图带虚拟列的视图分组视图用带有集函数和GROUPBY子句的查询来定义的视图建立视图(续)[例1]建立信息系学生的视图。CREATEVIEWIS_StudentASSELECTSno,Sname,SageFROMStudentWHERESdept=IS;建立视图(续)[例2]建立信息系学生的视图,并要求进行修改和插入操作时仍需保证该视图只有信息系的学生。CREATEVIEWIS_StudentASSELEC

文档评论(0)

好文精选 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档