视图与索引
1. 视图
视图就是一个提供查询的窗口,相当于一张临时的表,所有的数据来源于原表。当原表数据改变时,视图中的数据会进行相应的改变。
注意:
创建视图需要管理员的权限。
视图不会提高任何效率,不占用空间。
不是所有的视图都可以进行更改,如使用的聚合函数或分组而来的视图。
--创建视图 as后查询图中需要显示的数据,可以是连接查询、子查询等
create [or replace] view 名 as select * from emp;
--多表查询
create view v_emp2
as select empno,ename,e.deptno,dname
from scott.emp e,scott.dept d where e.deptno=d.deptno;
--不建议修改视图数据,***修改视图数据需要commit,原表中的数据也会修改***
update v_emp set job='CLERK' where ename='ALLEN';
commit;
-- 创建只读视图
create view v_emp as select * from emp with read only;
-- 查看所有视图
select * from dba_views [where owner='用户名'];
作用:
- 控制数据的访问,简化查询,避免访问重复数据;
- 保证数据的统一;
- 用户只能通过视图检索数据,看不到底层基表。 </