oracle的基本情況和一些基本概念


Oracle Database,又名Oracle RDBMS,或簡稱Oracle。是甲骨文公司的一款關系數據庫管理系統。它是在數據庫領域一直處於領先地位的產品。可以說Oracle數據庫系統是目前世界上流行的關系數據庫管理系統,是目前最流行的C/S或B/S體系結構的數據庫之一,它具有系統可移植性好、使用方便、功能強,適用於各類大、中、小、微機環境。它是一種高效率、可靠性好的 適應高吞吐量的數據庫解決方案。oracle目前是世界上使用最為廣泛的數據庫管理系統,作為一個通用的數據庫系統,它具有完整的數據管理功能;作為一個關系型數據庫,它是一個完備關系的產品;作為分布式數據庫它實現了分布式處理功能。

一,oracle的一些基本概念

1.數據庫:database

         oracle數據庫是數據的物理存儲。包括數據文件ORA或者DBF,控制文件,聯機文件,日志文件,參數文件。oracle數據庫的概念和其他數據庫概念有些不一樣,比如mysql,mysql數據庫創建數據庫的過程是--創建庫--創建表,而oracle創建數據庫的過程是--創建一個表空間--創建一個用戶--由用戶去創建表。所以oracle數據庫和其他數據庫是有不同之處的。可以這樣理解,oracle是只有一個數據庫,是一個大的數據庫,由用戶來管理的。

2.實例

      一個oracle的實例由一系列的后台進程和內存結構組成。一個數據庫可以有多個實例。

3.數據文件:dbf

       數據文件是數據庫的物理存儲單位。oracle的數據庫的數據存儲在表空間中,而真正是存儲在一個或多個數據文件中。而一個表空間可以由一個或者多個數據文件組成,而一個數據文件只能屬於一個表空間。一旦數據文件被放入一個表空間過后,就不能刪除這個數據文件。如果要刪除某個數據文件,則必須刪除其所屬的表空間。

4.表空間

   表空間是oracle對物理數據庫上相關數據文件的邏輯映射。一個數據庫邏輯上被划分成一個或若干個表空間,每個表空間包含了在邏輯上相關聯的一組結構。每個數據庫至少有一個表空間(system表空間)。每個表空間由同一磁盤上的一個或者多個文件組成,這些文件就是數據文件。一個數據文件只能屬於一個表空間。

5.用戶

  用戶是在實例下建立的。不同實例中可以建相同名字的用戶。表的數據,是由用戶放入某一個表空間的,而這個表空間會隨機把這些表數據放到一個或多個數據文件DBF中。

oracle是由用戶和表空間對數據進行管理和存儲的。但是表數據不是由表空間去查詢的,而是由用戶去查詢的。因為不同用戶可以在同一個表空間建立相同名字的表。

6.偽表dual

  select 1+1;

  這條sql語句在mysql中是可以成功執行的,而在oracle中卻是不能執行的,而這時偽表dual出現了,它的一個主要作用就是為了補全語法結構。在平時學習是可以使用偽表練習。

7.偽列rownum

  在oracle中偽列是它獨有的,它表示的是表中的行號,它有兩個特點:首先它是隱藏的,其次它是隨着數據量的增長而動態增長的,也就是說當你每查詢出來一條數據,它就是自動+1。

  rownum的用途:在oracle數據庫中利用rownum來做分頁查詢,但是需要注意的是rownum不能用做大於號判斷,可以做小於號判斷。

  例如:查詢第6-10條數據

  select * from (select rownum hanghao,emp.* from emp) tt where tt.hanghao between 6 and 10;

結果如下:

HANGHAO EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ----------- ---------- --------- ----- ----------- --------- --------- ------
6 7698 BLAKE MANAGER 7839 1981/05/01 2850.00 30
7 7782 CLARK MANAGER 7839 1981/06/09 2450.00 10
8 7788 SCOTT ANALYST 7566 1987/04/19 3000.00 20
9 7839 KING PRESIDENT 1981/11/17 5000.00 10
10 7844 TURNER SALESMAN 7698 1981/09/08 1500.00 0.00 30

 

8.偽列rowid

  首先rowid在oracle中是表示每行記錄所存放的真實物理地址的,這個物理地址是唯一的,在表中是獨一無二的,就算有兩條數據,他們的內容一樣,但rowid還是不同。

  例如,刪除重復的記錄,只保留rowid最小的那條記錄。

    新建一張表:

create table p(
name varchar(10)
);

往表中插入多條數據,有重復的,最后插入結果如圖。

  要求刪除重復的數據,並且保留rowid最小的那條數據,sql如下:

首先利用表連接查詢獲取rowid最小的那條數據,最后將大於最小rowid的數據刪除。     

delete  from p p1 where p1.rowid>(select min(rowid) from p p2 where p1.name=p2.name)

二,oracle的功能十分強大,應用也十分廣泛

  oracle有很強大的威力,它的特性主要體現在這些方面:

1)跨平台(軟硬件都是跨平台的)

2)安全性高, 廣泛應用於各行各業,金融,保險,銀行....

3)支持分布式處理

4)支持數據庫倉庫,具有大數據分析功能

5)支持大事務操作

6)支持海量級別的數據處理,性能特別好

7)支持強大的函數處理和觸發器處理

8)基於角色的權限管理機制,安全性極高

9)支持PL/SQL強大的業務編程能力(什么是PL/SQL:

PL/SQL Developer是一個 集成開發環境,專門開發面向Oracle數據庫的應用。 PL/SQL也是一種程序語言,叫做過程化SQL語言(Procedural Language/SQL)。PL/SQL是 Oracle數據庫對SQL語句的擴展。在普通SQL語句的使用上增加了編程語言的特點,所以PL/SQL把數據操作和查詢語句組織在PL/SQL代碼的過程性單元中,通過邏輯判斷、循環等操作實現復雜的功能或者計算。PL/SQL 只有 Oracle 數據庫有。 MySQL 目前不支持 PL/SQL 的,但支持Navicat Premium。)
10)支持強大的存儲過程
11)支持獨創的表空間管理功能
12)支持私有雲和公有雲的部署。
..........


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM