一、同义词
同义词是(synonym)数据库对象的一个别名,oracle可以为表,视图,序列,过程,函数,程序包等创建别名。
create synonym 同义词 for (表名......)
二、序列
Create Sequence myseq --序列名称
Increment by 1--步长,正数递增,负数递减
Start with 1 --开始值
Maxvalue 1000 --最大 值
Minvalue 1--最小值
nocycle --不循环
Cache 30;--缓存序列的个数
INCREMENT BY :序列变化的步进,负值表示递减。(默认1)
START WITH:序列的初始值 。(默认1)
MAXvalue:序列可生成的最大值。(默认不限制最大值,NOMAXVALUE)
MINVALUE:序列可生成的最小值。(默认不限制最小值,NOMINVALUE)
CYCLE:用于定义当序列产生的值达到限制值后是否循环(NOCYCLE:不循环,CYCLE:循环)。
CACHE:表示缓存序列的个数,数据库异常终止可能会导致序列中断不连续的情况,默认值为20,如果不使用缓存可设置NOCACHE
调用序列
insert into 表名 values(myseq.nextval,值,值);
修改序列
alter sequence 序列名
参数 值
参数 值
参数 值;
删除序列
drop sequence 序列名;
三、视图
视图是基于一个表或多个表或视图的逻辑表(虚拟表),本身不包含数据,通过它可以对表里面的数据进行查询和修改。视图基于的表称为基表。视图是存储在数据字典里的一条select语句。 通过创建视图可以提取数据的逻辑上的集合或组合。
create [ or replace ] [ force ] view view_name[ (column1,column2,...) ]
as
select ...
[ with check option ]
[ with read only ];
or replace: 如果存在同名的视图, 则使用新视图"替代"已有的视图
force: “强制"创建视图,不考虑基表是否存在,也不考虑是否具有使用基表的权限
column1,column2,…:视图的列名, 列名的个数必须与select查询中列的个数相同;
如果select查询包含函数或表达式, 则必须为其定义列名.此时, 既可以用column1, column2指定列名, 也可以在select查询中指定列名.
with check option: 指定对视图执行的dml操作必须满足“视图子查询”的条件即,对通过视图进行的增删改操作进行"检查”,要求增删改操作的数据, 必须是select查询所能查询到的数据,否则不允许操 with read only:创建的视图只能用于查询数据, 而不能用于更改数据.
--创建视图
create or replace view emp_dep
as
select eid,ename,job,salary,dep.depno,dname,daddr
from emp,dep
where emp.depno=dep.depno;
--删除视图
drop view viewname;
四、索引
索引是关系数据库中用于存放每一条记录的一种对象,主要目的是加快数据的读取速度和完整性检查。建立索引是一项技术性要求高的工作。一般在数据库设计阶段的与数据库结构一道考虑。应用系统的性能直接与索引的合理直接有关
CREATE INDEX
CREATE [unique] INDEX [user.]index
ON [user.]table (column [ASC | DESC] [,column
[ASC | DESC] ] ... )
[CLUSTER [scheam.]cluster]
[INITRANS n]
[MAXTRANS n]
[PCTFREE n]
[STORAGE storage]
[TABLESPACE tablespace]
[NO SORT]
Advanced
schema ORACLE模式,缺省即为当前帐户
index 索引名
table 创建索引的基表名
column 基表中的列名,一个索引最多有16列,long列、long raw
列不能建索引列
DESC、ASC 缺省为ASC即升序排序
CLUSTER 指定一个聚簇(Hash cluster不能建索引)
INITRANS、MAXTRANS 指定初始和最大事务入口数
Tablespace 表空间名
STORAGE 存储参数,同create table 中的storage.
PCTFREE 索引数据块空闲空间的百分比(不能指定pctused)
NOSORT 不能排序(存储时就已按升序,所以指出不再排序)
建立索引的目的是:
提高对表的查询速度;
对表有关列的取值进行检查。
create index myindex
on emp(ename);
select * from emp where ename='jason';--提高了查询速度
五、表空间
CREATE TABLESPACE 表空间名
DATAFILE '数据文件路径' SIZE 大小
[AUTOEXTEND ON] [NEXT 大小]
[MAXSIZE大小];
数据文件路径中若包含目录需要先创建
SIZE为初始表空间大小,单位为K或者M
AUTOEXTEND ON是否自动扩展
NEXT为文件满了后扩展大小
MAXSIZE为文件最大大小,值为数值或UNLIMITED(表示不限大小)
create tablespace myspace
datafile 'c:/M.ora' size 10M,'c:/N.ora' size 10M,
extent management local,--本地管理方式
uniform size 2M;
--扩充空间
alter tablespace myspace add datafile 'M.ora' size 20;
--删除表空间
drop tablespace myspace including contents and datafiles;