唐远新全套配套课件Oracle数据库实用教程 第 3章 索引与视图.ppt

唐远新全套配套课件Oracle数据库实用教程 第 3章 索引与视图.ppt

ID:51970125

大小:245.50 KB

页数:40页

时间:2020-03-26

唐远新全套配套课件Oracle数据库实用教程 第 3章 索引与视图.ppt_第1页
唐远新全套配套课件Oracle数据库实用教程 第 3章 索引与视图.ppt_第2页
唐远新全套配套课件Oracle数据库实用教程 第 3章 索引与视图.ppt_第3页
唐远新全套配套课件Oracle数据库实用教程 第 3章 索引与视图.ppt_第4页
唐远新全套配套课件Oracle数据库实用教程 第 3章 索引与视图.ppt_第5页
资源描述:

《唐远新全套配套课件Oracle数据库实用教程 第 3章 索引与视图.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第三章索引与视图3.1管理索引3.2视图的创建与使用本章目录3.1管理索引3.1.1索引概述Oracle针对不同的数据库实体类型和应用提供了几种索引模式,它们是(1)B-树索引---默认的和最常用的索引(2)B-树簇索引---为簇定义的索引(3)散列簇索引---为散列簇定义的索引(4)全局和本地索引---相应于分区表和索引(5)反序索引---适用于Oracle实时应用集群的应用(6)位图索引---适用于具有少量值集的列(7)基于函数的索引---包含函数/表达式的预先计算的值(8)域索引---特别针对应用或插件创建索引

2、的语法如图3-1所示图3-1创建索引的语法最简单的创建索引语法如下CREATEINDEX索引名ON表名(列名ASC/DESC,列名ASC/DESC…);更实用和完整的创建索引语法如下CREATE[unique]INDEX[schema.]indexON[schema.]table(column[ASC

3、DESC][,column[ASC

4、DESC]]...)[INITRANSn]--缺省值为2[MAXTRANSn]--缺省值为255[PCTFREEn][LOGGING

5、NOLOGGING][NOSORT][STORA

6、GEstorage][TABLESPACEtablespace];例3.1为表EMP建立以ename为索引列的索引,索引名为emp_ename_index,索引存放的表空间为my_index。--创建一个索引表空间,专门存放索引数据connectsystem/system@oradbassysdbaCREATETABLESPACEmy_indexDATAFILE'%ORACLE_HOME%databasemy_index.dbf'SIZE1Mreuse;--创建索引,并指定它的存储空间connectscott/t

7、iger@oradbCREATEINDEXemp_ename_indexONemp(enameDESC)TABLESPACEmy_index;使用如下语句可以查看到用户的索引定义情况COLTABLE_NAMEFORMATA15COLINDEX_NAMEFORMATA18COLCOLUMN_NAMEFORMATA15SELECTix.table_name,ic.index_name,ic.column_name,ic.column_positioncol_pos,ix.uniquenessFROMuser_indexe

8、six,user_ind_columnsicWHEREic.index_name=ix.index_nameORDERBYix.table_name;3.1.2创建唯一索引可用CREATEUNIQUEINDEX语句来创建唯一索引。例3.2为dept表的dname列创建唯一索引。CREATEUNIQUEINDEXdept_unique_indexONdept(dname)TABLESPACEmy_index;例3.3观察下面语句的执行结果。--删除前面创建在dept的dname列上的索引DROPINDEXdept_un

9、ique_index;--向表DEPT中插入一条记录INSERTINTOdeptVALUES(80,'RESEARCH','HarBin');commit;--在表dept的dname列上建立唯一索引,索引名为unique_dname。CREATEUNIQUEINDEXunique_dnameONdept(dnameDESC);例3.3的最后一条语句的执行将返回如下信息ERROR位于第2行:ORA-01452:无法CREATEUNIQUEINDEX;找到重复的关键字3.1.3创建位图索引创建位图索引的限制:(1)不能

10、在全局分区索引上创建位图索引(2)不能同时指定UNIQUE和位图索引(3)不能在本地索引中使用位图索引例3.4在student表的性别列上创建位图索引。CREATEBITMAPINDEXstu_sex_indexONstudent(sex)TABLESPACEmy_index;3.1.4创建基于函数的索引使用基于函数的索引的好处如下(1)创建更强有力的分类(2)预先计算出计算密集的函数的值并在索引中将其分类(3)增加优化器可以执行范围扫描而不是全表扫描的情况的数量例3.5注意观察本例代码执行的结果。设student表

11、(在例2.4和例2.5中创建)的学生编号sno列的编码规则为:4位年+2位系别+2位班级+2位顺序号。如经常执行按年度的学生情况统计,则可创建如下形式的索引。CREATEINDEXyear_indexONstudent(substrb(sno,1,4))TABLESPACEmy_index;--系统提示权限不足。ERROR位于第1行:ORA-0

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。