Oracle 数据库对象,视图,序列,索引,同义词


数据库对象:表、视图、序列、索引、同义词


视图是一个虚表(简化复杂的查询操作,并不存储数据)

create or replace view empinfoview
as
select e.empno,e.ename,e.sal,e.sal*12 annsal,d.dname
from emp e,dept d
where e.deptno=d.deptno
with read only;     --通过子查询创建或替换视图。 (视图可以替换但不能修改)  (with check option 表示只能操作(增删改)视图中看得到的数据(不推荐通过视图修改数据);with read only表示只读)

如果视图定义中包含group by,distinct,rownum(伪列)中的一个时,不可以通过该视图使用delete删除语句。(视图是为了简化查询,不推荐通过视图修改数据)



序列是完成自增长的功能。(自动提供唯一的数值、共享对象、用于提供主键值、序列值在内存访问效率高)
序列本质是个数组(默认长度是20)

create sequence myseq
	increment by 1
	start with 1
	maxvalue 9999
	nocycle;      --创建序列

select myseq.currval from dual;  --currval 序列当前值
select myseq.nextval from dual;  --nextval 序列下一个值

序列产生裂缝的原因:1.回滚  2.系统异常  3.多个表共用一个序列



--索引
--创建目录(索引)(存放rowid行地址)
create index myindex on emp(deptno);   --创建目录(索引)
explain plan for select * from emp where deptno=10;   --explain plan for 执行计划
select * from table(dbms_xplan.display);      --dbms_xplan.display 执行计划, 计算查询操作所需的时间


同义词 (别名)
grant create synonym to 用户;   --为某用户授创建同义词的权限
create synonym hremp for 其他用户.employees;   --为其他用户的表创建同义词(别名),为了安全 (Oracle中的表属于用户)  

猜你喜欢

转载自blog.csdn.net/houyanhua1/article/details/82383246