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

相關文章
相關標籤/搜索