Oracle数据库对象(视图、序列、索引、同义词)

1、视图

视图是一张虚表(是表但是没有数据,数据来自于视图所依赖的表)

(1)先为用户授权:

管理员登录:

管理员授权给用户SCOTT:

(2)视图的创建:

(3)优点:简化查询,有的时候只需查询视图即可,不需要再写复杂的查询语句来查询数据。

(4)删除视图:

drop view 视图名称;

只是删除视图,不会删除表中的数据。

2、序列

序列的功能和auto_increment的功能相同,主要用于提供主键的值,序列输一个数组,存储在内存中,可以提高访问效率。

(1)序列的定义:

CREATE SEQUENCE sequence //创建序列名称
[INCREMENT BY n] //递增的序列值是 n 如果 n 是正数就递增,如果是负数就递减 默认是 1(步长)
[START WITH n] //开始的值,递增默认是 minvalue 递减是 maxvalue(数组的第一个值)
[{MAXVALUE n | NOMAXVALUE}] //最大值  +
[{MINVALUE n | NOMINVALUE}] //最小值
[{CYCLE | NOCYCLE}] //循环/不循环
[{CACHE n | NOCACHE}];//分配并存入到内存中

序列创建完成后,所有的自动增长应该由用户自己处理,存在以下两种操作:

nextval:序列的下一个内容
currval:序列的当前值

创建序列:

查看数值:

3、索引

索引用于加速数据存取的数据对象,合理地使用索引可以大大降低IO次数,从而提高数据访问的性能。

(1)索引原理:

将无序的记录通过建立索引变成了有序的索引表,通过索引表查询员工将加速查询。

(1)未建立索引:

生成执行计划:

查看执行计划:

(2)建立索引

产看执行计划:

通过占用CPU的对比可以看出建立索引后占用CPU减少(6<5)

(3)多级索引

(4)Oracle中的索引类型

B树索引(默认)

位图索引

(5)不适合建立索引的情况

表很小

列经常作为连接条件或WHERE字句中

查询的数据大于百分之2-4

表经常被更新

4、同义词

就是一个别名(表、视图、触发器)

(1)查看当前用户:在当前用户下不能访问其他用户下的表

(2)授予SCOTT用户权限:

能够访问其它用户下的表:

(3)为hr用户下的employees表取别名:

该同义词为私有,只能SCOTT用户使用。

原文地址:https://www.cnblogs.com/zhai1997/p/12363711.html

时间: 2024-10-09 00:15:11

Oracle数据库对象(视图、序列、索引、同义词)的相关文章

Oracle数据库对象_序列

序列是一种数据库对象,用来自动产生一组唯一的序号. 序列是一种共享式的对象,多个用户可以共同使用序列中的序号.一般将序列应用于表的主键列,这样当向表中插入数据时,主键列就使用了序列中的序号,从而保证主键列的值不会重复.用这种方式可以代替在应用程序中产生主键值的方法,可以获得更可靠的主键值.注:在序列指定最大值和可循环属性后,序列中的序号是可以循环使用的. 序列的创建.修改和删除 默认情况下,用户可以在自己的模式中创建序列.如果希望在其他用户的模式中创建序列,则必须具有CREATE ANY SEQ

Oracle组函数、多表查询、集合运算、数据库对象(序列、视图、约束、索引、同义词)等

count组函数:(过滤掉空的字段) select count(address),count(*) from b_user max() avg() min(),sum() select sum(age),max(age),min(age),avg(nvl(age,0)) from b_user 1       260     70      10      37.1428571428571 group by:如果前面定义了该字段名  则groupby必须也写上该字段 select name,pw

Oracle数据库对象,同义词、序列、视图、索引

数据库对象简介 Oracle 数据库对象又称模式对象 数据库对象是逻辑结构的集合,最基本的数据库对象是表 其他数据库对象包括: 同义词是现有对象的一个别名. 简化SQL语句 隐藏对象的名称和所有者 提供对对象的公共访问 同义词共有两种类型: CREATE USER test IDENTIFIED BY test; GRANT CONNECT , CREATE SYNONYM TO test; GRANT SELECT ON SCOTT.EMP TO test; GRANT DELETE ON S

Oracle数据库对象

Oracle数据库对象又称模式对象,它是逻辑结构的集合,其中最基本的数据库对象是表.常见的数据库对象包括同义词.序列.视图等. 1.视图 视图可以限制表中一组行为访问.隐藏了数据的复杂性.简化了用户的sql.基表定义修改隔离.通过重命名列从另一个角度提供了数据. 2.触发器(Trigger) 如果想对视图进行增删改,就可以使用触发器. 3.数据字典 oracle中分为了静态数据字典和动态数据字典. 静态数据字典: dba_*** :查看所有的用户表 all_*** :查看该用户下能看到的所有表

Oracle数据库对象查询是否被锁定及解锁

Oracle数据库对象是否被锁定查询SQL及解锁过程SQL详见下面: --查询当前用户下被锁的对象SELECT B.OBJECT_NAME, B.OWNER, C.SID,C.SERIAL#,C.OSUSER, C.MACHINE, C.TERMINAL  FROM V$LOCKED_OBJECT A, DBA_OBJECTS B, V$SESSION C WHERE A.OBJECT_ID = B.OBJECT_ID   AND A.SESSION_ID = C.SID   AND c.STA

ORACLE数据库中创建、删除--同义词、视图、索引、序列

select * from emp; create synonym emp_ny for emp; create public synonym pub_emp_ny for employees;--创建公有同义词 DROP SYNONYM EMP_NY;--删除同义词 DROP PUBLIC SYNONYM PUB_EMP_NY;--删除公有同义词 查看已有同义词 SELECT * FROM SYS.ALL_SYNONYMS WHERE table_name='DIC_TRIPMODE'; CR

数据库 day60,61 Oracle入门,单行函数,多表查询,子查询,事物处理,约束,rownum分页,视图,序列,索引

1.    oracle介绍 ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一.比如SilverStream就是基于数据库的一种中间件.ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能:作为一个关系数据库,它是一个完备关系的产品:作为分布式数据库它实现了分布式处理功能.但它的所有知识,只要在一种机型上学习

Oracle数据库对象_同义词

同义词是一种数据库对象,它是为一个数据库对象定义的别名,使用同义词的主要目的是为了简化SQL语句的书写. 同义词的概念和类型 利用同义词可以为用户的一个对象,或者其他用户的一个对象定义别名,从而简化命令或程序的书写,在命令或程序中可以直接使用同义词代替原来的对象. 可以为表.视图.存储程序.序列等对象建立同义词,也可以为一个同义词再建立同义词,甚至可以为一个不存在的对象建立同义词,系统仅仅在使用同义词时才验证它所代表的对象是否存在.同义词本身并不包含原对象中的数据或代码,它的作用仅仅相当于一个指

Oracle数据库对象_索引

查询是在表上进行的最频繁的访问. 在查询数据时,很少有用户愿意查询表中的所有数据,除非要对整个表进行处理.一般情况下用户总是查询表中的一部分数据. 在SELECT语句中,通常需要通过WHERE子句指定查询条件,以获得满足该条件的所有数据.如果能够在很小的范围内查询需要的数据,而不是在全表范围内查询,那么将减少很多不必要的磁盘1/0 ,查询的速度无疑会大大加快.提供这种快速查询的方法就是索引. 索引的基本概念 索引是一种建立在表上的数据库对象,它主要用于加快对表的查询操作. 合理使用索引可以大大减

Oracle数据库对象_视图

视图是一种非常重要的数据库对象,它的形式类似于普通表,我们可以从视图中查询数据. 实际上它是建立在表上的一种虚表,在视图中并不存储真正的数据,而是仅仅保存一条SELECT语句,对视图的访问将被转化为对表的访问. 视图所基于的表称为基表,而视图可以认为是对基表的一种查询操作. 使用视图的主要目的是为了方便用户访问基表,以及保证用户对基表的安全访问. 对用户而言,往往要对一个表进行大量的查询操作,如果查询操作比较复杂,并且需要频繁地进行,那么可以为这个查询定义一个视图. 需要注意的是,在视图中并不保