首页 > 代码库 > Oracle实践--PL/SQL基础之视图和索引

Oracle实践--PL/SQL基础之视图和索引

PL/SQL基础入门之视图和索引


        PL/SQL:过程语言(Procedure  Language)和结构化语言(Structured Query Language)结合而成的编程语言,是对SQL的扩展,支持多种数据类型,如大对象和集合类型,可使用条件和循环等控制语句,可创建存储过程,程序包和触发器等,给sql语句的执行添加程序逻辑,与Oracle服务器和Oracle工具紧密集成,具有可移植性,灵活性和安全性。

-----------------------------------------------------------------------------------------------------

视图:

/*

 视图:经过以制定的方式显示来自一个或多个表的数据

       可以视为"虚拟表""存储的查询"

       创建视图所依据的表为基表

 优点:1.提供了另外一种级别的安全性;

       2.隐藏数据的复杂性;

       3.简化用户的sql语句;

       4.隔离基表的变化

       5.通过重命名列,从另外一个角度提供对数据的访问。

*/

--穿件视图,关键字view as

create or replace view emp_view  -- 要有创建view的权限
as
 select  ename,sal,dname from emp,dept where emp.deptno = dept.deptno;

--从视图中查询

select * from emp_view;

--删除视图

drop view emp_view;

/*

  连接视图查询与多表连接查询相似,因为可以将视图当做虚拟表,只是有一些限制:

   1.只能修改一个底层的基表

   2.如果修改违反了基表的约束条件,则无法更新视图

   3.如果视图包含连接操作符、DISTINCT关键字、集合操作符、聚合函数或 GROUP BY子句,则将无法更新视图

   4.如果视图包含伪列或表达式,则将无法更新视图

*/

-----------------------------------------------------------------------------------------------------------------

索引:

/*

 索引:索引是与表相关的一个可选结构

 创建索引的优点:1.减少磁盘的I/O

                 2.能提高查询语句的执行能力

 注意:建立不必要的索引会造成写入数据的性能开销以及磁盘空间的浪费

*/

-- 1.创建标准索引

create index emp_index on emp(ename);-- 注意不能用or replace
alter index emp_index rebuild;--重构索引
drop index emp_index;--删除索引

--创建唯一索引

create unique index dept_uniqueIndex on dept(dname);
drop unique index dept_uniqueIndex;

文章来源:http://blog.csdn.net/ysjian_pingcx/article/details/25646251