码迷,mamicode.com
首页 > 数据库 > 详细

oracle的数据对象

时间:2018-07-06 17:48:18      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:ora   style   目录结构   sel   view   index   更新   自动更新   新建   

oracle的数据对象包括表、视图、约束、序列、索引、函数、存储过程、包和触发器等。

这里主要介绍视图、序列、索引、触发器、存储过程

视图是基于一个表或多个表或视图的逻辑表,本身不包含数据,通过它可以对表里面的数据进行查询和修改。

一般视图上不用建立索引,对视图的操作最终会转化为对表的操作。

 1 CREATE [OR REPLACE] [FORCE|NOFORCE] ---- FORCE:不管基表是否存在ORACLE都会自动创建该视图; 
 2                                    ---- NOFORCE:只有基表都存在ORACLE才会创建该视图
 3 VIEW view_name [(alias[, alias]...)] ---- 为视图产生的列定义的别名
 4 
 5 AS subquery ---- 一条完整的SELECT语句,可以在该语句中定义别名
 6 
 7 [WITH CHECK OPTION [CONSTRAINT constraint]] ---- 插入或修改的数据行必须满足视图定义的约束 
 8 
 9 [WITH READ ONLY] ----该视图上不能进行任何DML操作
10 
11 --例如
12 create or replace view myview(ename,job,sal,dname)
13 as
14 select ename,job,sal,dname from emp,dept
15 where emp.deptno = dept.deptno
16 with read only; 

 

序列 是oacle提供的用于产生一系列唯一数字的数据库对象。

序列主要是为了提供表的主键值。

序列的语法:

 1 CREATE SEQUENCE sequence  //创建序列名称
 2 
 3        [INCREMENT BY n]  //递增的序列值是n 如果n是正数就递增,如果是负数就递减 默认是1
 4 
 5        [START WITH n]    //开始的值,递增默认是minvalue 递减是maxvalue
 6 
 7        [{MAXVALUE n | NOMAXVALUE}] //最大值
 8 
 9        [{MINVALUE n | NOMINVALUE}] //最小值
10 
11        [{CYCLE | NOCYCLE}] //循环/不循环
12 
13        [{CACHE n | NOCACHE}];//分配并存入到内存中
14 --------------------------------------------------
15 --例如:------------------------------------------
16 create sequence myseq start with 1
17 increment by 1 maxvalue 20
18 cache 10 cycle;

新建的序列,使用序列的值必须先调用序列的nextval值,否则会报错。

如果myseq的起始值为1,则第一次执行select myseq.nextval from dual;的值就是1

select myseq.currval from dual;序列的当前值

 

索引的概念

1、类似书的目录结构;

2、 Oracle 的“索引”对象,与表关联的可选对象,提高SQL查询语句的速度;

3、 索引直接指向包含所查询值的行的位置,减少磁盘I/O;

4、 与所索引的表是相互独立的物理结构;

5、 Oracle 自动使用并维护索引,插入、删除、更新表后,自动更新索引;

6、 语法:CREATE INDEX index ON table (column[, column]...);

7、 B-tree结构(非bitmap);

索引的具体解释参考:

https://www.oschina.net/question/30362_4057

 

触发器分为语句级触发器行级触发器

语句级的触发器可以在某些语句执行前或执行后被触发;

行级触发器则是在定义的了触发的表中的行数据改变时就会被触发一次。

参考链接:

http://www.cnblogs.com/linjiqin/archive/2012/04/01/2429144.html

https://blog.csdn.net/indexman/article/details/8023740/

 

存储过程

 

oracle的数据对象

标签:ora   style   目录结构   sel   view   index   更新   自动更新   新建   

原文地址:https://www.cnblogs.com/afel/p/9273817.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!