Oracle常用命令5(同义词、视图、索引)
同义词是现有对象的一个别名
CREATE SYNONYM 别名 FOR SCOTT.emp;
公共同义词:
CREATE PUBLIC SYNONYM emp_syn FOR SCOTT.emp;
视图:
CREATE [OR REPLACE] [FORCE] VIEW
view_name [(alias[, alias]...)]
AS select_statement
[WITH CHECK OPTION]
[WITH READ ONLY];
如:商品类别/商品信息建立视图
create view view_product
As
Select p_id,p_name,p_price,p_userprice, p_quantity, c_name from product inner join typeTab on product.c_id = typeTab.c_id;
索引: 唯一索引、组合索引、位图索引、基于函数的索引、反向键索引
标准索引
CREATE INDEX 索引名 ON 表名 (字段名) TABLESPACE index_tbs;
如:create index idx_pname on product(p_name);
唯一索引
CREATE unique INDEX 索引名 ON 表名 (字段名) TABLESPACE index_tbs;
组合索引
CREATE INDEX 索引名 ON 表名 (字段名1,字段名2) TABLESPACE index_tbs;
位图索引
CREATE bitmap INDEX 索引名 ON 表名 (字段名) TABLESPACE index_tbs;
基于函数的索引
CREATE INDEX 索引名 ON 表名 (函数名(字段名)) TABLESPACE index_tbs;
反向键索引
CREATE INDEX 索引名 ON 表名 (字段名) TABLESPACE index_tbs rerverse;
重建索引:
ALTER INDEX item_index rebuild;
索引组织表:
CREATE TABLE 表名 (
主键字段 NUMBER(4) PRIMARY KEY,
venname VARCHAR2(20)
)
Organization index;
说明:一定要指定主键
索引中的分区:局部分区索引、全局分区索引
局部分区索引:在分区表上创建的索引,在每个表分区上创建独立的索引,索引的分区范围与表一致
全局分区索引:在分区表或非分区表上创建的索引,索引单独指定分区的范围,与表的分区范围或是否分区无关
索引有关的数据字典视图有:
USER_INDEXES:用户创建的索引的信息
如:select * from user_indexes where index_name = 'IDX_PNAME';
USER_IND_PARTITIONS:用户创建的分区索引的信息
USER_IND_COLUMNS:与索引相关的表列的信息