主要功能
1.
數據定義:
DBMS提供
數據定義語言DDL(Data Definition Language),供用戶定義
資料庫的三級模式結構、兩級映像以及完整性約束和保密限制等約束。
DDL主要用於建立、修改
資料庫的庫結構。DDL所描述的庫結構僅僅給出了
資料庫的框架,資料庫的框架信息被存放在
數據字典(Data Dictionary)中。
2.數據操作:DBMS提供
數據操作語言DML(Data Manipulation Language),供用戶實現對數據的追加、刪除、更新、查詢等操作。
3.
資料庫的運行管理:資料庫的運行管理功能是DBMS的運行控制、管理功能,包括多用戶環境下的
並發控制、安全性檢查和存取限制控制、完整性檢查和執行、運行日誌的
組織管理、
事務的管理和自動恢復,即保證事務的原子性。這些功能保證了資料庫
系統的正常運行。
4.數據
組織、存儲與管理:DBMS要分類組織、
存儲和管理各種數據,包括
數據字典、用戶數據、存取路徑等,需確定以何種檔案結構和存取方式在存儲級上組織這些數據,如何實現數據之間的聯繫。數據
組織和存儲的基本目標是提高
存儲空間利用率,選擇合適的存取方法提高存取效率。
5.
資料庫的保護:資料庫中的數據是信息社會的戰略資源,所以數據的保護至關重要。DBMS對
資料庫的保護通過4個方面來實現:資料庫的恢復、資料庫的
並發控制、資料庫的
完整性控制、資料庫安全性控制。DBMS的其他保護功能還有
系統緩衝區的管理以及數據存儲的某些自適應
調節機制等。
6.
資料庫的維護:這一部分包括資料庫的數據載入、轉換、轉儲、
資料庫的重組合重構以及性能監控等功能,這些功能分別由各個使用程式來完成。
7.通信:DBMS具有與作業系統的
在線上處理、
分時系統及遠程作業輸入的相關接口,負責處理數據的傳送。對網路環境下的
資料庫系統,還應該包括DBMS與網路中其他軟體系統的通信功能以及資料庫之間的互操作功能。
組成
根據其功能和套用需求,資料庫管理系統通常由以下幾部分組成。
資料庫語言
資料庫語言是給用戶提供的語言,包括兩個子語言:數據定義子語言和數據操縱子語言。SQL語言就是一個集數據定義和數據操縱子語言為一體的典型資料庫語言。幾乎出現的關係資料庫系統產品都提供SQL語言作為標準資料庫語言。
(1)數據定義子語言(Data Definition Language,DDL)
數據定義語言包括資料庫模式定義和資料庫存儲結構與存取方法定義兩方面。資料庫模式定義處理程式接收用數據定義語言表示的資料庫外模式、模式、存儲模式及它們之間的映射的定義,通過各種模式翻譯程式負責將它們翻譯成相應的內部表示形式,存儲到資料庫系統中稱為數據字典的特殊檔案中,作為資料庫管理系統存取和管理數據的基本依據;而資料庫存儲結構和存取方法定義處理程式接收用數據定義語言表示的資料庫存儲結構和存取方法定義,在存儲設備上創建相關的資料庫檔案,建立起相應物理資料庫。
(2)數據操縱子語言(Data Manipulation Language,DML)
數據操縱語言用來表示用戶對資料庫的操作請求,是用戶與DBMS之間的接口。一般對資料庫的主要操作包括:查詢資料庫中的信息、向資料庫插入新的信息、從資料庫刪除信息以及修改資料庫中的某些信息等。數據操縱子語言通常又分為兩類:一類是嵌入主語言,由於這種語言本身不能獨立使用,故稱為宿主型的語言;另一類是互動式命令語言,由於這種語言本身能獨立使用,故又稱為自主型或自含型的語言。
例行程式
資料庫管理例行程式隨系統不同而各異,一般包括以下幾部分:
(1)語言翻譯處理程式
語言翻譯處理程式包括DLL翻譯程式、DML處理程式、終端查詢語言解釋程式和資料庫控制語言的翻譯程式等。
(2)系統運行控制程式
系統運行控制程式包括系統的初啟程式、檔案讀寫與維護程式、存取路徑管理程式、緩衝區管理程式、安全性控制程式、完整性檢查程式、並發控制程式事務管理、程式運行日誌管理程式和通信控制程式等。
(3)公用程式
公用程式包括定義公用程式和維護公用程式。定義公用程式包括信息格式定義、概念模式定義、外模式定義和保密定義公用程式等;維護公用程式包括數據裝入、資料庫更新、重組、重構、恢復、
統計分析、工作日記轉儲和列印公用程式等。
組成部分
(3)互動式查詢:提供易使用的互動式查詢語言,如SQL.DBMS負責執行查詢命令,並將查詢結果顯示在
螢幕上。
(4)數據的
組織與存取:提供數據在外圍儲存設備上的物理組織與存取方法。
技術特點
(2)具有較高的數據和程式獨立性,
資料庫的獨立性有物理獨立性和邏輯獨立性。
(4)
資料庫系統提供4個方面的數據控制功能,分別是
並發控制、恢復、完整性和安全性。
資料庫中各個應用程式所使用的數據由
資料庫系統統一規定,按照一定的數據模型
組織和建立,由系統統一管理和集中控制。
層次結構
根據處理對象的不同,
資料庫管理
系統的層次結構由高級到低級依次為套用層、語言翻譯
處理層、數據存取層、數據存儲層、
作業系統。
套用層
語言翻譯
數據存取層
數據存取層處理的對象是單個
元組,它將上層的集合操作轉換為單記錄操作。
數據存儲層
作業系統
操作
系統是DBMS的基礎。操作
系統提供的存取
原語和基本的存取方法通常是作為和DBMS存儲層的接口。
常見品牌
Visual Foxpro
Informix
PostgreSQL
選擇原則
需要
分析資料庫管理
系統有沒有範式的要求,即是否必須按照系統所規定的數據模型分析現實世界,建立相應的模型;資料庫管理語句是否符合國際標準,符合國際標準則便於系統的維護、開發、移植;有沒有面向用戶的易用的開發工具;所支持的資料庫
容量,資料庫的容量特性決定了資料庫管理系統的使用範圍。
(2) 程式開發的難易程度。
有無
計算機輔助軟體工程工具CASE——計算機輔助軟體工程工具可以幫助開發者根據軟體工程的方法提供各開發階段的維護、編碼環境,便於複雜軟體的開發、維護。有無
第四代語言的開發平台——第四代語言具有
非過程語言的設計方法,用戶不需編寫複雜的過程性代碼,易學、易懂、易維護。有無
面向對象的設計平台——面向對象的設計思想十分接近人類的邏輯思維方式,便於開發和維護。對
多媒體數據類型的支持——多媒體數據需求是今後發展的趨勢,支持多媒體數據類型的
資料庫管理
系統必將減少應用程式的開發和維護工作。
包括性能評估(回響時間、數據單位時間
吞吐量)、性能監控(內外存使用情況、
系統輸入/輸出速率、SQL語句的執行,
資料庫元組控制)、性能管理(參數設定與調整)。
包括數據透明與網路透明程度。數據透明是指用戶在套用中不需指出數據在網路中的什麼節點上,
資料庫管理
系統可以自動搜尋網路,提取所需數據;網路透明是指用戶在套用中無需指出網路所採用的協定。資料庫管理
系統自動將數據包轉換成相應的協定數據。
支持多CPU模式的
系統(SMP,CLUSTER,MPP),負載的分配形式,
並行處理的顆粒度、範圍。
(6) 可移植性和可擴展性。
可移植性指垂直擴展和水平擴展能力。垂直擴展要求新平台能夠支持低版本的平台,
資料庫客戶機/伺服器機制支持集中式管理模式,這樣保證用戶以前的投資和
系統;水平擴展要求滿足硬體上的擴展,支持從單CPU模式轉換成多CPU並行機模式( SMP, CLUSTER, MPP)
數據完整性指數據的正確性和一致性保護,包括實體完整性、參照完整性、複雜的
事務規則。
保證查詢結果一致性方法
數據鎖的顆粒度(數據鎖的控制範圍,表、頁、
元組等)
數據鎖的升級管理功能
(9) 容錯能力。
異常情況下對數據的容錯處理。評價標準:硬體的容錯,有無磁碟鏡象處理功能軟體的容錯,有無軟體方法 (10) 安全性控制
包括安全保密的程度(帳戶管理、用戶許可權、
網路安全控制、數據約束)
(11) 支持多種文字處理能力
包括
資料庫描述語言的多種文字處理能力(表名、域名、數據)和資料庫開發工具對多種文字的支持能力。
當突然停電、出現硬體故障、
軟體失效、病毒或嚴重錯誤操作時,
系統應提供恢復
資料庫的功能,如定期轉存、恢復備份、
回滾等,使系統有能力將資料庫恢復到損壞以前的狀態。