网站大量收购独家精品文档,联系QQ:2885784924

数据库实用技术教程教学课件作者基于Oracle系统电子教案第3章幻灯片.ppt

数据库实用技术教程教学课件作者基于Oracle系统电子教案第3章幻灯片.ppt

  1. 1、本文档共110页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 SQL基础 3.5 视图 3.1 SQL概述 3.3 数据更新 3.2 数据定义 3.4 数据查询 3.6 小结 3.5 视图 视图是为了确保数据表的安全性和提高数据的隐蔽性从一个或多个表中或其他视图中使用SELECT语句导出的虚表。数据库中仅存放视图的定义,而不是存放视图对应的数据,数据仍存放在基础表中,对视图中数据的更新实际上仍是对组成视图的基础表的更新。换句话,视图相当于在基础表上加了一层保护膜,通过使用视图,基础表中的数据能以各种不同的方式提供给用户,以加强数据库的安全性。 视图应先定义,再使用。 3.5 视图 3.5.1 定义视图 3.5.2 查询视图 3.5.3 基于视图的数据查询与更新 3.5.4 删除视图 3.5.1 定义视图 定义视图命令的一般格式如下: CREATE [OR REPLACE] VIEW 视图名[(列名列表)] AS 子查询 [WITH READ ONLY |WITH CHECK OPTION] ; VIEW为视图关键字,OR REPLACE选项表示将覆盖视图中原来的内容,修改时使用;WITH READ ONLY |WITH CHECK OPTION说明视图的性质,前者表示视图是只读的,不能进行插入、删除、修改操作,后者表示当向视图中插入、修改、删除数据时,数据必须满足视图定义中子查询的WHERE条件,缺省为只读。 3.5.1 定义视图 视图中的列名列表要么全部省略,要么全部指定。省略时,列名是子查询的显示列表项。有三种情况必须指出组成视图的所有列名: ●某个目标列不是单纯的属性名,而是聚集函数或列表达式; ●多表连接时SELECT语句中有几个同名列作为视图的字段; ●需要在视图中为某个列启用新的更合适的名字。 定义视图 【例3.51】定义选修成绩及格的只读视图sc_view,要求视图中包含学号、姓名、班级编号、课程编号、课程名称、成绩,写出其SQL命令。 CREATE VIEW sc_view(s_no,s_name,class_no,c_no,c_name,score) AS SELECT student.s_no,s_name,class_no,course.c_no,c_name,score FROM student,course,sc WHERE student.s_no=sc.s_no AND course.c_no=sc.c_no AND score=60 WITH READ ONLY; 【例3.52】定义班级编号为“0101”的检查视图student_view,要求视图中包含学号、姓名、入学成绩,班级编号,写出其SQL命令。 CREATE VIEW student_view AS SELECT s_no,s_name,s_score,class_no FROM student WHERE class_no=0101‘ WITH CHECK OPTION; 3.5 视图 3.5.2 查询视图 3.5.3 基于视图的数据查询与更新 3.5.1 定义视图 3.5.4 删除视图 查询视图 视图定义成功后,视图信息存储在系统表DBA_VIEWS中,使用查询命令DESC可以得到存储在DBA_VIEWS中的视图信息。 【例3.53】用DESC命令查看DBA_VIEWS的结构。 DESC DBA_VIEWS; 【例3.54】利用DBA_VIEWS系统表查看视图sc_view的内容、长度信息,写出其SQL命令。 SELECT TEXT,TEXT_LENGTH FROM DBA_VIEWS WHERE VIEW_NAME=SC_VIEW; 3.5 视图 3.5.3 基于视图的数据查询与更新 3.5.2 查询视图 3.5.1 定义视图 3.5.4 删除视图 1. 基于视图的数据查询 【例3.55】查询选修成绩及格的学生的学号、姓名、课程编号、课程名称和成绩,写出其SQL命令。 例3.53中定义的视图sc_view就包含了本例查询信息,可以基于sc_view进行查询,命令如下: SELECT s_no,s_name,c_no,c_name,score FROM sc_view; 由于视图是建立在基本表基础上的虚表,所以基于视图的查询和更新最终都要转化为基于基本表的查询和更新,这个过程称为视图消解过程。视图消解过程主要完成有效性检查、转换成等价的对基本表的查询和执行修正后的查询三步。 例3.55中基于视图sc_view的查询首先要转化成基于组成视图sc_view的基本表student、sc和course的查询,查询语句如下: SELECT student.s_no,s_name,class_no,course.c_no,c_name,scor

文档评论(0)

开心农场 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档