資料庫系統
出自 MBA智库百科(https://wiki.mbalib.com/)
資料庫系統(Data Base System,DBS)
目錄 |
資料庫系統是指在電腦系統中引入資料庫後構成的系統,一般由資料庫、資料庫管理系統(及其開發工具)、應用系統、資料庫管理員和用戶構成。[1]
資料庫系統是一個由硬體、軟體(操作系統、資料庫管理系統和編譯系統等)、資料庫和用戶構成的完整電腦應用系統。資料庫是資料庫系統的核心和管理對象。因此,資料庫系統的含義已經不僅僅是一個對數據進行管理的軟體,也不僅僅是一個資料庫,資料庫系統是一個實際運行的,按照資料庫方式存儲、維護和嚮應用系統提供數據支持的系統。[2]
資料庫系統階段[3]
20世紀60年代後期,使用電子電腦進行數據處理的規模越來越大,同時出現了大容量且價格低廉的磁碟存儲器,操作系統也日漸成熟。為瞭解決數據的獨立性問題,實現數據的統一管理,達到數據共用的目的,出現了資料庫技術。資料庫技術從20世紀60年代中期產生到今天,僅僅30多年的歷史,經歷了三代演變,發展成為以數據建模和DBMS核心技術為主,內容豐富的一門學科;帶動了一個巨大的軟體產業——DBMs產品及其相關工具和解決方案。資料庫技術取得了巨大的成功,從第一代層次與網路資料庫系統和第二代關係資料庫系統,發展到第三代以面向對象資料庫模型為主要特征的新一代資料庫系統。
- 1.第一代資料庫系統
是20世紀70年代研製的層次和網狀資料庫系統。1963年,Bachman設計開發的IDS系統開始投入運行,它可以為多個COBOL程式共用資料庫;1968年,TOTAL等網狀資料庫系統開始出現;1969年,IBM公司McGee等人開發的層次式資料庫系統的IMS系統發表,它可以讓多個程式共用資料庫。1969年lo月,CODASYL資料庫研製者提出了網路模型資料庫系統規範報告,使資料庫系統開始走向規範化和標準化。1971年,美國資料庫系統語言協會下屬的資料庫任務組對網路資料庫方法進行了系統的研究、探討,提出了稱為DBTG報告的若幹報告,DBTG報告確定並建立了網路資料庫系統的許多概念、方法和技術,提出了三級抽象模式,即對應用程式所需的那部分數據結構描述的外模式,對整個客體系統數據結構描述的概念模式,對數據存儲結構描述的內模式,解決了數據獨立性的問題,標志著資料庫在理論上的成熟。正因為如此,許多專家認為資料庫技術起源於20世紀60年代末。
- 2.第二代資料庫系統
是關係資料庫系統。1970年IBM公司Codd發表了題為“大型共用資料庫數據的關係模型”的論文,提出了關係數據模型,開創了關係資料庫方法和關係資料庫理論。關係方法由於其理論上的完美和結構上的簡單,對資料庫技術的發展起了至關重要的作用,成功地為關係資料庫技術奠定了理論基礎。20世紀70年代是關係資料庫理論研究和原型系統開發的時代。關係資料庫系統的研究取得了一系列的成果,主要包括以下幾個方面:
(1)奠定了關係模型的理論基礎,給出了被人們普遍接受的關係模型的規範說明。
(2)提出了關係數據語言,如關係代數、關係演算、SQL語言、QBE等。這些描述性語言一改以往程式設計語言和網狀、層次資料庫語言的面向過程的風格,以其易學易懂的優點得到了最終用戶的歡迎,為20世紀80年代資料庫語言標準化打下了基礎。
(3)研製了大量的關係資料庫系統原型,攻剋了系統實現中查詢優化、併發控制、故障恢復等一系列關鍵技術。不僅大大豐富了資料庫管理系統實現技術和資料庫理論,更重要的是促進了關係資料庫系統產品的蓬勃發展和廣泛應用。
- 3.第三代資料庫系統
20世紀80年代以來,資料庫理論和應用進入成熟發展時期。隨著計算技術和電腦網路的發展,電腦應用領域迅速擴展,資料庫應用領域也在不斷地擴大,資料庫技術在商業領域的巨大成就刺激了其他領域對資料庫需求的迅速增長。一方面,新的資料庫應用領域,如電腦輔助設計/管理(CAD/CAM)、過程式控制制、辦公自動化系統、地理信息系統(GIS)、電腦製造系統(CIMS)等,為資料庫的應用開闢了新的天地;另一方面,在實際應用中管理方面的新需求也直接推動了資料庫技術的研究與發展。
以關係資料庫為代表的傳統資料庫已經很難勝任新領域的需求,因為新的應用要求資料庫能處理複雜性較高的數據,如處理與時間有關的屬性,甚至還要求資料庫有動態性和主動性。這樣就必須有新的資料庫技術才能夠滿足現實需要,為了滿足現代應用的需求,必須將資料庫技術與其他現代數據處理技術(如面向對象技術、時序和實時處理技術、人工智慧技術、多媒體技術)完善地集成,以形成“新一代資料庫技術”,也可稱為“現代資料庫技術”,如時態資料庫技術、實時資料庫技術和多媒體資料庫技術等。第三代資料庫系統中最主要的資料庫類型是面向對象資料庫系統(objectorienteddatabasesystem,簡稱OODBS),它是資料庫技術與面向對象程式設計方法相結合的產物,它既是一個DBMS,又是一個面向對象系統。因而既具有DBMS特性,如持久性、輔助管理、數據共用(併發性)、數據可靠性(事務管理和恢復)、查詢處理和模式修改等,又具有面向對象的特征,如類型/類、封裝性/數據抽象、繼承性、對象標識、複合對象和可擴充等特性。
資料庫系統的特點[3]
用資料庫系統來管理數據具有如下特點:
- 1.數據結構化
在描述數據時不僅要描述數據本身,還要描述數據之間的聯繫。數據結構化是資料庫的主要特征之一,也是資料庫系統與文件系統的本質區別。在同一資料庫中,各個數據文件存在聯繫,且在整體上服從一定的結構形式(圖)。
- 2.數據共用性高、冗餘度低、易擴充
共用性高:資料庫系統從整體角度看待和描述數據,數據不再面向某個應用而是面向整個系統,這樣可以減少數據冗餘,節約存儲空間。即資料庫中的數據可以被多個用戶、多個應用同時使用。
冗餘度低:冗餘度是指同一數據被重覆存儲的程度,資料庫系統由於數據結構化,使得冗餘度可能降到最低程式。
易擴充:由於設計時主要考慮數據結構化,即面向系統,而不是面向某個應用,所以容易擴充。
數據共用和減少冗餘還能避免數據之間的不相容性和不一致性。
不相容性:例如,某人工作了兩個部門,1986-1990年在甲部門,19901996年在乙部門,在寫檔案材料時,甲部門寫成了1986-1990年,由於信息不共用,加之工作疏忽,乙部門寫成了1989-1996年,即造成了不相容,兩部門間重覆了1年。
不一致性:例如,某職工為“李萍”,由於信息不共用,系別輸入的姓名為“李萍”,但工資記錄輸入的姓名為“李平”,即造成了不一致。
- 3.數據獨立性高
由於應用程式取數不是直接從資料庫中取數,而是通過DBMS間接取數,故保持了應用與資料庫數據的物理獨立性和邏輯獨立性。所謂物理獨立性是指:當數據的存儲結構(或物理結構)改變時,通過DBMS的相應改變可以保持數據的邏輯結構不變,從而應用程式也不必改變。邏輯獨立性是指:當數據的總體邏輯結構改變時,通過DBMS的相應改變可以保持數據的局部邏輯結構不變,應用程式是依據數據的局部邏輯結構編寫的,所以應用程式不必改變。
- 4.數據由DBMS統一管理和控制
由於資料庫的共用是併發的共用,即多個用戶可以同時存取資料庫中的數據,甚至可以同時存取資料庫中同一個數據。為此DBMS必須提供以下幾方面的數據控制功能:
(1)數據的安全性保護指保護數據,防止不合法使用數據造成數據的泄密和破壞,使每個用戶只能按規定,對某些數據以某些方式進行訪問和處理。
(2)數據的完整性檢查指數據的正確性、有效性和相容性。即將數據控制在有效的範圍內,或要求數據之間滿足一定的關係。
正確性:如輸入工資時,應該輸入數值,而實際輸入了字元,即不正確。
有效性:如輸人年齡時,應該輸人0~150之間的數據,而實際輸入了-5,即無效。
相容性:如輸入飼料配比百分比時,應該5種原料百分比之和加起來為100,而實際輸入數據加起來大於100,即不相容。
(3)併發控制指控制多個用戶同時存取、修改資料庫中的數據,以保證資料庫的完整性。例如,多個用戶可以同時讀,但同一時間只能允許一個用戶寫數據。
(4)資料庫恢復指將資料庫從錯誤狀態恢復到某一已知的正確狀態(亦稱為完整狀態或一致狀態)的功能。電腦系統的硬體故障、軟體故障、操作員的失誤,以及故意的破壞均會影響資料庫中數據的正確性,甚至造成資料庫部分或全部數據的丟失。
資料庫系統的組成[2]
資料庫系統的組成如下圖所示。
- 1)硬體
資料庫系統的硬體包括電腦的主機、鍵盤、顯示器和外圍設備(例如印表機、光碟機、磁帶機等)。由於一般資料庫系統所存放和處理的數據量很大,加之DBMS豐富的功能軟體,使得自身所占用的存儲空間很大,因此整個資料庫系統對硬體資源提出了較高的要求。這些要求是:①有足夠大的記憶體以存放操作系統、DBMS的核心模塊、數據緩衝區和應用程式;②有足夠大的直接存取設備存放數據(如磁碟),有足夠的存儲設備來進行數據備份;③要求電腦有較高的數據傳輸能力,以提高數據傳送率。
- 2)軟體
資料庫系統的軟體除了資料庫管理系統之外,還包括操作系統各種高級語言處理程式(編譯或解釋程式)、應用開發工具軟體和特定應用軟體等。應用開發工具包括應用程式生成器和第四代語言等高效率、多功能的軟體工具,如報表生成系統、表格軟體、圖形編輯系統等。它們為資料庫系統的應用開發人員和最終用戶提供了有力的支持。特定應用軟體是指為特定用戶開發的資料庫應用軟體,如基於資料庫的各種管理軟體、管理信息系統(MIS)、決策支持系統(DSS)和辦公自動化(OA)等。
- 3)數據
數據是資料庫的基本組成,是對客觀世界所存在事物的一種表徵,也是資料庫用戶的操作對象。數據是資料庫系統,也是企業或組織的真正財富。數據應按照需求進行採集並有結構地存人資料庫。由於數據的類型多樣性,數據的採集方式和存儲方式也會不同。數據作為一種資源是資料庫系統中最穩定的成分,即硬體可能更新,甚至軟體也可以更新,但只要企業或組織的性質不改變,數據將是可以長期使用的財富。資料庫中的數據具有如前所述的集合、共用、最少冗餘和能為多種應用服務的特征。
- 4)用戶
資料庫用戶是管理、開發、使用資料庫的主體。根據工作任務的差異,資料庫用戶通常可以分成終端用戶、應用程式員和資料庫管理員等3種不同類型。
- (1)終端用戶
終端用戶使用資料庫系統提供的終端命令語言,或者菜單驅動、表格驅動、圖形顯示和報表生成等對話方式,來存取和應用資料庫中的數據。這類人員是一些並不精通電腦和程式設計的各級管理人員,但必須接受必要的資料庫應用培訓。
- (2)應用程式員
應用程式員是負責設計和編製應用程式的人員。他們通常使用C語言、資料庫語言或4GL(第四代語言)等來設計和編寫應用程式,供終端用戶使用。應用程式員不僅要求具有較高的技術專長,而且還要具備較深的資歷,熟悉部門全部數據的性質和用途,兼有系統程式員、系統分析員的能力。其具體職責是:①決定資料庫的內容和結構;②決定資料庫的存儲結構和存取策略,使數據的存儲空間利用率和存取效率均較優;③定義數據的安全性要求和完整性約束條件;④根據終端用戶的需要,設計和編製各種功能強勁的應用程式。
對於應用程式員而言,有兩個重要的工具是必需的,一個是系列的實用程式(DBMS的裝配、重組日誌、恢復、統計等程式);另一個是數據字典(存儲資料庫結構的定義、記錄類型和欄位定義等信息)。資料庫系統建立時,DBA還必須和系統分析員一起負責應用系統的需求分析和規範說明,確定系統的軟硬體配置並參與資料庫的設計。
- (3)資料庫管理員
資料庫管理員(data basead ministrator,DBA)是指全面負責資料庫系統的日常管理、維護和運行的人員。DBA處於終端用戶與應用程式員之間,是資料庫系統能否正常運轉的關鍵,大型資料庫系統需要設置專門的管理辦公室。其職責是監督控制資料庫的使用和運行,實施資料庫系統的維護、改進和重組,開展信息社會化服務。
對於不同規模的資料庫系統,用戶的人員配置是不相同的。只有大型資料庫系統才配備有應用程式員和資料庫管理員。應用型微機資料庫系統比較簡單,其用戶通常兼有終端用戶和資料庫管理員的職能,但必要時也應當兼有應用程式員的能力。