欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

数据库对象

程序员文章站 2022-06-02 13:03:15
...

一.视图view
1.管理员授权

grant create view to scott

(登录管理员账号 sqlplus sys/123456 as sysdba)
2.视图是一种虚表
视图建立在已有表的基础上,视图赖以建立的表称为基表。
将视图理解为存储起来的select语句,简化复杂查询。

 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; //只能插入视图中显示的到的数据

视图已经存在就替换,否则创建。

二.序列sequence
1.

create sequence myseq;
create table testseq
    (tid number,
     tname varchar2(20));
 insert into testseq values(myseq.nextval,'aaa');

2.序列在下列情况下出现裂缝
回滚
系统异常
多个表同时使用一个序列

三.索引 index(目录)
生成执行计划

explain plan for select * from emp where deptno=10;

查看执行计划

select * from table(dbms_xplan.display);

在deptno上建立目录(索引)oracle生成索引表 rowid

create index myindex on emp(deptno);

oracle中索引的类型
1.B树索引(默认)
2.位图索引(矩阵)

1.索引一旦建立,oracle管理系统会对其进行自动维护。
通过指针加速oracle服务器的查询速度。
2.创建索引
自动创建:在定义primary key或unique约束后系统自动在相应的列上创建唯一性索引
手动创建:用户可以在其他列上创建非唯一的索引,以加速查询。
3.以下情况可以创建索引:
3.1列中数据值分布范围很广
3.2列经常在where子句或连接条件中出现
3.3表经常被访问而且数据量很大,访问的数据大概占数据总量的2%到4%。
4.以下情况不要创建索引:
4.1表很小
4.2列不经常在where子句或连接条件中出现
4.3查询的数据大于2%到4%。
4.4表经常更新(指是索引的那一列经常更新)

四.同义词
—为hr.employees起别名—》 同义词

 create synonym hremp for hr.employees;  (私有别名)

语法:

create [public] synonym synonym for object;
相关标签: oracle