- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
关系数据库操作基础 4.5 视图 本人所售课程学生名单 理解视图 视图的特点 虚拟表,是从一个或几个基本表(或视图)导出的表 只存放视图的定义,不会出现数据冗余 基表中的数据发生变化,从视图中查询出的数据也随之改变 基于视图的操作 基于视图的操作 查询 删除 受限更新 定义基于该视图的新视图 创建视图 DBMS执行CREATE VIEW语句时只是把视图的定义存入数据字典,并不执行其中的SELECT语句。 在对视图查询时,按视图的定义从基本表中将数据查出。 创建视图举例 CREATE VIEW HBstudent AS SELECT sno , sname , sex , age FROM student WHERE place LIKE ‘湖北’ 创建视图举例 CREATE VIEW C_stud_info(sno , sname , sex , place) AS SELECT sno , sname , sex , place FROM student WHERE sno IN ( SELECT sno FROM study WHERE cno IN ( SELECT cno FROM course WHERE cname LIKE ‘C语言’ ) ) 创建视图(续) WITH CHECK OPTION 强制视图上执行的所有数据修改语句都必须符合由 视图的定义设置的准则。通过视图修改行时,WITH CHECK OPTION 可确保提交修改后,仍可通过视图看到修改的数据。 创建视图举例 CREATE VIEW HBstudent_1 AS SELECT sno , sname , sex , age,place FROM student WHERE place LIKE ‘湖北’ WITH CHECK OPTION; 更新 WITH CHECK OPTION的视图举例 update HBstudent_1 set place=‘河北’ where sno=‘1‘ 基于多个基表的视图 CREATE VIEW Student_Study AS SELECT student.sno, cno, grade FROM student, study WHERE student.sno = study.sno AND place LIKE ‘%湖北%’ 基于视图的视图 [例4] CREATE VIEW HBstudent_2 AS SELECT sno,sname,age FROM HBstudent WHERE sex=‘女’ 带表达式的视图 [例5] CREATE VIEW HBstudent_3 AS SELECT sno , sname , sex , year(getdate())-year, place FROM student WHERE place LIKE ‘湖北’ 删除视图 DROP VIEW 视图名; 该语句从数据字典中删除指定的视图定义 由该视图导出的其他视图定义仍在数据字典中,但已不能使用,必须显式删除 删除基表时,由该基表导出的所有视图定义都必须显式删除 删除视图(续) [例7] 删除视图HBstudent_3 DROP VIEW HBstudent_3 视图的查询 SELECT …….. FROM 视图或者表 WHERE …….. 查询视图的工作原理 从用户角度:查询视图与查询基本表相同 DBMS实现视图查询的方法 实体化视图(View Materialization) 有效性检查:检查所查询的视图是否存在 执行视图定义,将视图临时实体化,生成临时表 查询视图转换为查询临时表 查询完毕删除被实体化的视图(临时表) 查询视图的工作原理(续) 视图消解法(View Resolution) 进行有效性检查,检查查询的表、视图等是否存在。如果存在,则从数据字典中取出视图的定义 把视图定义中的子查询与用户的查询结合起来,转换成等价的对基本表的查询 执行修正后的查询 视图HBstudent中查找年龄大于20岁的学生基本信息 SELECT sno , sname , sex , age FROM HBstudent WHERE age 20 查询视图(续) 用视图消解法解释查询的执行过程 转换后的查询语句为: SELECT sno , sname , sex , age FROM HBstu
文档评论(0)