收藏 分销(赏)

Oracle SQL&PLSQL课件:第11章 视图.ppt

上传人:可**** 文档编号:10290129 上传时间:2025-05-16 格式:PPT 页数:19 大小:174.50KB
下载 相关 举报
Oracle SQL&PLSQL课件:第11章 视图.ppt_第1页
第1页 / 共19页
Oracle SQL&PLSQL课件:第11章 视图.ppt_第2页
第2页 / 共19页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,Oracle SQL&PL/SQL,第11,章 视图,描述视图,创建视图,从视图检索数据,修改视图定义,通过视图实现插入、更新、删除数据,删除视图,本章要点,数据库对象,描述,数据存储的基本单元,由行和列组成,逻辑上来自一个或多个表的数据的集合,产生主关键字值,用于提高某些查询的性能,对象的替代名称,对象,表,视图,序列,索引,同义词,什么是视图?,EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO,-,7839 KING PRESIDENT 17-NOV-81 5000 10,7698 BLAKE MANAGER 7839 01-MAY-81 2850 30,7782 CLARK MANAGER 7839 09-JUN-81 2450 10,7566 JONES MANAGER 7839 02-APR-81 2975 20,7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30,7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30,7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30,7900 JAMES CLERK 7698 03-DEC-81 950 30,7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30,7902 FORD ANALYST 7566 03-DEC-81 3000 20,7369 SMITH CLERK 7902 17-DEC-80 800 20,7788 SCOTT ANALYST 7566 09-DEC-82 3000 20,7876 ADAMS CLERK 7788 12-JAN-83 1100 20,7934 MILLER CLERK 7782 23-JAN-82 1300 10,EMP,表,EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO,-,7839 KING PRESIDENT 17-NOV-81 5000 10,7782 CLARK MANAGER 7839 09-JUN-81 1500 300 10,7934 MILLER CLERK 7782 23-JAN-82 1300 10,7566 JONES MANAGER 7839 02-APR-81 2975 20,7788 SCOTT ANALYST 7566 09-DEC-82 3000 20,7876 ADAMS CLERK 7788 12-JAN-83 1100 20,7369 SMITH CLERK 7902 17-DEC-80 800 20,7902 FORD ANALYST 7566 03-DEC-81 3000 20,7698 BLAKE MANAGER 7839 01-MAY-81 2850 30,7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30,7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30,7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30,7900 JAMES CLERK 7698 03-DEC-81 950 30,7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30,EMPNO ENAME JOB,-,7839 KING PRESIDENT,7782 CLARK MANAGER,7934 MILLER CLERK,EMPVU10,视图,为什么使用视图,限制对数据库的访问,容易实现复杂的查询,维护数据的独立性,对于相同的数据可以产生不同的视图,简单视图和复杂视图,特征简单视图复杂视图,基表数量一个一个或多个,包含函数没有有,包含数据组没有有,通过视图实现,DML,操作可以不一定,创建视图,在,CREATE VIEW,语句中嵌入一子查询,子查询可以采用复杂的,SELECT,语法形式,子查询中不能使用,ORDER BY,子句,它可在从视图中查询数据时使用。,CREATE OR REPLACE FORCE|NOFORCE VIEW,view,(,alias,alias,.),AS,subquery,WITH CHECK OPTION CONSTRAINT,constraint,WITH READ ONLY,创建视图,创建视图,EMPVU10,,该视图仅包含,10,部门雇员的细节信息。,用,SQL*Plus DESCRIBE,显示视图的结构。,SQL DESCRIBE empvu10,SQL CREATE VIEW empvu10,2 AS SELECT,empno,ename,job,3 FROM,emp,4 WHERE,deptno,=10;,View created.,创建视图,创建视图时在内部查询中使用列的别名,要从视图中选择列时必须使用内部查询中所使用的列的别名,SQL CREATE VIEW salvu30,2 AS SELECT,empno,EMPLOYEE_NUMBER,ename,NAME,3,sal,SALARY,4 FROM,emp,5 WHERE,deptno,=30;,View created.,创建复杂视图,创建一个基于两个表并且含有组函数的复杂视图,。,SQL CREATE VIEWdept_sum_vu,2 (name,minsal,maxsal,avgsal,),3 AS SELECTd.,dname,MIN(e.,sal,),MAX(e.,sal,),4AVG(e.,sal,),5 FROM,emp,e,dept d,6 WHEREe.,deptno,=d.,deptno,7 GROUP BY d.,dname,;,View created.,从视图检索数据,EMPLOYEE_NUMBER NAME SALARY,-,7698 BLAKE 2850,7654 MARTIN 1250,7499 ALLEN 1600,7844 TURNER 1500,7900 JAMES 950,7521 WARD 1250,6 rows selected.,SQL SELECT*,2 FROMsalvu30;,查询视图,用户视图,EMPVU10,SELECT,empno,ename,job,FROM,emp,WHERE,deptno,=10;,SQL*Plus,SELECT *,FROM empvu10;,EMP,7839,KINGPRESIDENT,7782CLARKMANAGER,7934MILLERCLERK,修改视图,用,CREATE OR REPLACE VIEW,子句修改视图,empvu10,,为每个列添加别名。,CREATE VIEW,子句中别名的顺序必须和内部查询中的列的顺序一一对应,SQL CREATE OR REPLACE VIEW empvu10,2 (employee_number,employee_name,job_title),3 AS SELECT,empno,ename,job,4 FROM,emp,5 WHERE,deptno,=10;,View created.,视图上执行,DML,操作的规则,在简单视图上可以执行,DML,操作,如果视图中包含以下内容则不能删除数据行:,Group,函数,GROUP BY,子句,DISTINCT,关键字,视图上执行,DML,操作的规则,如果视图包含以下内容,则不能实现对数据的修改:,前面一张幻灯片提及的任何条件,,GROUP,函数、,GROUP BY,子句,,DISTINCT,关键字。,使用表达式定义的列,ROWNUM,伪列,如果是以下情况不能插入数据:,:,上面提到的各种情况,基表中未在视图中选择的其它列定义为非空并且没有默认值。,WITH CHECK OPTION,子句,如果要确保在视图上执行的,DML,操作仅限于一定的范围,便可使用,WITH CHECK OPTION,子句。,在视图中任何修改部门编号的操作都会失败因为这违反了,WITH CHECK OPTION,约束,SQL CREATE OR REPLACE VIEW empvu20,2 AS SELECT*,3 FROM,emp,4 WHERE,deptno,=20,5 WITH CHECK OPTION CONSTRAINT empvu20_ck;,View created.,拒绝,DML,操作,在视图定义时使用,WITH READ ONLY,选项可以确保不能对视图执行,DML,操作。,SQL CREATE OR REPLACE VIEW empvu10,2 (employee_number,employee_name,job_title),3 AS SELECT,empno,ename,job,4 FROM,emp,5 WHERE,deptno,=10,6 WITH READ ONLY;,View created.,任何试图执行,DML,的,操作都会导致一个错误,ORA-01752。,删除视图,删除视图并不会删除数据因为视图是基于数据库中的基表。,SQL DROP VIEW empvu10;,View dropped.,DROP VIEW,view,;,小结,视图是基于一个或多个表或视图的逻辑表,使用视图具有以下优点:,限制对数据库的访问,简化查询,维护数据的独立性,对相同的数据可以建立不同的视图,可以删除视图而不影响数据,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服