根據功能,數據庫管理系統大致可以分為六個部分:
(1)模式轉換:提供數據定義語言(ddl)。用它編寫的數據庫模式被翻譯成內部表示。數據庫的邏輯結構、完整性約束和物理存儲結構存儲在內部數據字典中。各種數據操作(如搜索、修改、插入和刪除等。)和數據庫維護管理都是基於數據庫模式的。
(2)應用程序的編譯:將包含數據庫訪問語句的應用程序編譯成可以在dbms支持下運行的目標程序。
(3)交互查詢:提供壹種簡單易用的交互查詢語言,比如sql。dbms負責執行查詢命令並在屏幕上顯示查詢結果。
(4)數據的組織和訪問:提供數據在外圍存儲設備上的物理組織和訪問方法。
⑸事務操作管理:提供事務操作管理和操作日誌、事務操作的安全監控和數據完整性檢查、事務並發控制和系統恢復。
(6)數據庫維護:為數據庫管理員提供軟件支持,包括數據安全控制、完整性保障、數據庫備份、數據庫重組、性能監控等維護工具。
基於關系模型的數據庫管理系統日臻完善,並作為商業軟件廣泛應用於各行各業。它在家庭服務器結構的分布式多用戶環境中的應用,進壹步拓展了數據庫系統的應用。隨著新的數據模型和數據管理技術的發展,可以預期dbms軟件的性能將會更新和提高,應用領域將會進壹步拓寬。
它提供以下功能:
(1)數據定義函數。DBMS提供相應的數據語言來定義(DDL)數據庫結構,數據庫結構是描述數據庫的框架,存儲在數據字典中。
(2)數據訪問功能。DBMS提供了數據操作語言(DML ),實現了數據庫數據的基本訪問操作:檢索、插入、修改和刪除。
(3)數據庫操作管理功能。DBMS提供數據控制功能,即數據的安全性、完整性和並發性控制,有效地控制和管理數據庫操作,保證數據的正確性和有效性。
(4)數據庫的建立和維護功能。包括數據庫初始數據的加載、數據庫的轉儲、恢復和重組、系統性能的監控和分析。
(5)數據庫的傳輸。DBMS提供處理數據的傳輸,並實現用戶程序與DBMS之間的通信,通常與操作系統協同工作。
著名的數據庫管理系統
MS SQL
賽貝斯
DB2
神諭
關系型數據庫
接近
心室纖維顫動
公共數據庫管理系統
目前有很多數據庫產品,如Oracle、Sybase、Informix、Microsoft SQL Server、Microsoft Access、Visual FoxPro等,它們都有自己獨特的功能,在數據庫市場上占有壹席之地。下面簡單介紹幾種常用的數據庫管理系統。
神諭
Oracle是最早商業化的關系數據庫管理系統,也是應用廣泛、功能強大的數據庫管理系統。Oracle作為壹個通用數據庫管理系統,不僅具有完整的數據管理功能,而且是壹個分布式數據庫系統,支持各種分布式功能,尤其是互聯網應用。作為應用開發環境,Oracle提供了壹套界面友好、功能齊全的數據庫開發工具。Oracle使用PL/SQL語言進行各種操作,具有開放性、可移植性和可擴展性的功能。特別是在Oracle 8i中,支持面向對象的功能,比如支持類、方法、屬性,使得Oracle產品成為壹個對象/關系數據庫管理系統。
Microsoft SQL Server
Microsoft SQL Server是壹個典型的關系數據庫管理系統,可以運行在多種操作系統上。它使用Transact-SQL語言來完成數據操作。因為微軟SQL Server是壹個開放的系統,其他系統可以完美的與之交互。目前最新版本的產品是微軟SQL Server 2000,具有可靠性、可擴展性、可用性和可管理性的特點,為用戶提供了完整的數據庫解決方案。
微軟辦公
作為Microsoft Office的組件之壹,Microsoft Access是Windows環境下非常流行的桌面數據庫管理系統。使用Microsoft Access不需要編寫任何代碼,但可以通過直觀的可視化操作完成大部分數據管理任務。在Microsoft Access數據庫中,有許多組成數據庫的基本元素。這些元素是存儲信息的表格,顯示人機交互界面的表格,有效檢索數據的查詢,信息輸出載體的報告,提高應用效率的宏,強大的模塊化工具。它不僅可以通過ODBC與其他數據庫連接實現數據交換和共享,還可以與Word、Excel等辦公軟件交換和共享數據,通過對象鏈接和嵌入技術將聲音、圖像等多媒體數據嵌入和鏈接到數據庫中。
數據庫管理系統的選擇原則
在選擇數據庫管理系統時,我們應該考慮以下幾個方面:
(1)構造壹個數據庫有多容易。
需要分析數據庫管理系統是否有範式要求,即是否需要按照系統規定的數據模型對現實世界進行分析,建立相應的模型;數據庫管理報表是否符合國際標準,便於系統的維護、開發和移植;是否有方便用戶使用的開發工具;支持的數據庫容量和數據庫的容量特性決定了數據庫管理系統的應用範圍。
(2)程序開發的難度。
是否有計算機輔助軟件工程工具案例——計算機輔助軟件工程工具可以幫助開發人員按照軟件工程的方法提供各個開發階段的維護和編碼環境,方便復雜軟件的開發和維護。有沒有第四代語言的開發平臺?第四代語言具有非過程化的語言設計方法,用戶無需編寫復雜的過程化代碼,易於學習、理解和維護。有沒有面向對象的設計平臺——面向對象的設計思想非常接近人類的邏輯思維方式,便於開發和維護。支持多媒體數據類型——多媒體數據需求是未來的發展趨勢,支持多媒體數據類型的數據庫管理系統必將減少應用程序的開發和維護。
(3)數據庫管理系統的性能分析。
包括性能評估(響應時間、數據單位時間吞吐量)、性能監控(內外存使用情況、系統輸入/輸出速率、SQL語句執行、數據庫元組控制)、性能管理(參數設置和調整)。
(4)支持分布式應用。
包括數據透明和網絡透明。數據透明是指用戶不需要指出數據在網絡中的什麽位置,數據庫管理系統可以自動搜索網絡,提取所需數據;網絡透明意味著用戶不需要在他們的應用中指出網絡所采用的協議。數據庫管理系統自動將數據包轉換成相應的協議數據。
(5)並行處理能力。
支持多CPU模式(SMP,CLUSTER,MPP)的系統,負載分配形式,並行處理的粒度和範圍。
(6)可移植性和可擴展性。
可移植性是指垂直和水平擴展的能力。縱向擴展要求新平臺能夠支持平臺的較低版本,數據庫客戶端/服務器機制支持集中管理模式,從而保證用戶的前期投入和系統;橫向擴展需要硬件擴展,支持單CPU模式到多CPU並行機模式(SMP,CLUSTER,MPP)的轉換。
(7)數據完整性約束。
數據完整性是指數據正確性和壹致性保護,包括實體完整性、參照完整性和復雜的事務規則。
(8)並發控制功能。
對於分布式數據庫管理系統,並發控制功能是必不可少的。因為它面對的是多任務分布式環境,可能會有多個用戶點同時讀取或寫入相同的數據。為了保證數據的壹致性,需要通過數據庫管理系統的並發控制功能來完成。評估並發控制的標準應從以下幾個方面考慮:
壹種保證查詢結果壹致性方法
數據鎖的粒度(控制數據鎖的範圍,表、頁、元組等。)
數據鎖升級管理功能
死鎖檢測和解決方案
(9)容錯性。
異常情況下的數據容錯處理。評價標準:硬件的容錯性、具有磁盤圖像處理功能的軟件的容錯性、異常軟件方法的容錯性。
(10)安全控制
包括安全程度(賬戶管理、用戶權限、網絡安全控制、數據約束)
(11)支持漢字處理能力。
包括數據庫描述語言(表名、域名、數據)的漢字處理能力和數據庫開發工具對漢字的支持能力。