複製鏈接
請複製以下鏈接發送給好友

數據庫管理系統(DBMS)

鎖定
數據庫管理系統(Database Management System,DBMS)是一種操縱和管理數據庫的大型軟件,是用於建立、使用和維護數據庫。它對數據庫進行統一的管理控制,以保證數據庫的安全性和完整性。用户通過dbms訪問數據庫中的數據,數據庫管理員也通過dbms進行數據庫的維護工作。它提供多種功能,可使多個應用程序和用户用不同的方法在同時或不同時刻去建立,修改和詢問數據庫。它使用户能方便地定義和操縱數據,維護數據的安全性和完整性,以及進行多用户下的併發控制和恢復數據庫。
中文名
數據庫管理系統
外文名
Database Management System,DBMS

數據庫管理系統(DBMS)簡介

“數據庫”作為短語最早使用的是在1963年6月,SystemDevelopmentCorporation贊助舉辦了一個題為“開發計算機管理中心數據庫”(“DevelopmentandManagementofaComputer-centeredDataBase”)的研討會。數據庫作為一個獨立的單詞大量在70年代初的歐洲出現,直到二十世紀末才被美國各大報紙使用。

數據庫管理系統(DBMS)定義

數據庫管理系統(databasemanagementsystem)是一種操縱和管理數據庫的大型軟件,是用於建立、使用和維護數據庫,簡稱dbms。它對數據庫進行統一的管理和控制,以保證數據庫的安全性和完整性。用户通過dbms訪問數據庫中的數據,數據庫管理員也通過dbms進行數據庫的維護工作。它提供多種功能,可使多個應用程序和用户用不同的方法在同時或不同時刻去建立,修改和詢問數據庫。它使用户能方便地定義和操縱數據,維護數據的安全性和完整性,以及進行多用户下的併發控制和恢復數據庫。

數據庫管理系統(DBMS)數據庫管理系統組成部分

按功能劃分,數據庫管理系統大致可分為6個部分:
(1)模式翻譯:提供數據定義語言(ddl)。用它書寫的數據庫模式被翻譯為內部表示。數據庫的邏輯結構、完整性約束和物理儲存結構保存在內部的數據字典中。數據庫的各種數據操作(如查找、修改、插入和刪除等)和數據庫的維護管理都是以數據庫模式為依據的。
(2)應用程序的編譯:把包含着訪問數據庫語句的應用程序,編譯成在dbms支持下可運行的目標程序。
(3)交互式查詢:提供易使用的交互式查詢語言,如sql。dbms負責執行查詢命令,並將查詢結果顯示在屏幕上。
(4)數據的組織與存取:提供數據在外圍儲存設備上的物理組織與存取方法。
⑸事務運行管理:提供事務運行管理及運行日誌,事務運行的安全性監控和數據完整性檢查,事務的併發控制及系統恢復等功能。
(6)數據庫的維護:為數據庫管理員提供軟件支持,包括數據安全控制、完整性保障、數據庫備份、數據庫重組以及性能監控等維護工具。
基於關係模型的數據庫管理系統已日臻完善,並已作為商品化軟件廣泛應用於各行各業。它在各户服務器結構的分佈式多用户環境中的應用,使數據庫系統的應用進一步擴展。隨着新型數據模型及數據管理的實現技術的推進,可以預期dbms軟件的性能還將更新和完善,應用領域也將進一步地拓寬。
它所提供的功能有以下幾項:
(1)數據定義功能。DBMS提供相應數據語言來定義(DDL)數據庫結構,它們是刻畫數據庫框架,並被保存在數據字典中。
(2)數據存取功能。DBMS提供數據操縱語言(DML),實現對數據庫數據的基本存取操作:檢索,插入,修改和刪除。
(3)數據庫運行管理功能。DBMS提供數據控制功能,即是數據的安全性、完整性和併發控制等對數據庫運行進行有效地控制和管理,以確保數據正確有效。
(4)數據庫的建立和維護功能。包括數據庫初始數據的裝入,數據庫的轉儲、恢復、重組織,系統性能監視、分析等功能。
(5)數據庫的傳輸。DBMS提供處理數據的傳輸,實現用户程序與DBMS之間的通信,通常與操作系統協調完成。

數據庫管理系統(DBMS)數據庫管理系統的層次結構

根據處理對象的不同,數據庫管理系統的層次結構由高級到低級依次為應用層、語言翻譯處理層、數據存取層、數據存儲層、操作系統。
(1)應用層。應用層是DBMS與終端用户和應用程序的界面層,處理的對象是各種各樣的數據庫應用。
(2)語言翻譯處理層。語言翻譯處理層是對數據庫語言的各類語句進行語法分析、視圖轉換、授權檢查、完整性檢查等。
(3)數據存取層。數據存取層處理的對象是單個元組,它將上層的集合操作轉換為單記錄操作。
(4)數據存儲層。數據存儲層處理的對象是數據頁和系統緩衝區。
(5)操作系統。操作系統是DBMS的基礎。操作系統提供的存取原語和基本的存取方法通常是作為和DBMS存儲層的接口。

數據庫管理系統(DBMS)數據庫的歷史

第一數據庫管理系統開發於1960。這個領域的先鋒是CharlesBachman。Bachman早日文件證明其目的是更有效地利用新型直接訪問存儲設備:在此之前,數據處理是基於穿孔卡片和磁帶,這系列的動作主要是加工活動。兩大數據模型從那時起延續:CODASYL根據Bachman的思想開發的網絡模型以及(顯然獨立)應用於NorthAmericanRockwell開發的一個系統中的等級模型,後來被IBM作為他們IMS產品的基礎。關係模型由E.F.Codd於1970年提出。他批評當時的模型結構混亂了信息結構的摘要描述和物力訪問機制的描述。而長期以來,關係模型依然只引起學術上的興趣。同時CODASYL系統和IMS被視為實際的工程學解決方案,當時採取的關係模型更處於理論觀點階段,(正確的)主張軟、硬件技術應及時跟進。首先的實現有伯克利大學的MichaelStonebraker的Ingres和IBM的SystemR項目。這兩者均是研究圓形,在1976年公開。第一商業產品,甲骨文和DB2在1980年左右面市。第一個成功的微機數據庫產品是運行於CP/M和PC-DOS/MS-DOS操作系統上的dBASE。20世紀80年代,研究活動的重點在分佈式數據庫系統和數據庫機,但這些進展對市場幾乎沒有影響。另一個重要的理論思想是功能型數據模型,但在除了專業應用如遺傳、分子生物學、欺詐調查等方面,在全球幾乎沒有引起注意。
在90年代,重點轉向面向對象數據庫。在需要處理比關係數據庫處理更加複雜的數據的領域去了了一些成功,如空間數據庫、數據工程(包括軟件工程庫)、多媒體數據。一些思想被關係數據庫的供應商所接納,整合chneg為產品中的新功能。
在2000年代,創新的流行的區域是XML數據庫。同關係數據庫一道,產生了許多新的創業板公司,但同時重要思想也被納入已有的關係數據庫產品中。XML數據庫的目標是消除傳統數據庫分中文件和資料的分離,允許一個組織的信息資源在同樣的地方進行存儲,而不必在意他們是否是高度系統化的資源。

數據庫管理系統(DBMS)常見數據庫管理系統介紹

FileMakerPro8.5
4thDimension或者叫4D,是一套從MacOS發展出來的數據庫系統
MicrosoftAccess從微軟公司兼併的一家公司的產品發展而來
AdabasSoftwareAG(德國)開發的的數據庫
askSam,結合了數據庫和文本編輯mitvieleninnovativenEigenschaften
BerkeleyDB加州大學Berkeley分校研究成果Caché,postrelationaleDatenbankderFirmaintersystems
Conzept16
c-treePlusFairCom公司的ISAM和關係數據庫。參看http://www.faircom.com.C語言編寫。
DB1IBM產品
DB2IBM產品,當前版本9
dBase在DOS時代十分重要的數據庫,Windows版本是VisualdBase
eXistnativeXML開放源代碼數據庫
FileMakerursprünglichvonClaris,einesehrbenutzerfreundlicherelationaleDatenbank,funktioniertmitdergleichenSoftwaresowohlunterMacOS,wieauchunterWindows,dieneuesteVersionist7.0
FoxBase被微軟收購,繼續開發出微軟FoxPro,2.6版之前有DOS和Windows版。
GuptaSQLBase,當前版本9.0
IDMS,IMS,Ingres,InterBase,MaxDB參看SAPDB
微軟Access,微軟公司Office組件之一,當前版本2003(另外還有XP)
微軟VisualFoxPro,當前版本8.0
MSSQL-Server,當前版本2005
Sybase,早期版本被微軟購買開發出SQL-Server。
mSQL
MySQL英特網上十分流行的數據庫服務器,結合PHP腳本技術和ApacheWeb服務器使用。維基採用的就是MySQL數據庫
Oracle,當前版本10g
ParadoxBorland開發後轉手Corel(WordPerfectOffice)繼續開發PostgreSQL,當前版本8.0.4(2005年2月)PrimeBase,rrdtool,RoundRobinDatabase,SAPDBursprünglichvonSAP,wurdeaberMySQLzurweiterenEntwicklungundPflegeübergebenundfirmiertjetztunterMaxDB.
TaminoXML數據庫k,基於Adabas的版本由SoftwareAG開發,
Teradata,einesehrleistungsfähigeDatenbankderFirmaNCR.WirdfürgroßeDatenmengen,sog.DataWarehouseverwendet.
VisualdBase,dieletzteVersionwar5.0,dannverschwanddBasevomMarkt
XindicenativeXML-DatenbankderApacheSoftwareFoundation
SQLiteCBibliothekfürkomplettesSQLbasiertesDatenbanksystemimkommandozeilenorientiertenProgramms

數據庫管理系統(DBMS)數據庫管理系統選擇原則

選擇數據庫管理系統時應從以下幾個方面予以考慮:
(1) 構造數據庫的難易程度。
需要分析數據庫管理系統有沒有範式的要求,即是否必須按照系統所規定的數據模型分析現實世界,建立相應的模型;數據庫管理語句是否符合國際標準,符合國際標準則便於系統的維護、開發、移植;有沒有面向用户的易用的開發工具;所支持的數據庫容量,數據庫的容量特性決定了數據庫管理系統的使用範圍。
(2) 程序開發的難易程度。
有無計算機輔助軟件工程工具CASE——計算機輔助軟件工程工具可以幫助開發者根據軟件工程的方法提供各開發階段的維護、編碼環境,便於複雜軟件的開發、維護。有無第四代語言的開發平台——第四代語言具有非過程語言的設計方法,用户不需編寫複雜的過程性代碼,易學、易懂、易維護。有無面向對象的設計平台——面向對象的設計思想十分接近人類的邏輯思維方式,便於開發和維護。對多媒體數據類型的支持 ——多媒體數據需求是今後發展的趨勢,支持多媒體數據類型的數據庫管理系統必將減少應用程序的開發和維護工作。
(3) 數據庫管理系統的性能分析。
包括性能評估(響應時間、數據單位時間吞吐量)、性能監控(內外存使用情況、系統輸入/輸出速率、SQL語句的執行,數據庫元組控制)、性能管理(參數設定與調整)。
(4) 對分佈式應用的支持。
包括數據透明與網絡透明程度。數據透明是指用户在應用中不需指出數據在網絡中的什麼節點上,數據庫管理系統可以自動搜索網絡,提取所需數據;網絡透明是指用户在應用中無需指出網絡所採用的協議。數據庫管理系統自動將數據包轉換成相應的協議數據。
(5) 並行處理能力。
支持多CPU模式的系統(SMP,CLUSTER,MPP),負載的分配形式,並行處理的顆粒度、範圍。
(6) 可移植性和可括展性。
可移植性指垂直擴展和水平擴展能力。垂直擴展要求新平台能夠支持低版本的平台,數據庫客户機/ 服務器機制支持集中式管理模式,這樣保證用户以前的投資和系統;水平擴展要求滿足硬件上的擴展,支持從單CPU模式轉換成多CPU並行機模式( SMP, CLUSTER, MPP)
數據完整性指數據的正確性和一致性保護,包括實體完整性、參照完整性、複雜的事務規則。
(8) 併發控制功能。
對於分佈式數據庫管理系統,併發控制功能是必不可少的。因為它面臨的是多任務分佈環境,可能會有多個用户點在同一時刻對同一數據進行讀或寫操作,為了保證數據的一致性,需要由數據庫管理系統的併發控制功能來完成。評價併發控制的標準應從下面幾方面加以考慮:
保證查詢結果一致性方法
數據鎖的顆粒度(數據鎖的控制範圍,表、頁、元組等)
數據鎖的升級管理功能
死鎖的檢測和解決方法
(9) 容錯能力。
異常情況下對數據的容錯處理。評價標準:硬件的容錯,有無磁盤鏡象處理功能軟件的容錯,有無軟件方法異常情況的容錯功能
(10) 安全性控制
包括安全保密的程度(帳户管理、用户權限、網絡安全控制、數據約束)
(11) 支持漢字處理能力
包括數據庫描述語言的漢字處理能力(表名、域名、數據)和數據庫開發工具對漢字的支持能力。
(12)當突然停電、出現硬件故障、軟件失效、病毒或嚴重錯誤操作時,系統應提供恢復數據庫的功能,如定期轉存、恢復備份、回滾等,使系統有能力將數據庫恢復到損壞到以前的狀態。