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;
(0)
上一篇 2022年3月22日
下一篇 2022年3月22日

相关推荐