同义词和序列

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

视图、索引、同义词和序列

一、索引——是与表关联的可选结构,可以提高查询速度,影响SQL语句执行速度。

1、创建

(1)企业管理器方式

(2)命令方式

CREATE [UNIQUE|BITMAP] INDEX <索引名> ON <表名>(字段[,字段…])

注意:

●在同一方案中,索引名唯一。

●唯一索引:可以确保表中索引列的值不重复,ORACLE自动为表的主键列或唯一约束

创建唯一索引。

●组合索引:创建时,通常使用频繁的列放置在组合索引列表的前面

●位图索引:通常建立在低基数的列上,也就是不同值的数目比表的行数少的列。在位图

索引中使用每个键值的位图,而不使用ROWID列表。

●三个适当:在适当的表、适当的列上创建适当数量的索引。

2、查看

DBA_ INDEXES 、USER_INDEXES

3、删除:DROP INDEX <索引名>

二、视图——虚拟表,又叫存储的查询。

使用视图的优点:方便、安全

1、创建(使用企业管理器方式略)

CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW

view_name [(alias[, alias]...)]

AS select_statement

[WITH CHECK OPTION]

[WITH READ ONLY];

其中各选项含义:

FORCE:可以创建带错误的视图,如基表或查询列不存在,没有查询权限等,默认是NOFORCE选项

WITH CHECK OPTION:用视图插入或更新基表数据时,只能是视图可以访问的行,如果update后的数据不再是视图可以访问的行也是不允许的。

WITH READ ONLY:不能在此视图上执行任何的INSERT/UPDA TE/DELETE操作

注意:(1)视图创建后可以与查询基本表一样使用SELECT语句进行查询

(2)一般情况下,只能对基于“行列子集的视图”进行数据更新,即视图从单个基本表导出的某些行与列,并且保留了主键。

2、查看:DBA_VIEWS、USER_VIEWS

3、删除:DROP VIEW <视图名>

三、同义词SYNONYM——数据库对象的一个别名。

1、创建公有同义词和私有同义词

CREATE[OR REPLA CE][PUBLIC] SY NONY M[方案名.]同义词名FOR [方案名.]对象名

注意:

(1) 私有同义词只能被某个用户访问,公有~可以被所有的数据库用户访问

(2) 用户需要相应权限才可以创建,(不包括在connect,resource角色中)

2、查看

DBA_SYNONYMS 、USER_SYNONYMS

3、删除同义词:DROP SYNONYM [方案名.]同义词名

四、序列SEQUENCE—生成唯一、连续的整数的数据库对象,常用来自动生成主键值。

1、创建序列(创建序列的权限包括在connect,resource角色中)

CREATE SEQUENCE 序列名

[ST ART WITH 初始值]

[INCREMENT BY [-]步长]

[MAXVALUE最大值|NOMAXVALUE]

[MINVALUE 最小值|NOMINVALUE]

[CY CLE|NOCY CLE]

[CA CHE缓存大小|NOCA CHE]

注:增长为正数时,MINVALUE必须小于或等于ST A RT WITH, MA XVALUE必须大于或等于ST ART WITH;反之,…

MINVALU E~MAXVALUE用于给序列取值划定一个大致的范围,如有ST A RT WITH则从ST ART WITH开始取值。当从小到大的序列号数目小于CACHE数时,不能用CYCLE选项。

NOMA XVALUE:将升序的最大值设为1027,降序序列的最大值设为-1,默认选项

NOMINVALUE:将升序序列的最小值为1,降序序列的最小值设为-1026,默认选项CYCLE:指定序列在达到最大值或最小值后继续从头开始生成值,如果指定CY CLE,则必须要保证CACHE的取值<=循环前序列产生的值的个数

CACHE:预先分配一组序列号并将其保留在内存中,可加快访问速度,默认为20。

2、访问序列

通过NEXTVAL和CURRVAL来访问

3、更改序列

ALTER SEQUENCE……注意:不可更改ST ART WITH参数

4、查看序列

DBA_SEQUENCE

5、删除序列:DROP SEQUENCE[<方案名.>]<序列名>

【注】同义词、序列都可以用企业管理器创建,如何创建由学生课前、课后自学完成

SQL> conn / as sysdba

已连接。

SQL> select * from scott.dept;

DEPTNO DNAME LOC

---------- -------------- -------------

10 ACCOUNTING NEW YORK

20 RESEARCH DALLAS

30 SALES CHICAGO

40 OPERA TIONS BOSTON

SQL>

SQL> CREA TE OR REPLACE PUBLIC SYNONYM dept FOR scott.dept;

同义词已创建。

相关文档
最新文档