Oracle 视图索引

Oracle 视图索引第五章视图索引的操作5.1视图的功能一个视图实际上就是封装了一条复杂的查询语句注:为了在当前用户模式中创建视图,要求数据库用户必须有createanyview(创建任何视图)的权限。5.2创建视图的语法create[orreplace]view视图名称as查询语句例:建立一个视图,包含全部部门编号为20的部门的雇员信息(雇员编号,姓名,工作,部门编号)createview…

大家好,又见面了,我是你们的朋友全栈君。

第五章 视图索引的操作

5.1 视图的功能

一个视图实际上就是封装了一条复杂的查询语句

注:为了在当前用户模式中创建视图,要求数据库用户必须有create any view(创建任何视图)的权限

Oracle 视图索引

5.2 创建视图的语法

create [or replace] view 视图名称 as 查询语句

例:建立一个视图,包含全部部门编号为20的部门的雇员信息(雇员编号,姓名,工作,部门编号)

create view emp_view as select empno,ename,job,deptno

from emp where deptno=20;

试图创建完成之后,就可以像查找表那样直接对视图进行查询的操作

Oracle 视图索引

5.3 查询视图

select * from emp_view;

 Oracle 视图索引

此时,是通过试图找到的20部门的所有数据,也就是发现,可以使用视图包装需要的查询语句。

例:向emp_view视图中插入一条数据

Oracle 视图索引

5.4 更新视图信息

例:修改视图中的9527的部门编号

update emp_view set ename=’西方’ where emono=9527;

 Oracle 视图索引

5.5 删除视图中的信息

delete from 视图名字 [where 条件]

例:删除9527的信息   delete fromemp_view where empno=9527;

 Oracle 视图索引

5.6 建立只读视图

with read only:创建的视图只读

定义只读视图后,数据库用户只能在该视图上执行select语句。

例:创建只能读的视图  

create or replace view VIEW_EMP_READONLY

as select * from dept where deptno!=88 with read only;

 Oracle 视图索引

例:更新视图中所有部门位置为‘长春’的记录(选择非只读视图)

update VIEW_EMP_READONLY set loc=’长春’;

5.7 复杂视图

复杂视图是指包含函数,表达式,分组数据的视图,主要目的是为了简化操作,需要注意的是,当视图的查询包含函数或者表达式的时候,必须定义别名。

例:创建一个视图,要求查询每个部门的工资情况(最高,最低,平均)

create or replace view emp_view_complex

as 

select deptno 部门编号,max(sal) 最高工资,min(sal) 最低工资,avg(sal) 平均工资

from emp

group by deptno;

select * from emp_view_complex group by 部门编号;

Oracle 视图索引

5.8 连接视图

连接视图基于多个表所建立的视图,使用连接视图的主要目的是为了简化连接插叙

注:建立连接视图时,必须使用where子句中指定有效的连接条件

例:创建一个deptemp表相互关联的视图,并要求该视图只能查询部门编号为20的记录信息。

create or replace view emp_view_union

as

select dept.deptno,dname,emp.ename,sal

from dept,emp

where dept.deptno=emp.deptno

and dept.deptno=20;

Oracle 视图索引

5.9 删除视图

格式:drop view 视图名称

例:删除视图emp_view_union   drop view emp_view_union;

Oracle 视图索引

5.10 索引概述

若一个表存在海量的数据记录,当对表执行指定条件查询的时候,常规的查询方法是将所有记录全部读取出来,然后把读取的每条记录与查询条件进行对比,最后返回满足条件的结果。这样进行的操作时间的开销和I/O开销很大,此时,可以考虑通过建立索引来减小系统开销。

若要在表中查询指定的记录,在没有索引的情况下,必须遍历整个表,而有了索引之后,只需要在索引中查询条件的索引字段值,就可以通过保存在索引中的rowid(系统为每个记录分配的物理地址)快速找到表中对应的记录

若将表看成一本书,索引的作用就是目录。在没有目录的情况下,要找到指定的内容就必须阅读全书,有了目录,就能通过目录快速找到知识点。

5.11 创建索引

建立索引的语法:create index语句

注:在创建索引时,要求用户具有create any index系统权限,若无此权限先授权。

Grant create any index to scott;

例:在scott模式下,为emp表的deptno列创建索引。

create index emp_deptno_index on emp(deptno);

Oracle 视图索引

复合索引基于两个列或多个列的索引在同一张表上可以有多个索引,但是要求列的组合必须不同。如:

create index emp_idx1 on emp(ename,job);

create index emp_idx2 on emp(job,ename);

 Oracle 视图索引

Oracle 视图索引

5.12 删除索引

格式:drop index 索引名称

注:需要有drop any index权限

例:删除索引emp_deptno_index    drop index emp_deptno_index;

 Oracle 视图索引

5.13 索引有一些先天不足

1.系统需占用大约为表1.2倍的硬盘和内存空间来保存索引。(占用内存空间

2.更新数据时,系统需有额外的时间来同时对索引进行更新,维持数据和索引的一致性。(除了查询操作,其他都慢

因此,不恰当的索引不但于事无补,反而会降低系统性能。因为大量的索引在进行插入,修改和删除操作时比没有索引花费更多的系统时间。

修改用户的密码:alter user 用户名 identified by 密码;

例:将scott的用户密码修改为hello    alter user scott identified by hello; 

Oracle 视图索引
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/163022.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月22日 下午5:36
下一篇 2022年7月22日 下午5:36


相关推荐

  • 失而复得的爱情「建议收藏」

    失而复得的爱情「建议收藏」 那年夏天,长江边,夕阳还有一点点余辉,欢快的蛐蛐叫个不停。他和她坐在江边的石阶上,凝视波浪起伏的江面,任晚风吹乱本已理不清的思绪。  父母的叮咛始终绕在他的耳畔:“到大学要好好学习,你是我们的骄傲。”他不想因为谈恋爱而影响学习,让父母失望。虽然,她曾为他付出了很多,同时,他也恨自己,为什么当初要接受她?而她也知道他要对她说什么。  江水是浑浊的,心是沉重的。  风起了,江里的浪一浪高过一浪,气温

    2026年1月16日
    4
  • mysql 添加用户

    mysql 添加用户

    2021年5月5日
    129
  • docker mysql 蜂巢_在网易蜂巢中创建和管理Docker容器的教程

    docker mysql 蜂巢_在网易蜂巢中创建和管理Docker容器的教程创建容器点击左侧的导航菜单 容器管理 进入容器管理列表页 通过点击容器列表左上角的 创建容器 按钮可进入创建容器页面 如下图所示 其中带 为必填项 选择镜像可选择的镜像分为 我的镜像 和 官方镜像 我的镜像我的镜像中为用户自定义的镜像以及在蜂巢镜像中心收藏的镜像 如下图所示 其中 收藏的镜像会在镜像右上角用星号标记 注意 默认显示的镜像数量有限 你可以点击右上角 全部显示 查看所有镜像 官

    2026年3月18日
    2
  • 在互联网上,没有人知道你是一条狗?「建议收藏」

    在互联网上,没有人知道你是一条狗?「建议收藏」1993年,《纽约客》(TheNewYorker)杂志刊登一则由彼得·施泰纳(PeterSteiner)创作的漫画:标题是【OntheInternet,nobodyknowsyou’readog.】这则漫画中有两只狗:一只黑狗站在电脑椅上,爪子扶着键盘。它望向站在地上、表情迷茫的另一只狗,兴奋地说:「在互联网上,没人知道你是一条狗。(OntheInternet,nobodyknowsyou’readog.)画中那只狗的台词随即成了IT界广为流传的经典笑话。那个

    2022年5月14日
    113
  • js 数组转JSON树

    js 数组转JSON树varnodes id 2 title 第一级 1 parentid 0 id 3 title 第二级 1 parentid 2 id 4 title 第二级 2 parentid

    2026年3月18日
    2
  • 视觉定位方式[通俗易懂]

    视觉定位方式[通俗易懂]2019.11.28-中科院自动化所-辛喆-中长期视觉位置识别及重定位:https://www.bilibili.com/video/BV1cJ411i7QG

    2022年6月29日
    30

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号