Oracle总结

1.ORACLE介绍
  ORACLE数据库系统是以分布式数据库为核心的一组软件产品,是客户/服务器(CLIENT/SERVER)或B/S 体系结构的数据库之一。
  ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能。
2.ORACLE数据库具有的特点:
  (1)支持多用户、大事务量的事务处理
  (2)数据安全性和完整性控制
  (3)支持分布式数据处理
  (4)可移植性
3.ORACLE体系结构
  (1)数据库
     Oracle数据库是数据的物理存储,包括数据文件ORA或者DBF、控制文件、联机日志、参数文件,其中在一个操作系统中只
  含有一个数据库;
  (2)实例
     一个数据库可以有多个实例,实例包括内存结构和后台进程;
  (3)dbf(数据文件)
     dbf是Oracle的物理存储单位,存储在表空间中,一个表空间可以由一个或多个数据文件组成,一个数据文件只能属于一个
  表空间。一旦数据文件被加入到表空间后,就不能删除这个文件,如果要删除某个数据文件,就只能删除其所属于的表空间。
  (4)表空间(相当于mySql的database)
     表空间是对物理数据库上相关数据文件的逻辑映射。一个数据库在逻辑上被划分成一到若干个表空间,每个表空间包含了在
  逻辑上相关联的一组结构。每个数据库至少有一个表空间(称之为 system 表空间)。
     每个表空间由同一磁盘上的一个或多个文件组成,这些文件叫数据文件(datafile)。一个数据文件只能属于一个表空间。
  (5)用户
     用户是在表空间下建立的。用户登陆后只能看到和操作自己的表, ORACLE的用户与 MYSQL 的数据库类似,每建立一个应用需
  要创建一个用户。
4.ORACLE表的创建、修改、删除
  Oracle的表的创建,修改和删除跟mySql一模一样,只有数据类型稍有不一样
    (1)字符型
        CHAR:固定长度的字符类型,最多存储2000个字节;
        VARCHAR2(或VARCHAR):可变长度的字符类型,最多存储4000 个字节;
        LONG:大文本类型。最大可以存储2G;
    (2)数值型NUMBER
        可以存储非整数;如,NUMBER(4,2)最大可以存的数为99.99
    (3)日期类型
        DATE:日期时间型,精确到秒
        TIMESTAMP:精确到秒的小数点后9位
    (4)二进制型(大数据类型)
        CLOB:存储字符,最大可以存4G
        BLOB:存储图像、声音、视频等二进制数据,最多可以存4G
5.ORACLE数据的增删改查
     Oracle数据的增删改查跟mySql一致,唯一的区别就是在执行增删改的时候后要手动点击commit或者在sql语句中写commit;提交
  事务方才执行
6.truncat与delete 实现数据删除的区别
  (1)delete 删除的数据可以 rollback;
  (2)delete 删除可能产生碎片,并且不释放空间;
  (3)truncate 是先摧毁表结构,再重构表结构;
7.ORACLE视图
    视图是一种数据库对象,是从一个或者多个数据表或视图中导出的虚表,视图所对应的数据并不真正地存储在视图中,而是存储在
  所引用的数据表中,视图的结构和数据是对数据表进行查询的结果。
    其优点:
        (1)简化数据操作:视图可以简化用户处理数据的方式;
        (2)着重于特定数据:不必要的数据或敏感数据可以不出现在视图中;
        (3)视图提供了一个简单而有效的安全机制,可以定制不同用户对数据的访问权限;
        (4)提供向后兼容性:视图使用户能够在表的架构更改时为表创建向后兼容接口。
  (1)ORACLE视图创建
    create [OR REPLACE] [FORCE] view 视图名 as subquery [WITH CHECK OPTION ] [WITH READ ONLY];
    其中:
        OR REPLACE :若所创建的试图已经存在,ORACLE 自动重建该视图;
        FORCE :不管基表是否存在 ORACLE 都会自动创建该视图;
        subquery :一条完整的 SELECT 语句,可以在该语句中定义别名;
        WITH CHECK OPTION :插入或修改的数据行必须满足视图定义的约束;
        WITH READ ONLY :该视图上不能进行任何 DML 操作。
  (2)ORACLE视图删除
    drop view 视图名;
8.ORACLE物化视图
    视图是一个虚拟表,基于它创建时指定的查询语句返回的结果集。每次访问它都会导致这个查询语句被执行一次。为了避免每次
  访问都执行这个查询,可以将这个查询结果集存储到一个物化视图。
  ORACLE物化视图创建
    create meterialized view 视图名 [BUILD IMMEDIATE | BUILD DEFERRED ]
    refresh [FAST|COMPLETE|FORCE] [on [COMMIT |DEMAND ] | START WITH (start_time) NEXT (next_time)] as subquery;
    其中:
        BUILD IMMEDIATE 是在创建物化视图的时候就生成数据;
        BUILD DEFERRED 则在创建时不生成数据,以后根据需要再生成数据。默认为 BUILD IMMEDIATE;
        REFRESH 指当基表发生了 DML 操作后,物化视图何时采用哪种方式和基表进行同步。
9.序列
    序列是 ORACLE 提供的用于产生一系列唯一数字的数据库对象。
    (1)ORACLE序列创建之一
      create sequence 序列名称;
      取下一个值
        select 序列名称.nextval from dual;
      取当前值
        select 序列名称.nextval from dual
    (2)ORACLE序列创建之二
      create  sequence 创建序列名称
        [INCREMENT BY n] 递增的序列值是n 如果n是正数就递增,如果是负数就递减 默认是 1
        [START WITH n] 开始的值,递增默认是 minvalue 递减是 maxvalue
        [{MAXVALUE n | NOMAXVALUE}] 最大值
        [{MINVALUE n | NOMINVALUE}] 最小值
        [{CYCLE | NOCYCLE}] 循环或不循环
        [{CACHE n | NOCACHE}];分配并存入到内存中
    (3)删除和修改ORACLE序列
        修改序列:
          alter sequence 序列名称 MAXVALUE 5000 CYCLE;
        删除序列:
          drop sequence 序列名称;
10.索引
    索引是用于加速数据存取的数据对象。合理的使用索引可以大大降低I/O次数,从而提高数据访问性能。
    (1)普通索引
      语法: create index 索引名称 on 表名(列名);
    (2)复合索引
      语法: create index 索引名称 on 表名(列名,列名...);
    (3)反向键索引
      语法:create index 索引名称 on 表名(列名) reverse;
    (4)位图索引
      语法:create bitmap index 索引名称 on 表名(列名,列名...);

posted @ 2018-04-08 21:33  IT小黑  阅读(383)  评论(0编辑  收藏  举报