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

来源:互联网 发布:js中小于等于 编辑:程序博客网 时间:2024/05/22 14:57
--序列介绍
   自动生成的唯一序列号;是可共享的对象;通常用来创建主键值;对序列进行缓存,可以加速访问序列.
--创建序列,成功后可在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;
0 0
原创粉丝点击