- Oracle從新手到高手
- 楊繼萍
- 2838字
- 2019-12-09 14:48:57
1.1 數據庫概述
數據庫是按照數據結構來組織、存儲和管理數據的“倉庫”。在日常工作中,我們經常需要把某些相關的數據放進“倉庫”,并根據管理的需要進行相應的處理。
1.1.1 數據庫基本概念
數據庫是數據管理的新手段和技術,是計算機學科的重要分支。由于數據庫具有數據結構化、最低冗余度、較高的程序與數據獨立性、易于擴充、易于編制應用程序等優點,目前應用非常廣泛。
1. 數據與信息
信息是客觀事物屬性的反映,是經過加工處理并對人類客觀行為產生影響的數據表現形式。
數據是反映客觀事物屬性的記錄,是信息的具體表現形式。數據包括文字、聲音、圖形等一切能被計算機接收且能被處理的符號。數據是事物特性的反映和描述,是符號的集合,也是各種抽象信息的具體化。
下面我們以“學生信息表”為例,通過學號、姓名、性別、年齡、系別、專業和年級等內容,來描述學生的在校特征:
(0411002 鄭曉明 女 25 歷史系 文學歷史 04專升本)
這里的學生記錄就是信息。在數據庫中,記錄與事物的屬性是對應的關系,其表現如下圖所示。

2. 數據庫(Database,DB)
從上述內容中,我們可以理解數據庫為存儲在一起的相互有聯系的數據集合。
而嚴格地說,數據庫應具備以下特點:
※ 存儲在一起的相關數據的集合。
※ 這些數據是結構化的,無有害的或不必要的冗余,并為多種應用服務。
※ 數據的存儲獨立于使用它的程序。
※ 對數據庫插入新數據、修改和檢索原有數據均能按一種公用的和可控的方式進行。
當某個系統中存在結構上完全分開的若干個數據庫時,則該系統包含一個“數據庫集合”。這是J.Martin給數據庫下的一個比較完整的定義。
3. 數據庫管理系統(Database Management System,DBMS)
數據庫管理系統是一種操縱和管理數據庫的大型軟件,用于建立、使用和維護數據庫。它對數據庫進行統一的管理和控制,以保證數據庫的安全性和完整性。
用戶通過DBMS訪問數據庫中的數據,數據庫管理員也通過DBMS進行數據庫的維護工作。它提供多種功能,可使多個應用程序和用戶用不同的方法在同時或不同時去建立、修改和詢問數據庫。主要包括以下4方面的功能。
數據定義功能
DBMS提供了數據定義語言(Data Definition Language,DDL),用戶通過它可以方便地對數據庫中的數據對象進行定義。
數據操縱功能
DBMS還提供了數據操縱語言(Data Manipulation Language,DML),用戶可以使用DML操縱數據,實現對數據庫的基本操作,如查詢、插入、刪除和修改等。
數據庫的運行管理
數據庫在建立、運用和維護時,由數據庫管理系統統一管理、統一控制,以保證數據的安全性和完整性。
數據庫的建立和維護功能
它包括數據庫初始數據的輸入、轉換功能;數據庫的轉儲、恢復功能;數據庫的重組織功能和性能監視、分析功能等。這些功能通常是由一些實用程序完成的。
4. 數據庫系統(Database System,DBS)
數據庫系統是一個實際可運行的,為存儲、維護和應用系統提供數據的軟件系統,是存儲介質、處理對象和管理系統的集合體。它通常由軟件、數據庫和數據管理員組成。
其中,軟件主要包括操作系統、各種宿主語言、實用程序以及數據庫管理系統。數據庫由數據庫管理系統統一管理,數據的插入、修改和檢索均要通過數據庫管理系統進行。數據管理員(Database Administrator,DBA)負責創建、監控和維護整個數據庫,使數據能被任何有權使用的人有效使用。數據庫管理員一般是由業務水平較高、資歷較深的人員擔任。

1.1.2 數據庫系統的特點
與人工管理和文件系統相比,數據庫系統的特點主要有以下幾個方面。
1. 數據結構化
數據結構化是數據庫與文件系統的根本區別。在文件系統中,相互獨立的文件的記錄內部是有結構的。傳統文件的最簡單形式是等長同格式的記錄集合。例如,一個學生人事記錄文件,每個記錄都有記錄格式。

其中,前幾項數據是學生都具有的共同信息。如果采用等長記錄形式存儲學生數據,為了建立完整的學生檔案文件,每個學生記錄的長度必須等于信息量最多的記錄的長度,因而會浪費大量的存儲空間。
因此,可以將較長記錄格式再進行拆分操作,以集合的形式建立新文件。

這樣可以節省許多存儲空間,靈活性也相對提高。但這樣建立的文件還有局限性,因為這種結構上的靈活性只是針對一個應用而言的。
而數據結構化的目的,在于數據不再針對某一個應用,而是面向全組織,具有整體的結構化。不僅數據是結構化的,而且存取數據的方式也很靈活,可以存取數據庫中的某一個數據項、一組數據項、一個記錄或一組記錄。而在文件系統中,數據的最小存取單位是“記錄”。

因此,將學生不同的信息,按照表格的屬性輸入相關的內容。例如,在“學生信息”表中,輸入學號、姓名、性別、出生日期、住址等內容。

2. 數據的共享性高、冗余度低、易擴充
數據可以被多個用戶、多個應用共享使用。數據共享可以大幅減少數據冗余,節約存儲空間。數據共享還能夠避免數據之間的不相容性與不一致性。
因為,原始采用人工管理或文件系統管理時,由于數據被重復存儲,當不同的應用使用和修改不同的復制時,極容易導致同一數據復制的值不一樣。所以,在數據庫中數據共享,減少了由于數據冗余造成的不一致現象。
而且由于數據面向整個系統,因此,具有結構化的數據不僅可以被多個應用共享使用,還容易增加新的應用。這樣數據庫系統就具有較大的彈性,也易于擴充,并且可以適應不同用戶的要求。
3. 數據獨立性高
數據獨立性是指,建立在數據的邏輯結構和物理結構分離的基礎上,用戶以簡單的邏輯結構操作數據而無須考慮數據的物理結構,轉換工作由數據庫管理系統完成。數據獨立性分為數據的物理獨立和數據的邏輯獨立。
數據的物理獨立
物理獨立是數據存取與程序的分離。也就是說,數據在磁盤上的數據庫中怎樣存儲是由DBMS管理的,用戶程序不需要了解,應用程序要處理的只是數據的邏輯結構,這樣當數據的物理存儲發生改變時,應用程序不用改變。
數據的邏輯獨立
數據的使用與數據的邏輯結構相分離。也就是說,數據的邏輯結構改變時,用戶程序可以不變。
4. 數據由DBMS統一管理和控制
數據庫是長期存儲在計算機內的,并且有結構的共享式數據集合。它可以供多個用戶使用,并且具有較小的冗余度和較高的數據獨立性。
而DBMS在數據庫建立、運用和維護時對數據庫進行統一控制,以保證數據的完整性和安全性。另外,在多用戶同時使用數據庫時,進行并發控制,而發生故障后也可以對系統進行恢復。
所以,在DBMS中,提供了以下4方面的數據控制功能。
數據的安全性(Security)保護
數據的安全性保護是指保護數據以防止不合法使用導致的數據泄密和破壞,要求每個用戶只能按規定對某些數據以某些方式進行使用和處理。
數據的完整性(Integrity)檢查
數據的完整性指數據的正確性、有效性和相容性。完整性檢查將數據控制在有效的范圍內,或保證數據之間滿足一定的關系。
并發(Concurrency)控制
當多個用戶的并發進程同時存取、修改數據庫時,可能會導致數據之間相互沖撞,從而得到錯誤的結果,或使數據庫的完整性遭到破壞。因此,必須對多用戶的并發操作加以控制和協調。
數據庫恢復(Recovery)
計算機系統的硬件故障、軟件故障、操作員的誤操作,都會影響數據庫中數據的正確性,甚至導致數據庫部分或全部數據的丟失。
因此,DBMS必須具有將數據庫從錯誤狀態恢復到正確狀態的功能。數據庫管理階段應用程序與數據之間的對應關系如下圖所示。
