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 表名(列名,列名...);sql

相关文章
相关标签/搜索