您的位置:首页 > 数据库 > Oracle

Oracle基本操作七:序列,同义词,索引,视图

2017-05-08 21:39 351 查看
--序列介绍

   自动生成的唯一序列号;是可共享的对象;通常用来创建主键值;对序列进行缓存,可以加速访问序列.

--创建序列,成功后可在Oracle的Sequences下查看

create sequence seq_tb_clazz;

increment by n

start with n

maxvalue n|nomaxvalue

minvalue n|nominvalue

cycle |no cycle

cache n |nocache

--数据字典中查看序列:

select  sequence_name,min_value,max_value,increment_by,last_number from user_sequences;

--序列两属性及使用:至少执行nextval一次,currval才会有值;可以两个表用同一个sequence,但是建议一个表用一个sequence

nextval 返回序列的下一个可用的值

currval 获到当前的sequence值

select seq_tb_clazz.nextval from dual;

select seq_tb_clazz.currval from dual;

insert into tb_class(id,code) values (seq_tb_clazz.nextval,'J1202');

--同义词:同义字,即对象的别名,简化对象名

select * from scott.emp;

create synonym tb_emp for scott.emp;

select * from tb_emp;-- 等同于scott.emp

--索引

数据库对象;加快查询速度;快速定位数据,减少磁盘I/O;必须属于某个表,删除表时,索引也自动被删除

--创建索引

自动:表上定义primary key 或unique约束条件时,数据库会自动创建索引

手动:可以手动创建以加快查询

create index index_tb_student_name on tb_student(name)

--使用索引:只要条件中有使用是索引的字段,就会使用索引查询

select * from tb_student where name='jack'

--为什么使用索引会快

当建立索引时,oracle会在内存中建立一个索引页(有两个字段:索引字段和磁盘的地址),where条件会直接查磁盘的地址,而不通过全表扫描

--索引维护

where条件中有索引的字段才会使用索引;在经常查询的字段上带索引,不要所有字段都带索引;select多时或表字段少时,不用索引;由Oracle自动维护

--手动维护时:先删除再创建,以减少索引碎片

--视图作用:把常用的查询存起来

限制对数据的访问;简单化复杂的查询;提供数据独立性;实现对相同数据的不同显示

--创建简单视图:从单个表中查

create vi_emp as select ename 姓名,job 职位,sal 薪水,comm 资金 from scott.emp

--创建复杂视图:从多个表中查

--删除视图

drop view vi_emp;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐