版权声明:本文为博主原创文章。未经博主同意不得转载。 https://blog.csdn.net/Topyuluo/article/details/24232449

数据库的对象包含:表、视图、序列、索引和同义词。在前面的笔记中陆续学习了表和视图,那么本次笔记将学习剩

下的数据库对象,即:序列、索引和同义词。

序列:提供有规律的数值。可供多个用户用来产生唯一数值的数据库对象,主要用来提供主键的值。

索引:提高查询的效率。

同义词:给对象起别名。

在MYSQL 和 SQL SERVER 数据库中。主键的值都是设置为自己主动增长的,这样在插入数据的时候。便不须要再显示

的指明数据的值。

假设也想要在Oracle中也完毕自己主动增长的更能,则要依靠序列来实现。

创建语法格式:

CREATE SEQUENCE sequence
       [INCREMENT BY n]  --每次增长的数值
       [START WITH n]    --从哪个值開始
       [{MAXVALUE n | NOMAXVALUE}]
       [{MINVALUE n | NOMINVALUE}]
       [{CYCLE | NOCYCLE}]     --是否须要循环
       [{CACHEn | NOCACHE}];  --是否缓存登录

例:创建序列

create  sequence empseq
increment by 1 --每次增长1个数
start with 1  --从十開始增长
nomaxvalue    --没有最大值。无限制增长
cycle  --须要循环
nocache --不须要缓存

序列创建之后,全部的自己主动增长应该由用户自己处理,序列提供了以下的两种操作:

nextVal:取得序列的下一个内容。

currVal:取得序列当前的内容。

注意:在使用currVal之前,应该先运行nextVal。否则回报currVal尚未在会话中定义的错误。

在创建empseq的时候。设置增长的速度为1。能够通过改变increment by 后面的数值来设置添加的速度。如能够设置为10 。20。可是主键的增长速度一般设置为1。

默认情况下序列的起始值为1,能够通过start with n来设置用户须要的数值。

例:使用序列

insert into emp(empno  , ename  ,sal ) values(empseq.nextVal ,'lisi'  , '8000' ) ;

使用empseq.nextVal 取代了原先须要手动设置的值。提高了效率。

注意:一下情况easy产生序列的裂缝。

系统回滚操作、系统异常错误、多个表同一时候訪问一个序列。

改动序列

改动序列使用alterkeyword,语法格式例如以下:

ALTER SEQUENCE seq_name

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

       [{MAXVALUE n | NOMAXVALUE}]
       [{MINVALUE n | NOMINVALUE}]
       [{CYCLE | NOCYCLE}]     --是否须要循环
       [{CACHEn | NOCACHE}]; 

 仅仅有序列的拥有者才干改动序列,序列改动后影响的是将来的数据。曾经的数据不会受影响,序列的起始值仅仅能通过删除再重建序列的方式改动。

删除序列

语法格式:

Drop  sequence  seq_name ;

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

索引

一种独立于表的模式对象, 能够存储在与表不同的磁盘或表空间中
索引被删除或损坏, 不会对表产生影响, 其影响的仅仅是查询的速度
索引一旦建立, Oracle 管理系统会对其进行自己主动维护, 并且由 Oracle 管理系统决定何时使用索引。

用户不用在查询语句中指定使用哪个索引

在删除一个表时,全部基于该表的索引会自己主动被删除
通过指针加速 Oracle server的查询速度
通过高速定位数据的方法,降低磁盘 I/O

创建语法:

CREATE INDEX index
ON table (column[, column]...);

删除索引

DROP INDEX  index_name ; 删除索引语句。该操作不可回滚。

同义词-synonym

在创建查询的时候,有的表名字比較的长。这是能够给表起一个同义词,来缩短表的名字

CREATE SYNONYM e FOR employees;
给表employees创建了一个同义词e 。 
运行select * from e;语句的查询结果和运行select * from employees的结果是一样的。

 

删除同义词

DROP SYNONYM syn_name ;

 

 

Oracle 学习笔记 12 -- 序列、索引、同义词的更多相关文章

  1. 【Oracle学习笔记】序列

    Oracle提供了sequence对象,由系统提供自增长的序列号,通常用于生成数据库数据记录的自增长主键或序号的地方,一般结合触发器使用. Sequence是数据库系统的特性,有的数据库有Sequen ...

  2. SQL反模式学习笔记12 存储图片或其他多媒体大文件

    目标:存储图片或其他多媒体大文件 反模式:图片存储在数据库外的文件系统中,数据库表中存储文件的对应的路径和名称. 缺点:     1.文件不支持Delete操作.使用SQL语句删除一条记录时,对应的文 ...

  3. Oracle学习笔记之四sp1,Oracle 11g的常用函数

    从Oracle学习笔记之四,SQL语言入门中摘出来的,独立成一章节 3.1 字符类函数 ASCII(c)和CHR(i)    分别用于返回一个字符的ASCII码和返回给定ASCII值所对应的字符. C ...

  4. Oracle学习笔记—数据字典和常用命令(转载)

    转载自: oracle常用数据字典和SQL语句总结 Oracle常用命令大全(很有用,做笔记) 一.Oracle数据字典 数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的.比如一 ...

  5. Oracle学习笔记三 SQL命令

    SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  

  6. SQL反模式学习笔记13 使用索引

    目标:优化性能 改善性能最好的技术就是在数据库中合理地使用索引.  索引也是数据结构,它能使数据库将指定列中的某个值快速定位在相应的行. 反模式:无规划的使用索引 1.不使用索引或索引不足 2.使用了 ...

  7. matlab学习笔记12单元数组和元胞数组 cell,celldisp,iscell,isa,deal,cellfun,num2cell,size

    一起来学matlab-matlab学习笔记12 12_1 单元数组和元胞数组 cell array --cell,celldisp,iscell,isa,deal,cellfun,num2cell,s ...

  8. Ext.Net学习笔记12:Ext.Net GridPanel Filter用法

    Ext.Net学习笔记12:Ext.Net GridPanel Filter用法 Ext.Net GridPanel的用法在上一篇中已经介绍过,这篇笔记讲介绍Filter的用法. Filter是用来过 ...

  9. Mysql数据库学习笔记之数据库索引(index)

    什么是索引: SQL索引有两种,聚集索引和非聚集索引,索引主要目的是提高了SQL Server系统的性能,加快数据的查询速度与减少系统的响应时间. 聚集索引:该索引中键值的逻辑顺序决定了表中相应行的物 ...

随机推荐

  1. SpringMVC 之类型转换Converter 源代码分析

    SpringMVC 之类型转换Converter 源代码分析 最近研究SpringMVC的类型转换器,在以往我们需要 SpringMVC 为我们自动进行类型转换的时候都是用的PropertyEdito ...

  2. jQuery——实现弹窗

    window.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:/ ...

  3. setTranslatesAutoresizingMaskIntoConstraints和setFrame组合使用导致的异常

    在用Ojbect-c开发OSX应用的时候需要用到自定义控件并用代码进行布局,很自然地就使用了setTranslatesAutoresizingMaskIntoConstraints和setFrame组 ...

  4. js实现置顶

    //-----------点击事件--------------- onclick="Topfun()" //-----------js代码--------------- <s ...

  5. 02 观察 mysql 周期性变化

    ()首先写一个shell 脚本 vim mysql_status.sh 脚本如下: #!bin/bash while true do mysqladmin -urooy ext|awk '/Queri ...

  6. 002杰信-陌生的maven-web项目整改成我们熟悉的Web架构;classpath的含义;ssm框架的整合;junit测试

    这篇博客的资源来源于创智播客,先在此申明.这篇博客的出发点是jk项目,传智的做法是Maven的web模板生成的,但是这样子的结构目录与我们熟知的Web项目的结构目录相差很大,所以要按照我们熟知的项目结 ...

  7. 深入理解Mybatis中sqlSessionFactory机制原理

    对于任何框架而言,在使用前都要进行一系列的初始化,MyBatis也不例外.本章将通过以下几点详细介绍MyBatis的初始化过程. 1.MyBatis的初始化做了什么 2. MyBatis基于XML配置 ...

  8. Angular2 组件与模板 -- 输入和输出属性

    Input and Output properties 输入属性是一个带有@Input 装饰器的可设置属性,当它通过属性绑定的形式被绑定时,值会"流入"到这个属性. 输出属性是一个 ...

  9. 编程之美 set 14 小飞的电梯调度算法

    题目 电梯每次上升只停一次, 求问电梯停在哪一楼能够保证乘坐电梯的所有乘客爬楼层的层数之和最小 思路 假设电梯的层数是 m, 乘客人数是 n 1. 枚举, 时间复杂度是 o(mn) 2. 滚动解法. ...

  10. 编程之美 set 6 寻找最近点对

    这道题在算法课上当做例题讲过, 当时的印象也比较深 另有一道近似算法的题也在算法课上讲过, 并且印象更深, 复习的时候完全没管, 以为志在必得, 结果真考了那道近似算法, 我却没能打出来 为避免阴沟翻 ...