- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[IT认证]Oracle 第五章
*;*;*;概述;表1 Oracle数据库模式对象;Oracle非模式对象;用户;*;CREATE TABLE语句;命名规则;引用其他用户的表;DEFAULT 选项;数据类型;创建表;表特性;查询数据字典;用子查询创建表;使用子查询创建表;*;ALTER TABLE 语句;添加新列;添加新列;修改列;;*;删除表;修改对象的名称;截断表;给表添加注释;5.5 数据完整性(约束) ;什么是约束;约束准则;定义约束;定义约束;NOT NULL约束;
;UNIQUE 约束;UNIQUE 约束;PRIMARY KEY 约束;PRIMARY KEY 约束;FOREIGN KEY 约束;FOREIGN KEY 约束;FOREIGN KEY 约束中的关键字;CHECK约束;添加约束;添加约束;删除约束;禁用约束;启用约束;
;查询与约束相关的列;小结;5.6 查看表信息 ;练习;索引; 在创建PRIMARY KEY和UNIQUE约束条件时,
系统将自动为相应的列创建惟一(UNIQUE)索引。索引的名字同约束的名字一致。
索引有两种:B*树索引和位图(BITMAP)索引。
B*树索引是通常使用的索引,也是默认的索引
类型。在这里主要讨论B*树索引。B*树是一种平衡2叉树,左右的查找路径一样。这种方法保证了对表的任何值的查找时间都相同。
B*树索引可分为:惟一索引、非惟一索引、
一列简单索引和多列复合索引。; 创建索引一般要掌握以下原则:只有较大
的表才有必要建立索引,表的记录应该大于50条,查询数据小于总行数的2%~4%。虽然可以为表创建多个索引,但是无助于查询的索引不但不会提高效率,还会增加系统开销。因为当执行DML操作时,索引也要跟着更新,这时索引可能会降低系统的性能。一般在主键列或经常出现在WHERE子句或连接条件中的列建立索引,该列称为索引关键字。
; 2 索引的创建
创建索引不需要特定的系统权限。建立索引
的语法如下:
CREATE [{UNIQUE|BITMAP}] INDEX 索引
名 ON 表名(列名1[,列名2,...]);
其中:
UNIQUE代表创建惟一索引,不指明为创建非惟一
索引。
BITMAP 代表创建位图索引,如果不指明该参数,
则创建B*树索引。
列名是创建索引的关键字列,可以是一列或多列。
; 删除索引的语法是:
DROP INDEX 索引名;
删除索引的人应该是索引的创建者或拥有
DROP ANY INDEX系统权限的用户。索引的删除对表没有影响。
【训练1】 创建和删除索引。
步骤1:创建索引:
CREATE INDEX EMP_ENAME ON
EMP(ENAME);
执行结果:
索引已创建。; 步骤2:查询中引用索引:
SELECT ENAME,JOB,SAL FROM EMP
WHERE ENAME=SCOTT;
执行结果:
ENAME JOB SAL
------------ ------------------- --------------------
SCOTT ANALYST 3000
步骤3:删除索引:
DROP INDEX EMP_ENAME;
执行结果:
索引已丢弃。; 说明:本例创建的是B*树非惟一简单索引。
索引关键字列是ENAME。在步骤2中,因为WHERE条件中出现了索引关键字,所以查询中索引会被自动引用,但是由于行数很少,因此不会感觉到查询速度的差别。
【训练2】 创建复合索引。
步骤1:创建复合索引:
CREATE INDEX EMP_JOBSAL
ON EMP(JOB,SAL);
执行结果:
索引已创建。; 步骤2:查询中引用索引:
SELECT ENAME,JOB,SAL FROM EMP
WHERE JOB=MANAGERAND SAL2500;
执行结果:
ENAME JOB SAL
-------------- --------------------- -----------------
BLAKE MANAGER 2850
CLARK MANAGER 2850
JONES MANAGER 2975
说明:在本例中创建的是包含两列的复合
索引。JOB是主键,SAL是次键。WHERE条件中引用了JOB和SAL,而且是按照索引关键字出现的顺序引用的,所以在查询中,索引会被引用。
; 如下的查询也会引用索
文档评论(0)