登錄

數(shù)據(jù)庫(kù)管理系統(tǒng)

百科 > 信息管理系統(tǒng) > 數(shù)據(jù)庫(kù)管理系統(tǒng)

1.什么是數(shù)據(jù)庫(kù)管理系統(tǒng)

數(shù)據(jù)庫(kù)管理系統(tǒng)(Database Management System,DBMS)是一種操縱和管理數(shù)據(jù)庫(kù)的大型軟件,是用于建立、使用和維護(hù)數(shù)據(jù)庫(kù)。它對(duì)數(shù)據(jù)庫(kù)進(jìn)行統(tǒng)一的管理和控制,以保證數(shù)據(jù)庫(kù)的安全性和完整性。用戶通過dbms訪問數(shù)據(jù)庫(kù)中的數(shù)據(jù),數(shù)據(jù)庫(kù)管理員也通過dbms進(jìn)行數(shù)據(jù)庫(kù)的維護(hù)工作。它提供多種功能,可使多個(gè)應(yīng)用程序和用戶用不同的方法在同時(shí)或不同時(shí)刻去建立,修改和詢問數(shù)據(jù)庫(kù)。它使用戶能方便地定義和操縱數(shù)據(jù),維護(hù)數(shù)據(jù)的安全性和完整性,以及進(jìn)行多用戶下的并發(fā)控制和恢復(fù)數(shù)據(jù)庫(kù)。

2.數(shù)據(jù)庫(kù)管理系統(tǒng)組成部分

按功能劃分,數(shù)據(jù)庫(kù)管理系統(tǒng)大致可分為6個(gè)部分:

(1)模式翻譯:提供數(shù)據(jù)定義語言(ddl)。用它書寫的數(shù)據(jù)庫(kù)模式被翻譯為內(nèi)部表示。數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)、完整性約束和物理儲(chǔ)存結(jié)構(gòu)保存在內(nèi)部的數(shù)據(jù)字典中。數(shù)據(jù)庫(kù)的各種數(shù)據(jù)操作(如查找、修改、插入和刪除等)和數(shù)據(jù)庫(kù)的維護(hù)管理都是以數(shù)據(jù)庫(kù)模式為依據(jù)的。

(2)應(yīng)用程序的編譯:把包含著訪問數(shù)據(jù)庫(kù)語句的應(yīng)用程序,編譯成在dbms支持下可運(yùn)行的目標(biāo)程序。

(3)交互式查詢:提供易使用的交互式查詢語言,如sql。dbms負(fù)責(zé)執(zhí)行查詢命令,并將查詢結(jié)果顯示在屏幕上。

(4)數(shù)據(jù)的組織與存?。禾峁?shù)據(jù)在外圍儲(chǔ)存設(shè)備上的物理組織與存取方法。

⑸事務(wù)運(yùn)行管理:提供事務(wù)運(yùn)行管理及運(yùn)行日志,事務(wù)運(yùn)行的安全性監(jiān)控和數(shù)據(jù)完整性檢查,事務(wù)的并發(fā)控制及系統(tǒng)恢復(fù)等功能。

(6)數(shù)據(jù)庫(kù)的維護(hù):為數(shù)據(jù)庫(kù)管理員提供軟件支持,包括數(shù)據(jù)安全控制、完整性保障、數(shù)據(jù)庫(kù)備份、數(shù)據(jù)庫(kù)重組以及性能監(jiān)控等維護(hù)工具。

基于關(guān)系模型的數(shù)據(jù)庫(kù)管理系統(tǒng)已日臻完善,并已作為商品化軟件廣泛應(yīng)用于各行各業(yè)。它在各戶服務(wù)器結(jié)構(gòu)的分布式多用戶環(huán)境中的應(yīng)用,使數(shù)據(jù)庫(kù)系統(tǒng)的應(yīng)用進(jìn)一步擴(kuò)展。隨著新型數(shù)據(jù)模型及數(shù)據(jù)管理的實(shí)現(xiàn)技術(shù)的推進(jìn),可以預(yù)期dbms軟件的性能還將更新和完善,應(yīng)用領(lǐng)域也將進(jìn)一步地拓寬。

它所提供的功能有以下幾項(xiàng):

(1)數(shù)據(jù)定義功能。DBMS提供相應(yīng)數(shù)據(jù)語言來定義(DDL)數(shù)據(jù)庫(kù)結(jié)構(gòu),它們是刻畫數(shù)據(jù)庫(kù)框架,并被保存在數(shù)據(jù)字典中。

(2)數(shù)據(jù)存取功能。DBMS提供數(shù)據(jù)操縱語言(DML),實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)的基本存取操作:檢索,插入,修改和刪除。

(3)數(shù)據(jù)庫(kù)運(yùn)行管理功能。DBMS提供數(shù)據(jù)控制功能,即是數(shù)據(jù)的安全性、完整性和并發(fā)控制等對(duì)數(shù)據(jù)庫(kù)運(yùn)行進(jìn)行有效地控制和管理,以確保數(shù)據(jù)正確有效。

(4)數(shù)據(jù)庫(kù)的建立和維護(hù)功能。包括數(shù)據(jù)庫(kù)初始數(shù)據(jù)的裝入,數(shù)據(jù)庫(kù)的轉(zhuǎn)儲(chǔ)、恢復(fù)、重組織,系統(tǒng)性能監(jiān)視、分析等功能。

(5)數(shù)據(jù)庫(kù)的傳輸。DBMS提供處理數(shù)據(jù)的傳輸,實(shí)現(xiàn)用戶程序與DBMS之間的通信,通常與操作系統(tǒng)協(xié)調(diào)完成。

3.數(shù)據(jù)庫(kù)管理系統(tǒng)的層次結(jié)構(gòu)

根據(jù)處理對(duì)象的不同,數(shù)據(jù)庫(kù)管理系統(tǒng)的層次結(jié)構(gòu)由高級(jí)到低級(jí)依次為應(yīng)用層、語言翻譯處理層、數(shù)據(jù)存取層、數(shù)據(jù)存儲(chǔ)層、操作系統(tǒng)。

(1)應(yīng)用層。應(yīng)用層是DBMS與終端用戶和應(yīng)用程序的界面層,處理的對(duì)象是各種各樣的數(shù)據(jù)庫(kù)應(yīng)用。

(2)語言翻譯處理層。語言翻譯處理層是對(duì)數(shù)據(jù)庫(kù)語言的各類語句進(jìn)行語法分析、視圖轉(zhuǎn)換、授權(quán)檢查、完整性檢查等。

(3)數(shù)據(jù)存取層。數(shù)據(jù)存取層處理的對(duì)象是單個(gè)元組,它將上層的集合操作轉(zhuǎn)換為單記錄操作。

(4)數(shù)據(jù)存儲(chǔ)層。數(shù)據(jù)存儲(chǔ)層處理的對(duì)象是數(shù)據(jù)頁(yè)和系統(tǒng)緩沖區(qū)。

(5)操作系統(tǒng)。操作系統(tǒng)是DBMS的基礎(chǔ)。操作系統(tǒng)提供的存取原語和基本的存取方法通常是作為和DBMS存儲(chǔ)層的接口。

4.數(shù)據(jù)庫(kù)管理系統(tǒng)的功能和特征

數(shù)據(jù)管理技術(shù)的發(fā)展大致經(jīng)歷了人工管理階段(20世紀(jì)50年代中期前)、文件系統(tǒng)階段(20世紀(jì)50年代后期到60年代中期)、數(shù)據(jù)庫(kù)階段(20世紀(jì)60年代末到70年代末)和高級(jí)數(shù)據(jù)庫(kù)技術(shù)階段(20世紀(jì)80年代初開始)。

數(shù)據(jù)庫(kù)是長(zhǎng)期存儲(chǔ)在計(jì)算機(jī)內(nèi)的、有組織的、可共享的數(shù)據(jù)的集合。

數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)是一種負(fù)責(zé)數(shù)據(jù)庫(kù)的定義、建立、操作、管理和維護(hù)的軟件系統(tǒng)。其目的是保證數(shù)據(jù)安全可靠,提高數(shù)據(jù)庫(kù)應(yīng)用的簡(jiǎn)明性和方便性。DBMS的工作機(jī)理是把用戶對(duì)數(shù)據(jù)的操作轉(zhuǎn)化為對(duì)系統(tǒng)存儲(chǔ)文件的操作,有效地實(shí)現(xiàn)數(shù)據(jù)庫(kù)3級(jí)之間的轉(zhuǎn)化。數(shù)據(jù)庫(kù)管理系統(tǒng)的主要職能有數(shù)據(jù)庫(kù)的定義和建立、數(shù)據(jù)庫(kù)的操作、數(shù)據(jù)庫(kù)的控制、數(shù)據(jù)庫(kù)的維護(hù)、故障恢復(fù)和數(shù)據(jù)通信。

數(shù)據(jù)庫(kù)系統(tǒng)(DBS)是實(shí)現(xiàn)有組織地、動(dòng)態(tài)地存儲(chǔ)大量關(guān)聯(lián)數(shù)據(jù)方便多用戶訪問的計(jì)算機(jī)軟件、硬件和數(shù)據(jù)資源組成的系統(tǒng)。一個(gè)典型的數(shù)據(jù)庫(kù)系統(tǒng)包括數(shù)據(jù)庫(kù)、硬件、軟件(應(yīng)用程序)和數(shù)據(jù)庫(kù)管理員(DBA)4個(gè)部分。根據(jù)計(jì)算機(jī)的系統(tǒng)結(jié)構(gòu),DBS可分成集中式、客戶/服務(wù)器式、并行式和分布式4種。

與文件系統(tǒng)階段相比,數(shù)據(jù)庫(kù)技術(shù)的數(shù)據(jù)管理方式具有以下特點(diǎn)。

(1)采用復(fù)雜的數(shù)據(jù)模型表示數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)冗余小,易擴(kuò)充,實(shí)現(xiàn)了數(shù)據(jù)共享。

(2)具有較高的數(shù)據(jù)和程序獨(dú)立性,數(shù)據(jù)庫(kù)的獨(dú)立性有物理獨(dú)立性和邏輯獨(dú)立性。

(3)數(shù)據(jù)庫(kù)系統(tǒng)為用戶提供了方便的用戶接口。

(4)數(shù)據(jù)庫(kù)系統(tǒng)提供4個(gè)方面的數(shù)據(jù)控制功能,分別是并發(fā)控制、恢復(fù)、完整性和安全性。數(shù)據(jù)庫(kù)中各個(gè)應(yīng)用程序所使用的數(shù)據(jù)由數(shù)據(jù)庫(kù)系統(tǒng)統(tǒng)一規(guī)定,按照一定的數(shù)據(jù)模型組織和建立,由系統(tǒng)統(tǒng)一管理和集中控制。

(5)增加了系統(tǒng)的靈活性。

高級(jí)數(shù)據(jù)庫(kù)技術(shù)階段的主要標(biāo)志是分布式數(shù)據(jù)庫(kù)系統(tǒng)和面向?qū)ο髷?shù)據(jù)庫(kù)系統(tǒng)的出現(xiàn)。

集中式系統(tǒng)的弱點(diǎn)是隨著數(shù)據(jù)量的增加,系統(tǒng)相當(dāng)龐大、操作復(fù)雜、開銷大,而且因?yàn)閿?shù)據(jù)集中存儲(chǔ),大量的通信都要通過主機(jī),造成擁擠。分布式數(shù)據(jù)庫(kù)系統(tǒng)的主要特點(diǎn)是數(shù)據(jù)在物理上分散存儲(chǔ),在邏輯上是統(tǒng)一的。分布式數(shù)據(jù)庫(kù)系統(tǒng)的多數(shù)處理就地完成,各地的計(jì)算機(jī)由數(shù)據(jù)通信網(wǎng)絡(luò)相聯(lián)系。

面向?qū)ο髷?shù)據(jù)庫(kù)系統(tǒng)是面向?qū)ο蟮某绦蛟O(shè)計(jì)技術(shù)與數(shù)據(jù)庫(kù)技術(shù)相結(jié)合的產(chǎn)物。面向?qū)ο髷?shù)據(jù)庫(kù)系統(tǒng)的主要特點(diǎn)是具有面向?qū)ο蠹夹g(shù)的封裝性和繼承性,提高了軟件的可重用性。

從目前的數(shù)據(jù)庫(kù)系統(tǒng)來看,主要存在以下缺點(diǎn)。

(1)采用靜態(tài)數(shù)據(jù)模型,數(shù)據(jù)類型和操作簡(jiǎn)單、固定,只能處理短壽命事務(wù)。

(2)不能適應(yīng)計(jì)算機(jī)輔助設(shè)計(jì)、計(jì)算機(jī)輔助軟件工程、圖像處理、超文本和多媒體等新的應(yīng)用。

數(shù)據(jù)庫(kù)的未來發(fā)展趨勢(shì)如下:

(1)分布式數(shù)據(jù)管理。

(2)支持面向?qū)ο蟮臄?shù)據(jù)模型。

(3)體系結(jié)構(gòu)適應(yīng)功能擴(kuò)展,能處理復(fù)雜數(shù)據(jù)類型和長(zhǎng)壽命事務(wù),能和以前的數(shù)據(jù)庫(kù)共存。

(4)數(shù)據(jù)庫(kù)技術(shù)與其他學(xué)科相結(jié)合(分布式數(shù)據(jù)庫(kù)、并行數(shù)據(jù)庫(kù)、多媒體數(shù)據(jù)庫(kù)、Internet數(shù)據(jù)庫(kù)、知識(shí)庫(kù)、演繹數(shù)據(jù)庫(kù)和主動(dòng)數(shù)據(jù)庫(kù))。

5.數(shù)據(jù)庫(kù)管理系統(tǒng)選擇原則

選擇數(shù)據(jù)庫(kù)管理系統(tǒng)時(shí)應(yīng)從以下幾個(gè)方面予以考慮:

(1) 構(gòu)造數(shù)據(jù)庫(kù)的難易程度。

需要分析數(shù)據(jù)庫(kù)管理系統(tǒng)有沒有范式的要求,即是否必須按照系統(tǒng)所規(guī)定的數(shù)據(jù)模型分析現(xiàn)實(shí)世界,建立相應(yīng)的模型;數(shù)據(jù)庫(kù)管理語句是否符合國(guó)際標(biāo)準(zhǔn),符合國(guó)際標(biāo)準(zhǔn)則便于系統(tǒng)的維護(hù)、開發(fā)、移植;有沒有面向用戶的易用的開發(fā)工具;所支持的數(shù)據(jù)庫(kù)容量,數(shù)據(jù)庫(kù)的容量特性決定了數(shù)據(jù)庫(kù)管理系統(tǒng)的使用范圍。

(2) 程序開發(fā)的難易程度。

有無計(jì)算機(jī)輔助軟件工程工具CASE——計(jì)算機(jī)輔助軟件工程工具可以幫助開發(fā)者根據(jù)軟件工程的方法提供各開發(fā)階段的維護(hù)、編碼環(huán)境,便于復(fù)雜軟件的開發(fā)、維護(hù)。有無第四代語言的開發(fā)平臺(tái)——第四代語言具有非過程語言的設(shè)計(jì)方法,用戶不需編寫復(fù)雜的過程性代碼,易學(xué)、易懂、易維護(hù)。有無面向?qū)ο蟮脑O(shè)計(jì)平臺(tái)——面向?qū)ο蟮脑O(shè)計(jì)思想十分接近人類的邏輯思維方式,便于開發(fā)和維護(hù)。對(duì)多媒體數(shù)據(jù)類型的支持 ——多媒體數(shù)據(jù)需求是今后發(fā)展的趨勢(shì),支持多媒體數(shù)據(jù)類型的數(shù)據(jù)庫(kù)管理系統(tǒng)必將減少應(yīng)用程序的開發(fā)和維護(hù)工作。

(3) 數(shù)據(jù)庫(kù)管理系統(tǒng)的性能分析。

包括性能評(píng)估(響應(yīng)時(shí)間、數(shù)據(jù)單位時(shí)間吞吐量)、性能監(jiān)控(內(nèi)外存使用情況、系統(tǒng)輸入/輸出速率、SQL語句的執(zhí)行,數(shù)據(jù)庫(kù)元組控制)、性能管理(參數(shù)設(shè)定與調(diào)整)。

(4) 對(duì)分布式應(yīng)用的支持。

包括數(shù)據(jù)透明與網(wǎng)絡(luò)透明程度。數(shù)據(jù)透明是指用戶在應(yīng)用中不需指出數(shù)據(jù)在網(wǎng)絡(luò)中的什么節(jié)點(diǎn)上,數(shù)據(jù)庫(kù)管理系統(tǒng)可以自動(dòng)搜索網(wǎng)絡(luò),提取所需數(shù)據(jù);網(wǎng)絡(luò)透明是指用戶在應(yīng)用中無需指出網(wǎng)絡(luò)所采用的協(xié)議。數(shù)據(jù)庫(kù)管理系統(tǒng)自動(dòng)將數(shù)據(jù)包轉(zhuǎn)換成相應(yīng)的協(xié)議數(shù)據(jù)。

(5) 并行處理能力。

支持多CPU模式的系統(tǒng)(SMP,CLUSTER,MPP),負(fù)載的分配形式,并行處理的顆粒度、范圍。

(6) 可移植性和可括展性。

可移植性指垂直擴(kuò)展和水平擴(kuò)展能力。垂直擴(kuò)展要求新平臺(tái)能夠支持低版本的平臺(tái),數(shù)據(jù)庫(kù)客戶機(jī)/ 服務(wù)器機(jī)制支持集中式管理模式,這樣保證用戶以前的投資和系統(tǒng);水平擴(kuò)展要求滿足硬件上的擴(kuò)展,支持從單CPU模式轉(zhuǎn)換成多CPU并行機(jī)模式( SMP, CLUSTER, MPP)

(7) 數(shù)據(jù)完整性約束。

數(shù)據(jù)完整性指數(shù)據(jù)的正確性和一致性保護(hù),包括實(shí)體完整性、參照完整性、復(fù)雜的事務(wù)規(guī)則。

(8) 并發(fā)控制功能。

對(duì)于分布式數(shù)據(jù)庫(kù)管理系統(tǒng),并發(fā)控制功能是必不可少的。因?yàn)樗媾R的是多任務(wù)分布環(huán)境,可能會(huì)有多個(gè)用戶點(diǎn)在同一時(shí)刻對(duì)同一數(shù)據(jù)進(jìn)行讀或?qū)懖僮?,為了保證數(shù)據(jù)的一致性,需要由數(shù)據(jù)庫(kù)管理系統(tǒng)的并發(fā)控制功能來完成。評(píng)價(jià)并發(fā)控制的標(biāo)準(zhǔn)應(yīng)從下面幾方面加以考慮:

保證查詢結(jié)果一致性方法

數(shù)據(jù)鎖的顆粒度(數(shù)據(jù)鎖的控制范圍,表、頁(yè)、元組等)

數(shù)據(jù)鎖的升級(jí)管理功能

死鎖的檢測(cè)和解決方法

(9) 容錯(cuò)能力。

異常情況下對(duì)數(shù)據(jù)的容錯(cuò)處理。評(píng)價(jià)標(biāo)準(zhǔn):硬件的容錯(cuò),有無磁盤鏡象處理功能軟件的容錯(cuò),有無軟件方法異常情況的容錯(cuò)功能

(10) 安全性控制

包括安全保密的程度(帳戶管理、用戶權(quán)限、網(wǎng)絡(luò)安全控制、數(shù)據(jù)約束)

(11) 支持漢字處理能力

包括數(shù)據(jù)庫(kù)描述語言的漢字處理能力(表名、域名、數(shù)據(jù))和數(shù)據(jù)庫(kù)開發(fā)工具對(duì)漢字的支持能力。

(12)當(dāng)突然停電、出現(xiàn)硬件故障、軟件失效、病毒或嚴(yán)重錯(cuò)誤操作時(shí),系統(tǒng)應(yīng)提供恢復(fù)數(shù)據(jù)庫(kù)的功能,如定期轉(zhuǎn)存、恢復(fù)備份、回滾等,使系統(tǒng)有能力將數(shù)據(jù)庫(kù)恢復(fù)到損壞到以前的狀態(tài)。

6.數(shù)據(jù)庫(kù)管理系統(tǒng)的代表

Oracle

Oracle是一個(gè)最早商品化的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),也是應(yīng)用廣泛、功能強(qiáng)大的數(shù)據(jù)庫(kù)管理系統(tǒng)。Oracle作為一個(gè)通用的數(shù)據(jù)庫(kù)管理系統(tǒng),不僅具有完整的數(shù)據(jù)管理功能,還是一個(gè)分布式數(shù)據(jù)庫(kù)系統(tǒng),支持各種分布式功能,特別是支持 Internet應(yīng)用。作為一個(gè)應(yīng)用開發(fā)環(huán)境,Oracle提供了一套界面友好、功能齊全的數(shù)據(jù)庫(kù)開發(fā)工具。Oracle使用PL/SQL語言執(zhí)行各種操作,具有可開放性、可移植性、可伸縮性等功能。特別是在Oracle 8i中,支持面向?qū)ο蟮墓δ?,如支持類、方法、屬性等,使得Oracle 產(chǎn)品成為一種對(duì)象/關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)。目前最新版本是Oracle 11g。

PostgreSQL

PostgreSQL 是一個(gè)自由的對(duì)象-關(guān)系數(shù)據(jù)庫(kù)服務(wù)器(數(shù)據(jù)庫(kù)管理系統(tǒng)),它在靈活的 BSD-風(fēng)格許可證下發(fā)行。它在其他開放源代碼數(shù)據(jù)庫(kù)系統(tǒng)(比如 MySQL 和 Firebird),和專有系統(tǒng)比如 Oracle、Sybase、IBM 的 DB2 和 Microsoft SQL Server之外,為用戶又提供了一種選擇。

Microsoft SQL Server

Microsoft SQL Server是一種典型的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)。可以在許多操作系統(tǒng)上運(yùn)行,它使用Transact-SQL語言完成數(shù)據(jù)操作。由于Microsoft SQL Server是開放式的系統(tǒng),其它系統(tǒng)可以與它進(jìn)行完好的交互操作。目前最新版本的產(chǎn)品為Microsoft SQL Server 2008,它具有可靠性、可伸縮性、可用性、可管理性等特點(diǎn),為用戶提供完整的數(shù)據(jù)庫(kù)解決方案。

Microsoft Access

作為Microsoft Office組件之一的Microsoft Access是在Windows環(huán)境下非常流行的桌面型數(shù)據(jù)庫(kù)管理系統(tǒng)。使用Microsoft Access無需編寫任何代碼,只需通過直觀的可視化操作就可以完成大部分?jǐn)?shù)據(jù)管理任務(wù)。在Microsoft Access數(shù)據(jù)庫(kù)中,包括許多組成數(shù)據(jù)庫(kù)的基本要素。這些要素是存儲(chǔ)信息的表、顯示人機(jī)交互界面的窗體、有效檢索數(shù)據(jù)的查詢、信息輸出載體的報(bào)表、提高應(yīng)用效率的宏、功能強(qiáng)大的模塊工具等。它不僅可以通過ODBC與其它數(shù)據(jù)庫(kù)相連,實(shí)現(xiàn)數(shù)據(jù)交換和共享,還可以與Word、Excel等辦公軟件進(jìn)行數(shù)據(jù)交換和共享,并且通過對(duì)象鏈接與嵌入技術(shù)在數(shù)據(jù)庫(kù)中嵌入和鏈接聲音、圖像等多媒體數(shù)據(jù)。

評(píng)論  |   0條評(píng)論