视图
1、什么是视图?
视图是一个虚拟的表,是一个表中的数据经过某种筛选后的显示方式,视图由一个预定义的查询select语句组成。
2、视图的特点。
视图中的数据并不属于视图本身,而是属于基本的表,对视图可以像表一样进行insert,update,delete操作。
视图不能被修改,表修改或者删除后应该删除视图再重建。
视图的数量没有限制,但是命名不能和视图以及表重复,具有唯一性。
视图可以被嵌套,一个视图中可以嵌套另一个视图。
视图不能索引,不能有相关联的触发器和默认值,sql server不能在视图后使用order by排序。
3、为什么要使用视图
①简化数据操作:视图可以简化用户处理数据的方式。
②着重于特定数据:不必要的数据或敏感数据可以不出现在视图中。
③视图提供了一个简单而有效的安全机制,可以定制不同用户对数据的访问权限。
④提供向后兼容性:视图使用户能够在表的架构更改时为表创建向后兼容接口。
⑤自定义数据:视图允许用户以不同方式查看数据。
⑥导出和导入数据:可使用视图将数据导出到其他应用程序。
通常情况下某些数据库表的数据是敏感的,不是每个用户都能进行访问,但某些用户需要读取某些表的部分数据,这时就可以定义指定条件的视图来限制用户只能访问其指定的列并提供一个视图接口进行访问,基于这样的原理也能大大简化查询语句编写以及复杂条件下的数据筛选;同时延伸出视图中套用视图,因为视图也是一个“表”所以视图中引用视图从而简化用户更复杂的数据筛选,用户只需要调用视图即可得到经过复杂运算后的数据,提高开发效率的同时提高数据安全性。
4、创建和使用视图
①创建视图:
create or replace view 视图名 as select……;
注:or replace:若所创建的试图已经存在,ORACLE自动重建该视图;
例:create view emp_view as select * from emp where salary>4000;
create or replace view emp_view as select * from emp where salary<4000;
②删除视图
drop view 视图名;
例:drop view emp_view;