oracle同义词、序列、视图、索引、表空间的语法格式及注解

一.同义词

 同义词就是数据库对象可以是表,视图序列等

1.用户.表名 ;--系统用户操作其他用户信息

2.create synonym 同义词名 for 用户.表0名 --赋予私有同义词

create or replace public synonym 同义词名 for用户.表名

--系统管理员可赋予公共同义词,一般不用public

3. drop synonym 同义词名; --删除私有同义词

  drop public synonym同义词名;  --删除共有同义词

4. or replace;--如果名称存在,用新的名称代替旧的名称。

注:当一个用户赋予同义词后,这个表可以被其他用户以这个表的同义词调用。想要访问一个用户的同义词,要么被系统管理员赋予

权限,要么被被这个用户赋予权限。一个同义词是一个数据库对象。

如果一个用户有权限访问其他用户对象时,就可以使用全称来访问。

二. 序列

1.create sequence序列名;  --创建序列

2.drop sequence s_name 序列名; --删除序列

3.select 序列名.nextval from dual --访问序列的下一个值

4.select 序列名.currval from dual --访问序列的当前值

5.insert into  表名(字段) values(序列名.nextval,执行语句);

                               --添加数据时使用序列

6.alter sequence 序列名 属性; --修改序列

修改限制条件:不能修改序列的初始值。最小值不能大于当前值。

最大值不能小于当前值。

7.序列属性:

1) start with 值; --从某一整数开始,升序默认1,降序默认-1。

2) increment by 值; --步长,每次增长数。

3) maxvalue  值; --序列最大值。

nomaxvalue ; --最大值的默认选项,升序:1027,降序默认:-1。

4) minvalue 值 ;  --序列最小值

nominvalue; --最小值的默认选项,升序:1,降序默认:-1026。  

5) cycle; --升序达到最大值后,从最小值重新开始。降序序列,达到最小值后,从最大值重新开始

   nocycle ; --不重新开始,序列达到最大值或最小值报错,默认

创建主键序列时使用。

6) cache:;--根据序列规则预生成一组序列号,预存在缓存中,当使用序列号时,可更快的响应,序列号用完时,生成进行预存,可提高生成序列号的效率,默认会生产20个序列号。

  nocache:不预先在内存中生成序列号。

三. 视图

视图就是有名字的查询语句

1. create or replace  force/noforce view 视图名 as

查询语句 属性;                       --创建视图

froce:基表不存在,也可以创建视图,但是只有当基表创建成功,视图才能正常使用。

nofroce:如果基表不存在,无法创建视图,默认选项。

3.with read only:说明视图是只读视图,不能通过视图进行增删改操作。如果是默认则可以通过视图对基表执行增删改操作。

注:视图通常用于复杂查询语句的保存以及方便调用。

四. 索引

1. create 属性 index 索引名 on 表名(列);--创建索引

2. unique:唯一索引,值为唯一。

3.  create index 索引名 on 表名(函数(列));--函数索引

4. select * from dba_indexes --查询全部索引视图

5. select * from user_indexes --选择性视图。

注:比较唯一键的数量和表中的行数,就可以判断索引的选择性。选择性越高,索引返回的数据就越少。

6. partition by range(字段)(

partition 分区名 values less than (进区条件));

--对数据进行分区

7. select * from 表名 partition(分区名);--查询分区下数据

8. create index 索引名 on 表名(字段)local;--本地索引

9. 分区索引 ,常用视图:

1)select * from user_part_tables;--查看用户分区表

2)select * from user_part_indexes;--查看分用户区索引

10. 会限制索引的操作:

 1)使用不等于操作符,查询语句会倔强的对全表进行扫描,索引不生效。

 2)使用is null或is not null索引不生效,位图索引除外。在建表时,应把需要索引的列设成not null。

 3)如不使用函数索引,那么where子句中对存在索引的列使用函数时,索引不生效。

 4)使用不匹配的数据类型,索引不生效。

注:索引可以提高查询的效率,但会降低增删改的效率。数据多时使用,索引是以rowid物理地址进行快速定位,表的主键和包含唯一约束的列自动创建索引。在经常使用在where子句中的列上面创建索引,加快条件的判断速度。 

五. 表空间

1. 系统表空间:存放系统数据,名称:system。

2. 临时表空间:存放数据排序结果,名称:tmep。

3. 自定义空间:通过 create tablespace命令创建表空间

4. create tablespace 空间名称 datafile 文件名 size 内存M

extent management local uniform size 统一内存大小M

                                              --创建表空间

注:数据都在数据文件中存储,而数据文件大小受操作系统限制,并且过大的数据文件对数据的存取性能影响非常大。一个数据文件只能属于一个表空间。一个数据库空间由若干个表空间组成。

猜你喜欢

转载自blog.csdn.net/qq_39870734/article/details/79216541