- 數據庫系統原理及MySQL應用教程(第2版)
- 李輝等編著
- 2946字
- 2020-10-15 17:32:27
1.2 數據庫系統的特點及組成
1.2.1 數據庫系統的特點
與人工管理和文件系統相比,數據庫系統的特點主要有以下幾個方面。
1.數據結構化
數據庫在描述數據時不僅要描述數據本身,還要描述數據之間的聯系。在文件系統中,盡管其記錄內部已有了某些結構,但記錄之間沒有聯系。數據庫系統實現了整體數據的結構化,這是數據庫的主要特征之一,也是數據庫系統與文件系統的本質區別。在數據庫系統中,數據不再針對某一應用,而是面向全組織,具有整體的結構化。
2.數據的共享性高,冗余度低,易擴充
數據庫系統從整體角度看待和描述數據,數據不再面向某個應用而是面向整個系統,因此數據可以被多個用戶、多個應用共享使用。數據共享可以大大減少數據冗余,節約存儲空間。數據共享還能夠避免數據之間的不相容性與不一致性。
由于數據面向整個系統,是有結構的數據不僅可以被多個應用共享使用,而且容易增加新的應用,這就使得數據庫系統彈性大,易于擴充,可以適應各種用戶的要求。
3.數據獨立性高
數據獨立性包括數據的物理獨立性和數據的邏輯獨立性。物理獨立性是指用戶的應用程序與存儲在磁盤上的數據庫中的數據是相互獨立的。也就是說,數據在磁盤上的數據庫中怎樣存儲是由DBMS管理的,用戶程序不需要了解,應用程序要處理的只是數據的邏輯結構,這樣當數據的物理存儲改變了,應用程序不用改變。
邏輯獨立性是指用戶的應用程序與數據庫的邏輯結構是相互獨立的,也就是說,數據的邏輯結構改變了,用戶程序也可以不變。
數據獨立性是由DBMS的二級映射功能來保證的。
數據與程序的獨立,把數據的定義從程序中分離出去,加上數據的存取又由DBMS負責,從而簡化了應用程序的編制,大大減少了應用程序的維護和修改的工作量。
4.數據由DBMS統一管理和控制
數據由DBMS統一管理和控制,用戶和應用程序通過DBMS訪問和使用數據庫。數據庫的共享是并發的共享,即多個用戶可以同時存取數據庫中的數據,甚至可以同時存取數據庫中的同一個數據。
為此,DBMS還必須提供以下幾方面的數據控制功能。
(1)數據的安全性(Security)保護
數據的安全性是指保護數據以防止不合法的使用造成數據的泄密和破壞。使每個用戶只能按規定對某些數據以某些方式進行使用和處理。
(2)數據的完整性(Integrity)檢查
數據的完整性指數據的正確性、有效性和相容性。完整性檢查將數據控制在有效的范圍內,或保證數據之間滿足一定的關系。
(3)并發(Concurrency)控制
當多個用戶的并發進程同時存取、修改數據庫時,可能會發生相互干擾而得到錯誤的結果或使得數據庫的完整性遭到破壞,因此必須對多用戶的并發操作加以控制和協調。
(4)數據庫恢復(Recovery)
計算機系統的硬件故障、軟件故障、操作員的失誤以及故意的破壞也會影響數據庫中數據的正確性,甚至造成數據庫部分或全部數據的丟失。DBMS必須具有將數據庫從錯誤狀態恢復到某一已知的正確狀態的功能,這就是數據庫的恢復功能。
數據庫管理階段應用程序與數據之間的對應關系可用圖1-6表示。

圖1-6 數據庫系統階段應用程序與數據之間的對應關系
綜上所述,數據庫是長期存儲在計算機內有組織的大量的共享的數據集合。它可以供各種用戶共享,具有最小的冗余度和較高的數據獨立性。DBMS在數據庫建立、運用和維護時對數據庫進行統一控制,以保證數據的完整性、安全性,并在多用戶同時使用數據庫時進行并發控制,在發生故障后對系統進行恢復。
數據庫系統的出現使信息系統從以加工數據的程序為中心轉向以共享數據庫為中心的新階段。這樣既便于數據的集中管理,又有利于應用程序的研制和維護,從而提高了數據的利用率和相容性,提高了決策的可靠性。
1.2.2 數據庫系統的組成
數據庫系統一般由數據庫、數據庫管理系統(及其開發工具)、應用系統、數據庫管理員和用戶構成。
1.硬件平臺及數據庫
由于數據庫系統數據量都很大,加之DBMS豐富的功能使得自身的規模也很大,因此整個數據庫系統對硬件資源提出了較高的要求,這些要求如下。
1)要有足夠大的內存,存儲操作系統、DBMS的核心模塊、數據緩沖區和應用程序。
2)有足夠大的磁盤等直接存取設備存儲數據,有足夠的磁帶(或微機軟盤)作數據備份。
3)要求系統有較高的通道能力,以提高數據傳送率。
2.軟件
數據庫系統的軟件主要如下。
1)DBMS。DBMS是為數據庫的建立、使用和維護配置的軟件。
2)支持DBMS運行的操作系統。
3)具有與數據庫接口的高級語言及其編譯系統,便于開發應用程序。每種程序設計語言(如Java、PHP、C++、C#等)都需要使用這些數據庫接口完成對數據庫的訪問操作。
4)以DBMS為核心的應用開發工具。
應用開發工具是系統為應用開發人員和最終用戶提供的高效率、多功能的應用生成器、第四代語言等各種軟件工具。它們為數據庫系統的開發和應用提供了良好的環境。
5)為特定應用環境開發的數據庫應用系統。
3.人員
開發、管理和使用數據庫系統的人員主要是數據庫管理員、系統分析員和數據庫設計人員、應用程序員和最終用戶。不同的人員涉及不同的數據抽象級別,具有不同的數據視圖,其各自的職責分別如下。
(1)數據庫管理員(DataBase Administrator,DBA)
數據庫管理員是全面負責管理和控制數據庫系統的一個人或一組人員。具體職責如下。
1)決定數據庫中的信息內容和結構。數據庫中要存儲哪些信息,DBA要參與決策。因此,DBA必須參加數據庫設計的全過程,并與用戶、應用程序員、系統分析員密切合作、共同協商,做好數據庫設計。
2)決定數據庫的存儲結構和存取策略。DBA要綜合各用戶的應用要求,和數據庫設計人員共同決定數據的存儲結構和存取策略,以求獲得較高的存取效率和存儲空間利用率。
3)定義數據的安全性要求和完整性約束條件。DBA的重要職責是保證數據庫的安全性和完整性。因此,DBA負責確定各個用戶對數據庫的存取權限、數據的保密級別和完整性約束條件。
4)監控數據庫的使用和運行。DBA還有一個重要職責就是監視數據庫系統的運行情況,及時處理運行過程中出現的問題。比如,系統發生各種故障時,數據庫會因此遭到不同程度的破壞,DBA必須在最短時間內將數據庫恢復到正確狀態,并盡可能不影響或少影響計算機系統其他部分的正常運行。為此,DBA要定義和實施適當的后備和恢復策略,如周期性地轉儲數據、維護日志文件等。
5)數據庫的改進和重組重構。DBA還負責在系統運行期間監視系統運行狀況,依靠工作實踐并根據實際應用環境,不斷改進數據庫設計。在數據運行過程中,大量數據不斷插入、刪除、修改,時間一長,會影響系統的性能。因此,DBA要定期對數據庫進行重組織,以提高系統的性能。當用戶的需求增加和改變時,DBA還要對數據庫進行較大的改造,包括修改部分設計,即數據庫的重構造。
(2)系統分析員和數據庫設計人員
系統分析員負責應用系統的需求分析和規范說明,要和用戶及DBA相結合,確定系統的硬件和軟件配置,并參與數據庫系統的概要設計。在很多情況下,數據庫設計人員由數據庫管理員擔任。
(3)應用程序員
應用程序員負責設計和編寫應用系統的程序模塊,并進行調試和安裝。
(4)用戶
這里的用戶是指最終用戶(End User)。最終用戶通過應用系統的用戶接口使用數據庫。常用的接口方式有瀏覽器、菜單驅動、表格操作、圖形顯示、報表書寫等,給用戶提供簡明直觀的數據表示。
注意:數據庫、數據庫管理系統、數據庫系統是三個不同的概念。數據庫強調的是相互關聯的數據;數據庫管理系統強調的是管理數據庫的系統軟件;而數據庫系統強調的是基于數據庫技術的計算機系統。
- CMDB分步構建指南
- 編程卓越之道(卷3):軟件工程化
- 深入淺出Java虛擬機:JVM原理與實戰
- JavaScript 網頁編程從入門到精通 (清華社"視頻大講堂"大系·網絡開發視頻大講堂)
- Kali Linux Wireless Penetration Testing Beginner's Guide(Third Edition)
- 數據結構案例教程(C/C++版)
- 批調度與網絡問題的組合算法
- 零基礎入門學習Python(第2版)
- HTML5從入門到精通(第4版)
- Spring Boot+Vue全棧開發實戰
- Geospatial Development By Example with Python
- 開源項目成功之道
- 新印象:解構UI界面設計
- Java并發編程:核心方法與框架
- HTML5+CSS3+JavaScript 從入門到項目實踐(超值版)