Les11oracle数据库教程

上传人:tia****g98 文档编号:244990319 上传时间:2024-10-06 格式:PPT 页数:28 大小:253.99KB
返回 下载 相关 举报
Les11oracle数据库教程_第1页
第1页 / 共28页
Les11oracle数据库教程_第2页
第2页 / 共28页
Les11oracle数据库教程_第3页
第3页 / 共28页
点击查看更多>>
资源描述
Click to edit Master title style,First Level,Second Level,Third Level,Fourth Level,Fifth Level,11-,*,Copyright Oracle Corporation,2001.All rights reserved.,视图,目标,通过本章学习,您将可以,:,描述视图,创建和修改视图的定义,删除视图,从视图中查询数据,通过视图插入,修改和删除数据,创建和使用临时视图,使用“,Top-N”,分析,常见的数据库对象,对象描述,表 基本的数据存储集合,由行和列组成。,视图从表中抽出的逻辑上相关的数据集合。,序列 提供有规律的数值。,索引提高查询的效率,同义词 给对象起别名,视图,表,EMPLOYEES,:,为什么使用视图,控制数据访问,简化查询,数据独立性,避免重复访问相同的数据,简单视图和复杂视图,特性简单视图复杂视图,表的数量一个一个或多个,函数没有有,分组没有有,DML,操作可以有时可以,创建视图,在,CREATE VIEW,语句中嵌入子查询,子查询可以是复杂的,SELECT,语句,CREATE OR REPLACE FORCE|,NOFORCE,VIEW,view,(,alias,alias,.),AS,subquery,WITH CHECK OPTION CONSTRAINT,constraint,WITH READ ONLY CONSTRAINT,constraint,;,创建视图,创建视图举例,描述视图结构,DESCRIBE empvu80,CREATE VIEW empvu80,AS SELECT employee_id,last_name,salary,FROM employees,WHERE department_id=80;,View created.,创建视图,创建视图时在子查询中给列定义别名,在选择视图中的列时应使用别名,CREATE VIEW salvu50,AS SELECT employee_id ID_NUMBER,last_name NAME,salary*12 ANN_SALARY,FROM employees,WHERE department_id=50;,View created.,查询视图,SELECT*,FROMsalvu50;,查询视图,USER_VIEWS,EMPVU80,SELECT employee_id,last_name,salary,FROM employees,WHERE department_id=80;,SQL*Plus,SELECT *,FROM empvu80,;,EMPLOYEES,Oracle Server,修改视图,使用,CREATE OR REPLACE VIEW,子句修改视图,CREATE VIEW,子句中各列的别名应和子查询中各列相对应,CREATE OR REPLACE VIEW empvu80,(id_number,name,sal,department_id),AS SELECT employee_id,first_name|last_name,salary,department_id,FROM employees,WHERE department_id=80;,View created.,创建复杂视图,复杂视图举例,CREATE VIEWdept_sum_vu,(name,minsal,maxsal,avgsal),AS SELECT d.department_name,MIN(e.salary),MAX(e.salary),AVG(e.salary),FROM employees e,departments d,WHERE e.department_id=d.department_id,GROUP BY d.department_name;,View created.,视图中使用,DML,的规定,可以在简单视图中执行,DML,操作,当视图定义中包含以下元素之一时不能使用,delete:,组函数,GROUP BY,子句,DISTINCT,关键字,ROWNUM,伪列,视图中使用,DML,的规定,当视图定义中包含以下元素之一时不能使用,update:,组函数,GROUP BY,子句,DISTINCT,关键字,ROWNUM,伪列,列的定义为表达式,视图中使用,DML,的规定,当视图定义中包含以下元素之一时不能使用,insert:,组函数,GROUP BY,子句,DISTINCT,关键字,ROWNUM,伪列,列的定义为表达式,表中非空的列在视图定义中未包括,使用,WITH CHECK OPTION,子句确保,DML,只能在特定的范围内执行,任何违反,WITH CHECK OPTION,约束的请求都会失败,CREATE OR REPLACE VIEW empvu20,AS SELECT*,FROM employees,WHERE department_id=20,WITH CHECK OPTION CONSTRAINT empvu20_ck;,View created.,WITH,CHECK,OPTION,子句,屏蔽,DML,操作,可以使用,WITH READ ONLY,选项屏蔽对视图的,DML,操作,任何,DML,操作都会返回一个,Oracle server,错误,屏蔽,DML,操作,CREATE OR REPLACE VIEW empvu10,(employee_number,employee_name,job_title),AS SELECTemployee_id,last_name,job_id,FROM employees,WHERE department_id=10,WITH READ ONLY;,View created.,删除视图,删除视图只是删除视图的定义,并不会删除基表的数据,DROP VIEW empvu80;,View dropped.,DROP VIEW,view,;,临时视图,临时视图可以是嵌套在,SQL,语句中的子查询,在,FROM,子句中的的子查询是临时视图,临时视图不是数据库对象,Top-N,分析,Top-N,分析查询一个列中最大或最小的,n,个值,:,销售量最高的十种产品是什么,?,销售量最差的十种产品是什么,?,最大和最小的值的集合是,Top-N,分析所关心的,Top-N,分析,查询最大的几个值的,Top-N,分析,:,SELECT,column_list,ROWNUM,FROM (SELECT,column_list,FROM table,ORDER BY Top-N_column),WHERE ROWNUM=N;,Top-N,分析,查询工资最高的三名员工,:,SELECT ROWNUM as RANK,last_name,salary,FROM (SELECT last_name,salary FROM employees,ORDER BY salary DESC),WHERE ROWNUM=3;,3,1,2,1,2,3,总结,通过本章学习,您已经了解视图的优点和基本应用,:,控制数据访问,简化查询,数据独立性,删除时不删除数据,子查询是临时视图的一种,Top-N,分析,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!