视图的详细讲解.ppt

上传人:小飞机 文档编号:6341608 上传时间:2023-10-18 格式:PPT 页数:27 大小:302.32KB
返回 下载 相关 举报
视图的详细讲解.ppt_第1页
第1页 / 共27页
视图的详细讲解.ppt_第2页
第2页 / 共27页
视图的详细讲解.ppt_第3页
第3页 / 共27页
视图的详细讲解.ppt_第4页
第4页 / 共27页
视图的详细讲解.ppt_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《视图的详细讲解.ppt》由会员分享,可在线阅读,更多相关《视图的详细讲解.ppt(27页珍藏版)》请在三一办公上搜索。

1、视图,目标,通过本章学习,您将可以:描述视图 创建和修改视图的定义,删除视图从视图中查询数据通过视图插入,修改和删除数据 创建和使用临时视图使用“Top-N”分析,常见的数据库对象,对象描述表 基本的数据存储集合,由行和列组成。视图从表中抽出的逻辑上相关的数据集合。序列 提供有规律的数值。索引提高查询的效率同义词 给对象起别名,视图,表EMPLOYEES:,为什么使用视图,控制数据访问简化查询数据独立性避免重复访问相同的数据,简单视图和复杂视图,特性简单视图复杂视图表的数量一个一个或多个函数没有有分组没有有DML 操作可以有时可以,创建视图,在CREATE VIEW语句中嵌入子查询子查询可以是

2、复杂的 SELECT 语句,CREATE OR REPLACE FORCE|NOFORCE VIEW view(alias,alias.)AS subqueryWITH CHECK OPTION CONSTRAINT constraintWITH READ ONLY CONSTRAINT constraint;,创建视图,创建视图举例描述视图结构,DESCRIBE empvu80,CREATE VIEW empvu80 AS SELECT employee_id,last_name,salary FROM employees WHERE department_id=80;View create

3、d.,创建视图,创建视图时在子查询中给列定义别名在选择视图中的列时应使用别名,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;,查询视图,SQL*PlusSELECT*FROM empvu80;,Oracle Server,修改视图,使用CREATE OR REPLACE VIEW 子句修改视图CREATE VIEW

4、子句中各列的别名应和子查询中各列相对应,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.sal

5、ary),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 关键字ROWN

6、UM 伪列列的定义为表达式,视图中使用DML的规定,当视图定义中包含以下元素之一时不能使用insert:组函数GROUP BY 子句DISTINCT 关键字ROWNUM 伪列列的定义为表达式表中非空的列在视图定义中未包括,使用 WITH CHECK OPTION 子句确保DML只能在特定的范围内执行 任何违反WITH CHECK OPTION 约束的请求都会失败,CREATE OR REPLACE VIEW empvu20AS SELECT*FROM employees WHERE department_id=20 WITH CHECK OPTION CONSTRAINT empvu20_ck

7、;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.,删除

8、视图,删除视图只是删除视图的定义,并不会删除基表的数据,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 分析,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号