oracle 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;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PL/SQL(Procedural Language/Structured Query Language)是一种过程化的编程语言,用于编写 Oracle 数据库的存储过程、触发器、函数和包等。它是在 SQL 基础上扩展而来的,可以在 SQL 语句嵌入编程逻辑和控制结构。 SQL(Structured Query Language)是用于管理关系型数据库的标准查询语言。它用于从数据库检索、插入、更新和删除数据,以及定义和管理数据库对象(如表、视图索引等)。 区别如下: 1. 语法结构:PL/SQL 是一种完整的编程语言,具有变量、条件语句、循环语句等程序语言的特性,而 SQL 是一种声明式语言,用于描述要执行的操作。 2. 功能:PL/SQL 除了能执行 SQL 语句外,还可以实现复杂的业务逻辑,支持变量声明、流程控制、异常处理等。SQL 主要用于数据查询和操作。 3. 可读性和维护性:由于 PL/SQL 具有更强大的编程功能,可以更好地组织和封装代码,使代码可读性和维护性更好。而 SQL 通常是单条语句的简单查询,较难组织复杂的逻辑。 4. 执行方式:PL/SQL 是通过调用存储过程或函数来执行,可以在数据库存储和重复使用。SQL 通常是交互式地在数据库执行。 总的来说,PL/SQL 是在 SQL 基础上扩展而来的编程语言,用于实现更复杂的业务逻辑和数据处理操作,而 SQL 则是一种查询语言,主要用于数据的检索和操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值