欢迎来到天天文库
浏览记录
ID:52081994
大小:427.50 KB
页数:27页
时间:2020-03-31
《《序列索引同义词》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、十三.其它的数据库对象目标结束本节课后,应当达到如下目标:描述数据库对象和它们的用处创建、维护、使用序列创建和维护索引创建私有和公有的同义词数据库对象描述基本的数据库对象,由行和列组成逻辑上代表从一个或者多个表中取出的数据集产生主键的值提高某些查询的性能一个数据库对象的别名对象TableViewSequenceIndexSynonym什么是序列?自动产生唯一的数字是一个可以共享的数据库对象典型地用于产生数据库表中的主键值能够节省应用程序的代码当缓存在内存中时,能够提高存取的效率CREATESEQUENCE语句定义一个可以自动产生序列值的序列.CREATESEQU
2、ENCEsequence[INCREMENTBYn][STARTWITHn][{MAXVALUEn
3、NOMAXVALUE}][{MINVALUEn
4、NOMINVALUE}][{CYCLE
5、NOCYCLE}][{CACHEn
6、NOCACHE}];创建一个序列创建一个名称为DEPT_DEPTNO的序列值,以用于DEPT表.不要设置CYCLE选项.SQL>CREATESEQUENCEdept_deptno2INCREMENTBY13STARTWITH914MAXVALUE1005NOCACHE6NOCYCLE;Sequencecreated.NEXTVAL和CURRVA
7、L伪列NEXTVAL返回下一个可用的序列值.每访问一次,它将产生一个唯一的新值,即使对不同的用户,该值也是唯一的.CURRVAL返回当前的序列值.只有当NEXTVAL被访问之后,CURRVAL伪列才能包含一个值.NEXTVAL和CURRVAL伪列NEXTVAL返回下一个可用的序列值.每访问一次,它将产生一个唯一的新值,即使对不同的用户,该值也是唯一的.CURRVAL返回当前的序列值.只有当NEXTVAL被访问之后,CURRVAL伪列才能包含一个值.序列的使用向表中插入一个位于SANDIEGO,名为“MARKETING”的部门.浏览序列DEPT_DEPTNO的当前值
8、.SQL>INSERTINTOdept(deptno,dname,loc)2VALUES(dept_deptno.NEXTVAL,3'MARKETING','SANDIEGO');1rowcreated.SQL>SELECTdept_deptno.CURRVAL2FROMdual;使用序列将序列值缓存在内存中,使得这些值访问起来更快.如果发生下列情况,可能使得一个表中的序列值之间产生间隔,而不是连续的:回滚操作产生系统崩溃序列值同时也用于其它表如果一个序列是以NOCACHE选项建立的,那么可以通过查询USER_SEQUENCES表来查看下一个可用的序列值,而不会使
9、序列的当前值增加.修改一个序列可以更改序列的增量值、最大值、最小值、循环或者缓存选项。SQL>ALTERSEQUENCEdept_deptno2INCREMENTBY13MAXVALUE9999994NOCACHE5NOCYCLE;Sequencealtered.修改序列的指导必须是序列的拥有者,或者拥有序列的修改权限.只有将来会用到序列值会受到影响.只能重建序列,才能更改序列的STARTWITH选项.序列的修改可能会带来冲突,例如MAXVALUE如果小于当前值就会产生冲突.删除一个序列使用DROPSEQUENCE命令来删除一个数据字典中的序列.一旦序列被删除,那
10、么该序列就不可以访问了.SQL>DROPSEQUENCEdept_deptno;Sequencedropped.索引是什么?一个数据库模式对象Oracle利用索引来加快对数据行的访问依靠索引来快速定位数据,从而减少了磁盘I/O的次数与使用它的表是相互独立的数据库对象Oracle服务器自动对索引进行维护和使用索引是如何创建的?自动创建:当在创建表时,如果指定了PRIMARYKEY或者UNIQUE约束,那么将自动创建索引.手动创建:用户可以在某个列上建立非唯一的索引,以加快基于该列的查询.创建一个索引创建索引,以提高对表EMP的ENAME列的访问速度.SQL>CREA
11、TEINDEXemp_ename_idx2ONemp(ename);Indexcreated.CREATEINDEXindexONtable(column[,column]...);在一个列上或者多个列上创建索引.什么时候创建索引欲创建索引的列在WHERE子句或者连接条件中频繁使用.该列所包含的不同值很多.该列包含大量的空值.表中的数据行数非常大,而且只有2–4%数据行被查询出来.什么时候不必创建索引表是空的.列在查询条件中不经常使用.大多数基于该表的查询,所查询出的数据量远多于2–4%行.表被频繁修改.确认索引创建结果USER_INDEXES数据字典视图包含用户
12、创建的索引
此文档下载收益归作者所有