登錄

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

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

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

數(shù)據(jù)庫系統(tǒng)是指在計算機系統(tǒng)中引入數(shù)據(jù)庫后構(gòu)成的系統(tǒng),一般由數(shù)據(jù)庫數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具)、應用系統(tǒng)、數(shù)據(jù)庫管理員和用戶構(gòu)成。[1]

數(shù)據(jù)庫系統(tǒng)是一個由硬件、軟件(操作系統(tǒng)、數(shù)據(jù)庫管理系統(tǒng)和編譯系統(tǒng)等)、數(shù)據(jù)庫和用戶構(gòu)成的完整計算機應用系統(tǒng)。數(shù)據(jù)庫是數(shù)據(jù)庫系統(tǒng)的核心和管理對象。因此,數(shù)據(jù)庫系統(tǒng)的含義已經(jīng)不僅僅是一個對數(shù)據(jù)進行管理的軟件,也不僅僅是一個數(shù)據(jù)庫,數(shù)據(jù)庫系統(tǒng)是一個實際運行的,按照數(shù)據(jù)庫方式存儲、維護和向應用系統(tǒng)提供數(shù)據(jù)支持的系統(tǒng)。[2]

2.數(shù)據(jù)庫系統(tǒng)階段[3]

20世紀60年代后期,使用電子計算機進行數(shù)據(jù)處理的規(guī)模越來越大,同時出現(xiàn)了大容量且價格低廉的磁盤存儲器,操作系統(tǒng)也日漸成熟。為了解決數(shù)據(jù)的獨立性問題,實現(xiàn)數(shù)據(jù)的統(tǒng)一管理,達到數(shù)據(jù)共享的目的,出現(xiàn)了數(shù)據(jù)庫技術(shù)。數(shù)據(jù)庫技術(shù)從20世紀60年代中期產(chǎn)生到今天,僅僅30多年的歷史,經(jīng)歷了三代演變,發(fā)展成為以數(shù)據(jù)建模和DBMS核心技術(shù)為主,內(nèi)容豐富的一門學科;帶動了一個巨大的軟件產(chǎn)業(yè)——DBMs產(chǎn)品及其相關(guān)工具和解決方案。數(shù)據(jù)庫技術(shù)取得了巨大的成功,從第一代層次與網(wǎng)絡數(shù)據(jù)庫系統(tǒng)和第二代關(guān)系數(shù)據(jù)庫系統(tǒng),發(fā)展到第三代以面向?qū)ο髷?shù)據(jù)庫模型為主要特征的新一代數(shù)據(jù)庫系統(tǒng)。

1.第一代數(shù)據(jù)庫系統(tǒng)

是20世紀70年代研制的層次和網(wǎng)狀數(shù)據(jù)庫系統(tǒng)。1963年,Bachman設計開發(fā)的IDS系統(tǒng)開始投入運行,它可以為多個COBOL程序共享數(shù)據(jù)庫;1968年,TOTAL等網(wǎng)狀數(shù)據(jù)庫系統(tǒng)開始出現(xiàn);1969年,IBM公司McGee等人開發(fā)的層次式數(shù)據(jù)庫系統(tǒng)的IMS系統(tǒng)發(fā)表,它可以讓多個程序共享數(shù)據(jù)庫。1969年lo月,CODASYL數(shù)據(jù)庫研制者提出了網(wǎng)絡模型數(shù)據(jù)庫系統(tǒng)規(guī)范報告,使數(shù)據(jù)庫系統(tǒng)開始走向規(guī)范化和標準化。1971年,美國數(shù)據(jù)庫系統(tǒng)語言協(xié)會下屬的數(shù)據(jù)庫任務組對網(wǎng)絡數(shù)據(jù)庫方法進行了系統(tǒng)的研究、探討,提出了稱為DBTG報告的若干報告,DBTG報告確定并建立了網(wǎng)絡數(shù)據(jù)庫系統(tǒng)的許多概念、方法和技術(shù),提出了三級抽象模式,即對應用程序所需的那部分數(shù)據(jù)結(jié)構(gòu)描述的外模式,對整個客體系統(tǒng)數(shù)據(jù)結(jié)構(gòu)描述的概念模式,對數(shù)據(jù)存儲結(jié)構(gòu)描述的內(nèi)模式,解決了數(shù)據(jù)獨立性的問題,標志著數(shù)據(jù)庫在理論上的成熟。正因為如此,許多專家認為數(shù)據(jù)庫技術(shù)起源于20世紀60年代末。

2.第二代數(shù)據(jù)庫系統(tǒng)

是關(guān)系數(shù)據(jù)庫系統(tǒng)。1970年IBM公司Codd發(fā)表了題為“大型共享數(shù)據(jù)庫數(shù)據(jù)的關(guān)系模型”的論文,提出了關(guān)系數(shù)據(jù)模型,開創(chuàng)了關(guān)系數(shù)據(jù)庫方法和關(guān)系數(shù)據(jù)庫理論。關(guān)系方法由于其理論上的完美和結(jié)構(gòu)上的簡單,對數(shù)據(jù)庫技術(shù)的發(fā)展起了至關(guān)重要的作用,成功地為關(guān)系數(shù)據(jù)庫技術(shù)奠定了理論基礎。20世紀70年代是關(guān)系數(shù)據(jù)庫理論研究和原型系統(tǒng)開發(fā)的時代。關(guān)系數(shù)據(jù)庫系統(tǒng)的研究取得了一系列的成果,主要包括以下幾個方面:

(1)奠定了關(guān)系模型的理論基礎,給出了被人們普遍接受的關(guān)系模型的規(guī)范說明。

(2)提出了關(guān)系數(shù)據(jù)語言,如關(guān)系代數(shù)、關(guān)系演算、SQL語言、QBE等。這些描述性語言一改以往程序設計語言和網(wǎng)狀、層次數(shù)據(jù)庫語言的面向過程的風格,以其易學易懂的優(yōu)點得到了最終用戶的歡迎,為20世紀80年代數(shù)據(jù)庫語言標準化打下了基礎。

(3)研制了大量的關(guān)系數(shù)據(jù)庫系統(tǒng)原型,攻克了系統(tǒng)實現(xiàn)中查詢優(yōu)化、并發(fā)控制、故障恢復等一系列關(guān)鍵技術(shù)。不僅大大豐富了數(shù)據(jù)庫管理系統(tǒng)實現(xiàn)技術(shù)和數(shù)據(jù)庫理論,更重要的是促進了關(guān)系數(shù)據(jù)庫系統(tǒng)產(chǎn)品的蓬勃發(fā)展和廣泛應用。

3.第三代數(shù)據(jù)庫系統(tǒng)

20世紀80年代以來,數(shù)據(jù)庫理論和應用進入成熟發(fā)展時期。隨著計算技術(shù)和計算機網(wǎng)絡的發(fā)展,計算機應用領(lǐng)域迅速擴展,數(shù)據(jù)庫應用領(lǐng)域也在不斷地擴大,數(shù)據(jù)庫技術(shù)在商業(yè)領(lǐng)域的巨大成就刺激了其他領(lǐng)域?qū)?shù)據(jù)庫需求的迅速增長。一方面,新的數(shù)據(jù)庫應用領(lǐng)域,如計算機輔助設計/管理(CAD/CAM)、過程控制、辦公自動化系統(tǒng)、地理信息系統(tǒng)(GIS)、計算機制造系統(tǒng)(CIMS)等,為數(shù)據(jù)庫的應用開辟了新的天地;另一方面,在實際應用中管理方面的新需求也直接推動了數(shù)據(jù)庫技術(shù)的研究與發(fā)展。

以關(guān)系數(shù)據(jù)庫為代表的傳統(tǒng)數(shù)據(jù)庫已經(jīng)很難勝任新領(lǐng)域的需求,因為新的應用要求數(shù)據(jù)庫能處理復雜性較高的數(shù)據(jù),如處理與時間有關(guān)的屬性,甚至還要求數(shù)據(jù)庫有動態(tài)性和主動性。這樣就必須有新的數(shù)據(jù)庫技術(shù)才能夠滿足現(xiàn)實需要,為了滿足現(xiàn)代應用的需求,必須將數(shù)據(jù)庫技術(shù)與其他現(xiàn)代數(shù)據(jù)處理技術(shù)(如面向?qū)ο蠹夹g(shù)、時序和實時處理技術(shù)、人工智能技術(shù)、多媒體技術(shù))完善地集成,以形成“新一代數(shù)據(jù)庫技術(shù)”,也可稱為“現(xiàn)代數(shù)據(jù)庫技術(shù)”,如時態(tài)數(shù)據(jù)庫技術(shù)、實時數(shù)據(jù)庫技術(shù)和多媒體數(shù)據(jù)庫技術(shù)等。第三代數(shù)據(jù)庫系統(tǒng)中最主要的數(shù)據(jù)庫類型是面向?qū)ο髷?shù)據(jù)庫系統(tǒng)(objectorienteddatabasesystem,簡稱OODBS),它是數(shù)據(jù)庫技術(shù)與面向?qū)ο蟪绦蛟O計方法相結(jié)合的產(chǎn)物,它既是一個DBMS,又是一個面向?qū)ο笙到y(tǒng)。因而既具有DBMS特性,如持久性、輔助管理、數(shù)據(jù)共享(并發(fā)性)、數(shù)據(jù)可靠性(事務管理和恢復)、查詢處理和模式修改等,又具有面向?qū)ο蟮奶卣?,如類型/類、封裝性/數(shù)據(jù)抽象、繼承性、對象標識、復合對象和可擴充等特性。

3.數(shù)據(jù)庫系統(tǒng)的特點[3]

用數(shù)據(jù)庫系統(tǒng)來管理數(shù)據(jù)具有如下特點:

1.數(shù)據(jù)結(jié)構(gòu)化

在描述數(shù)據(jù)時不僅要描述數(shù)據(jù)本身,還要描述數(shù)據(jù)之間的聯(lián)系。數(shù)據(jù)結(jié)構(gòu)化是數(shù)據(jù)庫的主要特征之一,也是數(shù)據(jù)庫系統(tǒng)與文件系統(tǒng)的本質(zhì)區(qū)別。在同一數(shù)據(jù)庫中,各個數(shù)據(jù)文件存在聯(lián)系,且在整體上服從一定的結(jié)構(gòu)形式(圖)。

Image:數(shù)據(jù)結(jié)構(gòu)化示例.jpg

2.數(shù)據(jù)共享性高、冗余度低、易擴充

共享性高:數(shù)據(jù)庫系統(tǒng)從整體角度看待和描述數(shù)據(jù),數(shù)據(jù)不再面向某個應用而是面向整個系統(tǒng),這樣可以減少數(shù)據(jù)冗余,節(jié)約存儲空間。即數(shù)據(jù)庫中的數(shù)據(jù)可以被多個用戶、多個應用同時使用。

冗余度低:冗余度是指同一數(shù)據(jù)被重復存儲的程度,數(shù)據(jù)庫系統(tǒng)由于數(shù)據(jù)結(jié)構(gòu)化,使得冗余度可能降到最低程序。

易擴充:由于設計時主要考慮數(shù)據(jù)結(jié)構(gòu)化,即面向系統(tǒng),而不是面向某個應用,所以容易擴充。

數(shù)據(jù)共享和減少冗余還能避免數(shù)據(jù)之間的不相容性和不一致性。

不相容性:例如,某人工作了兩個部門,1986-1990年在甲部門,19901996年在乙部門,在寫檔案材料時,甲部門寫成了1986-1990年,由于信息不共享,加之工作疏忽,乙部門寫成了1989-1996年,即造成了不相容,兩部門間重復了1年。

不一致性:例如,某職工為“李萍”,由于信息不共享,系別輸入的姓名為“李萍”,但工資記錄輸入的姓名為“李平”,即造成了不一致。

3.數(shù)據(jù)獨立性高

由于應用程序取數(shù)不是直接從數(shù)據(jù)庫中取數(shù),而是通過DBMS間接取數(shù),故保持了應用與數(shù)據(jù)庫數(shù)據(jù)的物理獨立性和邏輯獨立性。所謂物理獨立性是指:當數(shù)據(jù)的存儲結(jié)構(gòu)(或物理結(jié)構(gòu))改變時,通過DBMS的相應改變可以保持數(shù)據(jù)的邏輯結(jié)構(gòu)不變,從而應用程序也不必改變。邏輯獨立性是指:當數(shù)據(jù)的總體邏輯結(jié)構(gòu)改變時,通過DBMS的相應改變可以保持數(shù)據(jù)的局部邏輯結(jié)構(gòu)不變,應用程序是依據(jù)數(shù)據(jù)的局部邏輯結(jié)構(gòu)編寫的,所以應用程序不必改變。

4.數(shù)據(jù)由DBMS統(tǒng)一管理和控制

由于數(shù)據(jù)庫的共享是并發(fā)的共享,即多個用戶可以同時存取數(shù)據(jù)庫中的數(shù)據(jù),甚至可以同時存取數(shù)據(jù)庫中同一個數(shù)據(jù)。為此DBMS必須提供以下幾方面的數(shù)據(jù)控制功能:

(1)數(shù)據(jù)的安全性保護指保護數(shù)據(jù),防止不合法使用數(shù)據(jù)造成數(shù)據(jù)的泄密和破壞,使每個用戶只能按規(guī)定,對某些數(shù)據(jù)以某些方式進行訪問和處理。

(2)數(shù)據(jù)的完整性檢查指數(shù)據(jù)的正確性、有效性和相容性。即將數(shù)據(jù)控制在有效的范圍內(nèi),或要求數(shù)據(jù)之間滿足一定的關(guān)系。

正確性:如輸入工資時,應該輸入數(shù)值,而實際輸入了字符,即不正確。

有效性:如輸人年齡時,應該輸人0~150之間的數(shù)據(jù),而實際輸入了-5,即無效。

相容性:如輸入飼料配比百分比時,應該5種原料百分比之和加起來為100,而實際輸入數(shù)據(jù)加起來大于100,即不相容。

(3)并發(fā)控制指控制多個用戶同時存取、修改數(shù)據(jù)庫中的數(shù)據(jù),以保證數(shù)據(jù)庫的完整性。例如,多個用戶可以同時讀,但同一時間只能允許一個用戶寫數(shù)據(jù)。

(4)數(shù)據(jù)庫恢復指將數(shù)據(jù)庫從錯誤狀態(tài)恢復到某一已知的正確狀態(tài)(亦稱為完整狀態(tài)或一致狀態(tài))的功能。計算機系統(tǒng)的硬件故障、軟件故障、操作員的失誤,以及故意的破壞均會影響數(shù)據(jù)庫中數(shù)據(jù)的正確性,甚至造成數(shù)據(jù)庫部分或全部數(shù)據(jù)的丟失。

4.數(shù)據(jù)庫系統(tǒng)的組成[2]

Image:數(shù)據(jù)庫系統(tǒng)的組成.jpg

數(shù)據(jù)庫系統(tǒng)的組成如下圖所示。

1)硬件

數(shù)據(jù)庫系統(tǒng)的硬件包括計算機的主機、鍵盤、顯示器和外圍設備(例如打印機、光盤機、磁帶機等)。由于一般數(shù)據(jù)庫系統(tǒng)所存放和處理的數(shù)據(jù)量很大,加之DBMS豐富的功能軟件,使得自身所占用的存儲空間很大,因此整個數(shù)據(jù)庫系統(tǒng)對硬件資源提出了較高的要求。這些要求是:①有足夠大的內(nèi)存以存放操作系統(tǒng)、DBMS的核心模塊、數(shù)據(jù)緩沖區(qū)和應用程序;②有足夠大的直接存取設備存放數(shù)據(jù)(如磁盤),有足夠的存儲設備來進行數(shù)據(jù)備份;③要求計算機有較高的數(shù)據(jù)傳輸能力,以提高數(shù)據(jù)傳送率。

2)軟件

數(shù)據(jù)庫系統(tǒng)的軟件除了數(shù)據(jù)庫管理系統(tǒng)之外,還包括操作系統(tǒng)各種高級語言處理程序(編譯或解釋程序)、應用開發(fā)工具軟件和特定應用軟件等。應用開發(fā)工具包括應用程序生成器和第四代語言等高效率、多功能的軟件工具,如報表生成系統(tǒng)、表格軟件、圖形編輯系統(tǒng)等。它們?yōu)閿?shù)據(jù)庫系統(tǒng)的應用開發(fā)人員和最終用戶提供了有力的支持。特定應用軟件是指為特定用戶開發(fā)的數(shù)據(jù)庫應用軟件,如基于數(shù)據(jù)庫的各種管理軟件、管理信息系統(tǒng)(MIS)、決策支持系統(tǒng)(DSS)和辦公自動化(OA)等。

3)數(shù)據(jù)

數(shù)據(jù)是數(shù)據(jù)庫的基本組成,是對客觀世界所存在事物的一種表征,也是數(shù)據(jù)庫用戶的操作對象。數(shù)據(jù)是數(shù)據(jù)庫系統(tǒng),也是企業(yè)或組織的真正財富。數(shù)據(jù)應按照需求進行采集并有結(jié)構(gòu)地存人數(shù)據(jù)庫。由于數(shù)據(jù)的類型多樣性,數(shù)據(jù)的采集方式和存儲方式也會不同。數(shù)據(jù)作為一種資源是數(shù)據(jù)庫系統(tǒng)中最穩(wěn)定的成分,即硬件可能更新,甚至軟件也可以更新,但只要企業(yè)或組織的性質(zhì)不改變,數(shù)據(jù)將是可以長期使用的財富。數(shù)據(jù)庫中的數(shù)據(jù)具有如前所述的集合、共享、最少冗余和能為多種應用服務的特征。

4)用戶

數(shù)據(jù)庫用戶是管理、開發(fā)、使用數(shù)據(jù)庫的主體。根據(jù)工作任務的差異,數(shù)據(jù)庫用戶通??梢苑殖山K端用戶、應用程序員和數(shù)據(jù)庫管理員等3種不同類型。

(1)終端用戶

終端用戶使用數(shù)據(jù)庫系統(tǒng)提供的終端命令語言,或者菜單驅(qū)動、表格驅(qū)動、圖形顯示和報表生成等對話方式,來存取和應用數(shù)據(jù)庫中的數(shù)據(jù)。這類人員是一些并不精通計算機和程序設計的各級管理人員,但必須接受必要的數(shù)據(jù)庫應用培訓。

(2)應用程序員

應用程序員是負責設計和編制應用程序的人員。他們通常使用C語言、數(shù)據(jù)庫語言或4GL(第四代語言)等來設計和編寫應用程序,供終端用戶使用。應用程序員不僅要求具有較高的技術(shù)專長,而且還要具備較深的資歷,熟悉部門全部數(shù)據(jù)的性質(zhì)和用途,兼有系統(tǒng)程序員、系統(tǒng)分析員的能力。其具體職責是:①決定數(shù)據(jù)庫的內(nèi)容和結(jié)構(gòu);②決定數(shù)據(jù)庫的存儲結(jié)構(gòu)和存取策略,使數(shù)據(jù)的存儲空間利用率和存取效率均較優(yōu);③定義數(shù)據(jù)的安全性要求和完整性約束條件;④根據(jù)終端用戶的需要,設計和編制各種功能強勁的應用程序。

對于應用程序員而言,有兩個重要的工具是必需的,一個是系列的實用程序(DBMS的裝配、重組日志、恢復、統(tǒng)計等程序);另一個是數(shù)據(jù)字典(存儲數(shù)據(jù)庫結(jié)構(gòu)的定義、記錄類型和字段定義等信息)。數(shù)據(jù)庫系統(tǒng)建立時,DBA還必須和系統(tǒng)分析員一起負責應用系統(tǒng)的需求分析和規(guī)范說明,確定系統(tǒng)的軟硬件配置并參與數(shù)據(jù)庫的設計。

(3)數(shù)據(jù)庫管理員

數(shù)據(jù)庫管理員(data basead ministrator,DBA)是指全面負責數(shù)據(jù)庫系統(tǒng)的日常管理、維護和運行的人員。DBA處于終端用戶與應用程序員之間,是數(shù)據(jù)庫系統(tǒng)能否正常運轉(zhuǎn)的關(guān)鍵,大型數(shù)據(jù)庫系統(tǒng)需要設置專門的管理辦公室。其職責是監(jiān)督控制數(shù)據(jù)庫的使用和運行,實施數(shù)據(jù)庫系統(tǒng)的維護、改進和重組,開展信息社會化服務。

對于不同規(guī)模的數(shù)據(jù)庫系統(tǒng),用戶的人員配置是不相同的。只有大型數(shù)據(jù)庫系統(tǒng)才配備有應用程序員和數(shù)據(jù)庫管理員。應用型微機數(shù)據(jù)庫系統(tǒng)比較簡單,其用戶通常兼有終端用戶和數(shù)據(jù)庫管理員的職能,但必要時也應當兼有應用程序員的能力。

評論  |   0條評論