- Visual FoxPro程序設計
- 黃玲芳 劉建蘭主編
- 2912字
- 2019-07-25 11:48:21
1.1 數據庫系統的基本概念
數據庫技術是信息系統的一門核心技術,是一種計算機輔助管理數據的方法。該技術自20世紀60年代末產生以來,以其為核心的數據庫信息管理系統被廣泛應用在社會經濟、事務處理和文化教育等各個領域,極大地推動了信息處理的技術發展。
1.1.1 數據、數據庫、數據庫系統與數據庫管理系統
數據(Data)、數據庫、數據庫系統(DataBase System, DBS)與數據庫管理系統(DataBase Management System, DBMS)是與數據庫技術密切相關的4個基本概念。
1.數據
數據是客觀事物的符號表示,在計算機科學中指所有能輸入到計算機并被計算機程序處理的符號介質的總稱。
數據有很多種,最簡單的是數字。數據也可以是文字、圖像或聲音等,可以通過科學實驗、檢驗和統計等獲得,并用于科學研究、技術設計、查證和決策等。
2.數據庫
數據庫是按照一定的結構來組織、存儲和管理數據并創建在計算機存儲設備中的數據集合,可以形象地理解為電子化的文件柜——存儲電子文件的場所,用戶可以對其中一個或者多個文件中的數據進行新增、讀取、更新和刪除等操作。
3.數據庫系統
數據庫系統指計算機系統中引入數據庫技術后的系統構成,通常由數據庫、數據庫管理系統、數據庫應用系統、數據庫管理員(DataBase Administrator, DBA)、用戶及硬件等組成。
4.數據庫管理系統
數據庫管理系統是數據庫系統的核心,是為數據庫的創建、使用和維護而配置的系統軟件,具有數據定義、存儲、運行控制和維護等功能。有了數據庫管理系統,用戶在處理數據時不必顧及數據在計算機中的布局和存儲位置等,可以方便地管理和使用數據。
1.1.2 數據處理技術的發展概況
隨著信息技術的發展,數據管理經歷了人工管理階段、文件系統管理階段和數據庫系統階段。
1.人工管理階段
在人工管理階段(20世紀50年代中期以前)計算機只是用于科學計算,外部存儲器還沒有磁盤等直接存取存儲設備,軟件也沒有操作系統和數據管理軟件,數據處理方式用的是批處理。
這個階段的特點如下。
(1)數據無法保存。
(2)數據沒有獨立性,即程序和數據不可分割。計算機系統不能管理用戶數據,在編寫程序時需要全面考慮相關數據,包括數據定義、數據存儲及讀寫方法等。
(3)數據不是以文件形式存放的,數據的組織形式需要程序開發人員自行設計。
(4)數據不能共享,數據是面向應用的。在程序中需要加入各自的數據,以致程序與程序之間存在大量重復的數據。
2.文件系統管理階段
在文件系統管理階段(從20世紀50年代后期到60年代中期)計算機不僅用于科學計算,還廣泛用于管理。硬件方面有了磁盤、磁鼓等直接存取存儲設備,軟件領域出現了高級語言和操作系統。操作系統中有專門管理數據的軟件,一般稱為“文件系統”。數據的處理方式有批處理,也有聯機實時處理。
這個階段的特點如下。
(1)由于計算機大量用于數據處理,所以數據需要長期保存在外存中重復使用,即經常對文件執行查詢、修改、插入和刪除等操作。
(2)由于有操作系統中的文件系統管理,所以數據的邏輯結構與存儲結構有了區別,可以由系統轉換。程序只要用文件名就可以進行數據操作,不必關心數據的物理位置,即程序與數據之間具有設備獨立性。
(3)文件已經多樣化,由于已有了直接存取存儲設備,所以有了索引文件、鏈接文件和直接存取文件等。
(4)數據的存取基本上以記錄為單位。
文件管理階段比人工管理階段有很大改進,但隨著數據管理規模的擴大,數據量急劇增加,文件系統顯現出如下問題。
● 數據冗余度大。
文件系統中文件基本上對應于某個應用程序,數據還是面向應用。即使不同的應用程序需要的數據有部分相同時,也必須創建各自的文件。由于相同數據的重復存儲,因此各自管理數據的修改和維護,容易造成數據的不一致。
● 數據和程序缺乏獨立性。
文件系統中文件是為某一特定應用服務的,一旦數據的邏輯結構改變,必須修改應用程序和結構的定義。而應用程序的改變也將影響文件數據結構的改變,數據和程序缺乏獨立性。
3.數據庫系統階段
在數據庫系統階段(從20世紀60年代后期開始)計算機用于管理的數據規模急劇增大,為了解決多用戶共享數據的需求,使數據盡可能多地為應用服務,出現了數據庫管理技術。它克服了文件系統的缺陷,提供了對數據更加有效的管理,其特點如下:
(1)面向全組織的復雜數據結構。
數據庫中包含許多單獨的數據文件,這些文件在描述數據本身的同時還描述了數據之間的聯系。即文件之間有了相互的聯系,在整體上服從一定的組織,整個組織的數據結構化了。而在文件系統中雖然記錄內部有了某些結構,但記錄之間沒有聯系,這也是數據庫系統與文件系統的根本區別。
(2)數據冗余度小,易擴充。
因為數據庫從整體上描述數據,面向整個系統,而不是面向某個應用,所以數據冗余度小,數據之間的不一致不容易發生。
我們在應用數據庫數據時,可以取整體數據的不同子集用于不同的應用系統。當應用需求變化時,只要獲取不同子集數據或者加上一些數據,就可以有新用途,容易擴充新功能。
(3)具有較高的數據和程序的獨立性。
數據庫系統提供了兩方面的映射功能,一個是數據的物理結構與邏輯結構之間的映射功能;另一個是數據的總體邏輯結構與某類應用所涉及的局部邏輯結構之間的映射功能。
正是這兩方面的映射保證了數據和程序的獨立性,把數據的定義和描述從應用程序中分離出去;另外數據的存取由DBMS管理,用戶不必考慮存取路徑等細節,可以簡化應用程序的編寫,方便維護和修改。
(4)統一的數據控制功能。
數據庫是系統中各用戶的共享資源,許多用戶同時使用。利用專門的數據庫管理系統實現對數據的定義、操作、統一管理和控制,在應用程序和數據庫之間保持高獨立性。數據具有完整性、一致性和安全性,并具有充分的共享性。
(5)數據的最小存取單位是數據項。
不僅可以存取數據庫中某一數據項或一組數據項,還可以存取一個記錄或一組記錄。
數據庫系統的出現使得信息系統的研制圍繞共享數據庫進行,便于數據的集中管理,提高了數據的利用率和相容性。大型復雜的信息系統大多以數據庫為核心,數據庫系統在計算機應用中起著越來越重要的作用。
1.1.3 數據庫管理系統的功能
數據庫管理系統是為數據庫的創建、使用和維護而配置的軟件,是數據庫系統中的核心軟件。它創建在操作系統的基礎上,對數據庫進行統一的管理和控制,并且承擔數據庫的維護工作,按照DBA所規定的要求,保證數據庫的安全性和完整性。
數據庫管理系統的主要功能如下:
(1)數據定義。
數據庫管理系統的數據定義語言(DDL)定義了外模式、模式和內模式,各種模式翻譯程序把這些源模式翻譯為相應的內部表示,分別稱為“目標外模式”“目標模式”“目標內模式”。這些目標模式是對數據庫框架的描述,保存在數據字典中,作為數據庫管理系統存取和管理數據的依據。
(2)數據存取。
數據庫管理系統提供數據操縱語言(DML)實現數據庫數據的基本操作,包括查詢、插入、修改和刪除等。
(3)數據庫運行和管理。
數據庫運行和管理是數據庫管理系統運行時的核心部分,包括并發控制、存取控制、完整性約束條件的檢查和執行,以及數據庫內部的維護等。所有數據庫的操作都要在這些控制程序的統一管理下進行,以保證數據庫的正確有效。
(4)數據庫創建和維護。
數據庫初始數據的載入與轉換、數據庫的轉儲與恢復,以及數據庫的重組織和性能監視等功能都是由各個實用程序來完成的。
- 深入理解Bootstrap
- LabVIEW程序設計基礎與應用
- Getting started with Google Guava
- Building a RESTful Web Service with Spring
- 神經網絡編程實戰:Java語言實現(原書第2版)
- 軟件測試項目實戰之性能測試篇
- PostgreSQL Replication(Second Edition)
- 智能搜索和推薦系統:原理、算法與應用
- 計算機應用基礎教程(Windows 7+Office 2010)
- Android群英傳
- Node.js 12實戰
- Kotlin極簡教程
- 后臺開發:核心技術與應用實踐
- R Data Science Essentials
- Getting Started with Electronic Projects