欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-11-25 22:54:56
pl/sql基础入门之视图和索引 pl/sql:过程语言(procedure language)和结构化语言(structured query language)结合而成的语言,...

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;