简单记录下Oracle序列、索引、同义词的相关知识。

一、常见的数据库对象

二、序列

序列: 可供多个用户用来产生唯一数值的数据库对象

自动提供唯一的数值

共享对象

主要用于提供主键值

将序列值装入内存可以提高访问效率

①、创建序列

CREATE SEQUENCE sequence

[INCREMENT BY n]  --每次增长的数值

[START WITH n]    --从哪个值开始

[{MAXVALUE n | NOMAXVALUE}]

[{MINVALUE n | NOMINVALUE}]

[{CYCLE | NOCYCLE}]    --是否需要循环

[{CACHE n | NOCACHE}];  --是否缓存登录

CREATE SEQUENCE dept_deptid_seq

INCREMENT BY 1

START WITH 1

MAXVALUE 9999

NOCACHE

NOCYCLE

INSERT INTO departments(department_id, department_name, location_id)

VALUES (dept_deptid_seq.NEXTVAL, 'Support', 2500);

②、NEXTVAL 和 CURRVAL 伪列

NEXTVAL 返回序列中下一个有效的值,任何用户都可以引用

CURRVAL 中存放序列的当前值

CURRVAL  应在 NEXTVAL之后指定 ,否则会报CURRVAL 尚未在此会话中定义的错误。

③、数据字典USER_SEQUENCES

SELECT    sequence_name, min_value, max_value,

increment_by, last_number

FROM    user_sequences;

查询数据字典视图 USER_SEQUENCES 获取序列定义信息

如果指定NOCACHE 选项,则列LAST_NUMBER 显示序列中下一个有效的值

④、使用序列

1、将序列值装入内存可提高访问效率

2、序列在下列情况下出现裂缝:

回滚

系统异常

多个表同时使用同一序列

3、如果不将序列的值装入内存(NOCACHE), 可使用表 USER_SEQUENCES 查看序列当前的有效值

⑤、修改序列

ALTER SEQUENCE dept_deptid_seq

INCREMENT BY 20

MAXVALUE 999999

NOCACHE

NOCYCLE;

⑥、修改序列的注意事项

必须是序列的拥有者或对序列有 ALTER 权限

只有将来的序列值会被改变

改变序列的初始值只能通过删除序列之后重建序列的方法实现

⑦、删除序列

使用 DROP SEQUENCE 语句删除序列

删除之后,序列不能再次被引用

DROP SEQUENCE dept_deptid_seq;

Sequence dropped.

三、索引

一种独立于表的模式对象, 可以存储在与表不同的磁盘或表空间中

索引被删除或损坏, 不会对表产生影响, 其影响的只是查询的速度

索引一旦建立, Oracle 管理系统会对其进行自动维护, 而且由 Oracle 管理系统决定何时使用索引。用户不用在查询语句中指定使用哪个索引

在删除一个表时,所有基于该表的索引会自动被删除

通过指针加速 Oracle 服务器的查询速度

通过快速定位数据的方法,减少磁盘 I/O

①、创建索引

自动创建: 在定义 PRIMARY KEY 或 UNIQUE 约束后系统自动在相应的列上创建唯一性索引

手动创建: 用户可以在其它列上创建非唯一的索引,以加速查询

在一个或多个列上创建索引

CREATE INDEX index

ON table (column[, column]...);

在表 EMPLOYEES的列 LAST_NAME 上创建索引

CREATE INDEX emp_last_name_idx ON employees(last_name);

Index created.

②、查询索引

可以使用数据字典视图 USER_INDEXES 和 USER_IND_COLUMNS 查看索引的信息

SELECT    ic.index_name, ic.column_name,

ic.column_position col_pos,ix.uniqueness

FROM    user_indexes ix, user_ind_columns ic

WHERE    ic.index_name = ix.index_name

AND    ic.table_name = 'EMPLOYEES';

四、同义词-synonym

CREATE SYNONYM e FOR employees;

select * from e;

为视图DEPT_SUM_VU 创建同义词

CREATE SYNONYM  d_sum

FOR  dept_sum_vu;

Synonym Created.

删除同义词

DROP SYNONYM d_sum;

Synonym dropped.

oracle索引和同义词,关于Oracle序列、索引、同义词相关推荐

  1. 【数据库2】生成txt/xml文件,ftp,oracle安装/表操作/虚表/日期/序列/索引/视图/链路/同义词/高可用性,mysql/文件入库/清理/表结构设计/交换/收集

    文章目录 1.生成数据:crontab 2.ftp:ftp是tcp/ip协议族中一员,分客户端和服务端 2.1 安装:linux操作系统的用户也是ftp的用户,可以配置专用的ftp用户,专用的ftp用 ...

  2. Oracle其它数据库对象:视图、序列、同义词

    SQL> --视图: 由一个或者多个表组成的逻辑表 SQL> -创建一个视图,包含了10,20的员工信息 SQL> --创建一个视图,包含了10,20的员工信息 SQL> ed ...

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

    Oracle数据库总结: Oracle数据库之集合运算 Oracle数据库之数据处理 Oracle数据库之建表和管理表 Oracle数据库之对象视图.索引.序列.同义词 视图: 语法: create ...

  4. Oracle(三):视图、序列、同义词、索引

    一.视图 (一)什么是视图 视图是一种数据库对象,是从一个或者多个数据表或视图中导出的虚表,视图所对应的数据并不真正地存储在视图中,而是存储在所引用的数据表中,视图的结构和数据是对数据表进行查询的果. ...

  5. 详解:Oracle 数据库空间表、自定义用户、权限管理、序列、同义词、索引

    一:数据库空间表 表空间是数据库逻辑结构的一个重要组件,可以存放各种应用对象,如表.索引.每一个表空间由一个或多个数据文件组成. 表空间分类: 1.永久性表空间 一般保存表.视图.过程和索引等的数据. ...

  6. Oracle数据库的视图、物化视图、序列、同义词、索引

    Oracle数据库对象 视图 物化视图 序列 同义词 索引 注:以下数据库对象中, 物化视图.序列.同义词为Oracle数据库特有 视图 含义:视图是一种数据库对象,是从一个或者多个数据表或视图中导出 ...

  7. oracle 视图、索引、序列、同义词

    目录 1.视图对象 1.1创建视图 1)简单视图 2)建立只读视图 3)复杂视图 1.2管理视图 1)查看视图定义 2)修改视图定义 3)重新编译视图 4)删除视图 2.索引 2.1索引概述 2.2创 ...

  8. Oracle索引、视图、序列、同义词、事务、锁机制详解

    索引 什么是索引? -- 索引就类似于书的目录,根据目录查询内容会快很多,提高数据查询效率 创建索引有俩种方式 1.Oracle会自动为主键和唯一键创建索引 2.手动创建约束. 那么表中什么样的字段应 ...

  9. Oracle学习(五) --- 视图、序列、同义词、索引

    1.视图 1.1.什么是视图 视图是从基表中导出的逻辑表,它不像基表一样物理地储存在数据库中,视图没有自己独立的数据实体.一个视图的存在反映在数据字典中具有相应的登记项.视图一旦被建立,即可在其上进行 ...

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

    1.    oracle介绍 ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的 ...

最新文章

  1. 剑指offer:二叉树镜像
  2. vs2k5 notes
  3. 微服务可靠性设计--转
  4. 计算机指令执行与时序逻辑,时序逻辑系统
  5. 书本练习题7print函数使用
  6. 阿里云开源编程马拉松入围项目
  7. Linux学习笔记017---文件解压命令的使用_压缩解压
  8. linux 目录与分区与文件,LINUX中的分区与文件系统
  9. Improper inline parameter map format. Should be: #{propName,attr1=val1,attr2=val2}
  10. LabView-之1: 串口驱动
  11. Python软件无线电(1):概述
  12. BCH采用大爆发,支付理念深入人心
  13. 人工智能专业保研面试如何准备?
  14. 我为你写下悲伤的文字:伤感心情随笔
  15. 截屏 远程协助 android,ARDC Android 远程桌面助手 录屏 演示 MD
  16. Appium学习:雷电模拟器的使用
  17. 虚幻行为树EQS(环境查询)
  18. c代码实现 ifft运算_X^n+1=0上的FFT和IFFT(基2)——C语言实现
  19. 同时拥有多个子域名和主域名?推荐申请GlobalSign SANs SSL证书
  20. SpringMVC简介及第一个MVC程序

热门文章

  1. 几种内表更新方式的性能比较
  2. 交易性金融资产的账务处理实例
  3. SD--关于价格过程的确定
  4. ABAP日期函数应用
  5. 注定一爆就完的ZAO ,为什么只是一剂社交毒药?
  6. matlab eeg信号处理,EEG数据信号的Matlab滤波仿真设计分析研究
  7. php 数组转为json,php怎么将数组数组转化为json格式的数据 ?
  8. idea创建包怎么让包分层_干货 | 通勤包怎么选?我推荐这6只
  9. 字符串缓冲区太小怎么解决_epoll的两种模式 ET和LT printf的缓冲区问题 边缘非阻塞模式...
  10. ffmpeg库编译加文字_ffmpeg第三方库编译记录