- Access 2010數據庫應用技術(第2版)
- 劉衛國主編
- 4062字
- 2021-02-08 16:46:43
1.2 數據庫技術的發展
數據庫系統的核心任務是數據管理,但數據庫技術并不是一開始就有的。計算機技術的發展和數據處理的現實需要,促使數據管理技術得到了極大發展,從而有效地提高了數據處理的應用水平。數據管理技術經歷了人工管理、文件管理、數據庫管理和新型數據庫系統4個發展階段。
1.2.1 人工管理階段
20世紀50年代中期以前,計算機主要應用于科學計算,雖然那時也有數據管理的問題,但當時的數據管理是以人工管理方式進行的。在硬件方面,外存儲器只有磁帶、卡片和紙帶等,沒有磁盤等外存儲器。在軟件方面,只有匯編語言,沒有操作系統,也沒有對數據進行管理的軟件。數據處理方式基本上是批處理。在人工管理階段,數據管理的特點如下。
(1)數據不保存
人工管理階段處理的數據量較少,一般不需要將數據長期保存,只是在計算時將數據隨應用程序一起輸入,計算完后將結果輸出,數據和應用程序一起從內存中被釋放。若要再次進行計算,則需重新輸入數據和應用程序。
(2)由應用程序管理數據
系統沒有專用的軟件對數據進行管理,數據需要由應用程序自行管理。每個應用程序不僅要規定數據的邏輯結構,而且要設計數據的存儲結構及輸入/輸出方法等,程序設計任務繁重。
(3)數據有冗余,無法實現共享
應用程序與數據是一個整體,一個應用程序中的數據無法被其他應用程序使用,因此,應用程序與應用程序之間存在大量的重復數據,數據無法實現共享。
(4)數據對應用程序不具有獨立性
由于應用程序對數據的依賴性,數據的邏輯結構或存儲結構一旦有所改變,就必須修改相應的應用程序,這就進一步加重了程序設計的負擔。
1.2.2 文件管理階段
20世紀50年代后期至20世紀60年代中期,計算機開始大量用于數據管理。硬件方面出現了直接存取的大容量外存儲器,如磁盤、磁鼓等,這為計算機進行數據管理提供了物質基礎。軟件方面出現了操作系統和高級語言。其中,操作系統中的文件系統專門用于管理數據,這又為數據管理提供了技術支持。數據處理方式上不僅有批處理,而且有聯機實時處理。
數據處理應用程序利用操作系統的文件管理功能,將相關數據按一定的規則構成文件,并通過文件系統對文件中的數據進行存取和管理。其特點可概括為如下兩點。
(1)數據可以長期保存
文件系統為應用程序和數據之間提供了一個公共接口,使應用程序采用統一的存取方法來存取和操作數據。數據可以組織成文件,能夠長期保存、反復使用。
(2)數據相對應用程序具有一定的獨立性
應用程序和數據不再是一個整體,而是通過文件系統把數據組織成一個獨立的數據文件,由文件系統對數據的存取進行管理。程序員只須通過文件名來訪問數據文件,而不必過多考慮數據的物理存儲細節,因此,程序員可集中精力進行算法設計,并大大減少了應用程序維護的工作量。
文件管理使計算機在數據管理方面有了長足的進步,時至今日,文件系統仍是一般高級語言普遍采用的數據管理方式。然而,當數據量增加、使用數據的用戶越來越多時,文件管理便不能適應更有效地使用數據的需要了,其癥結表現在3個方面。
(1)數據的共享性差、冗余度大,容易造成數據不一致
數據文件是根據應用程序的需要而建立的,即使不同的應用程序所使用的數據有相同的部分,也必須建立各自的數據文件,即數據不能共享,造成大量數據重復。這樣不僅浪費存儲空間,而且使數據修改變得困難,容易產生數據不一致等問題,即同樣的數據在不同的文件中所存儲的數值不同,造成矛盾。
(2)數據獨立性差
在文件系統中,盡管數據相對應用程序具有一定的獨立性,但這種獨立性主要是針對某一特定應用而言的。就整個應用系統而言,文件系統還未能徹底體現數據邏輯結構獨立于數據存儲的物理結構的要求。在文件系統中,數據和應用程序是互相依賴的,即應用程序的編寫與數據組織方式有關,如果改變數據的組織方式,就必須修改應用程序;而應用程序發生變化,如改用另一種程序設計語言來編寫應用程序,也必須修改文件的數據結構。
(3)數據之間缺乏有機的聯系,缺乏對數據的統一控制和管理
文件系統中各數據文件之間是相互獨立的,沒有從整體上反映現實世界事物之間的內在聯系,因此,很難對數據進行合理的組織以適應不同應用的需要。在同一個應用項目中的各個數據文件沒有統一的管理機構,數據完整性和安全性很難得到保證。
1.2.3 數據庫管理階段
20世紀60年代后期,計算機用于數據管理的規模更加龐大,數據量急劇增加,數據共享性要求更加強烈。同時,計算機硬件價格下降,而軟件價格上升,編制和維護軟件所需的成本相對增加,其中維護成本更高。這些成為數據管理技術在文件管理的基礎上發展到數據庫管理的原動力。
數據庫(DataBase,DB)是按一定的組織方式存儲起來的、相互關聯的數據集合。在數據庫管理階段,由一種叫作數據庫管理系統(DataBase Management System,DBMS)的系統軟件來對數據進行統一的控制和管理。數據庫管理系統把所有應用程序中使用的相關數據匯集起來,按統一的數據模型存儲在數據庫中,為各個應用程序所使用。在應用程序和數據庫之間保持較高的獨立性,數據具有完整性、一致性和安全性高等特點,并且具有充分的共享性,有效地減少了數據冗余。
在數據庫管理階段,數據統一存放在數據庫中,數據庫面向整個應用系統,實現了數據共享,并且數據庫和應用程序之間保持較高的獨立性,應用程序與數據庫之間的關系如圖1-1所示。

圖1-1 應用程序與數據庫之間的關系
1.2.4 新型數據庫系統
數據庫技術的發展先后經歷了層次數據庫、網狀數據庫和關系數據庫。層次數據庫和網狀數據庫可以看作是第1代數據庫系統,關系數據庫可以看作是第2代數據庫系統。自20世紀70年代提出關系數據模型和關系數據庫后,數據庫技術得到了蓬勃發展,其應用也越來越廣泛。但隨著應用的不斷深入,占主導地位的關系數據庫系統已不能滿足新的應用領域的需求。例如,在實際應用中,除了需要處理數字、字符數據的簡單應用,還需要存儲并檢索復雜的復合數據(如集合、數組、結構)、多媒體數據、計算機輔助設計繪制的工程圖紙和地理信息系統(Geographic Information System,GIS)提供的空間數據等,對于這些復雜數據,關系數據庫無法實現對它們的管理。正是實際應用中涌現出的許多問題,促使數據庫技術不斷向前發展,出現了許多不同類型的新型數據庫系統。下面概要性地做一些介紹。
1. 分布式數據庫系統
分布式數據庫系統(Distributed DataBase System,DDBS)是數據庫技術與計算機網絡技術、分布式處理技術相結合的產物。分布式數據庫系統是系統中的數據地理上分布在計算機網絡的不同節點,但邏輯上屬于一個整體的數據庫系統。分布式數據庫系統不同于將數據存儲在服務器上供用戶共享存取的網絡數據庫系統,它不僅能支持局部應用(訪問本地數據庫),而且能支持全局應用(訪問異地數據庫)。
分布式數據庫系統的主要特點如下。
(1)數據是分布的
數據庫中的數據分布在計算機網絡的不同節點上,而不是集中在一個節點,區別于數據存放在服務器上由各用戶共享的網絡數據庫系統。
(2)數據是邏輯相關的
分布在不同節點的數據邏輯上屬于同一數據庫系統,數據間存在相互關聯,區別于由計算機網絡連接的多個獨立的數據庫系統。
(3)節點的自治性
每個節點都有自己的計算機軟/硬件資源,如數據庫、數據庫管理系統等,因而能夠獨立地管理局部數據庫。局部數據庫中的數據不僅可供本節點用戶存取使用,還可供其他節點上的用戶存取使用,提供全局應用。
2. 面向對象數據庫系統
面向對象數據庫系統(Object-Oriented DataBase System,OODBS)是將面向對象的模型、方法和機制,與先進的數據庫技術有機地結合而形成的新型數據庫系統。它從關系模型中脫離出來,強調在數據庫框架中發展類型、數據抽象、繼承和持久性。面向對象數據庫系統的基本設計思想是:一方面把面向對象的程序設計語言向數據庫方向擴展,使應用程序能夠存取并處理對象;另一方面擴展數據庫系統,使其具有面向對象的特征,提供一種綜合的語義數據建模概念集,以便對現實世界中復雜應用的實體和聯系建模。因此,面向對象數據庫系統首先是一個數據庫系統,具備數據庫系統的基本功能,其次是一個面向對象的系統,針對面向對象的程序設計語言的永久性對象存儲管理而設計,充分支持完整的面向對象概念和機制。
3. 多媒體數據庫系統
多媒體數據庫系統(Multimedia DataBase System,MDBS)是數據庫技術與多媒體技術相結合的產物。隨著信息技術的發展,數據庫應用從傳統的企業信息管理擴展到計算機輔助設計(Computer-Aided Design,CAD)、計算機輔助制造(Computer-Aided Manufacture,CAM)、辦公自動化(Office Automation,OA)、人工智能(Artificial Intelligent,AI)等多種應用領域。這些領域中要求處理的數據不僅包括傳統的數字、字符等格式化數據,還包括大量多種媒體形式的非格式化數據,如圖形、圖像、聲音等。這種能存儲和管理多種媒體的數據庫稱為多媒體數據庫。
多媒體數據庫的結構及其操作與傳統格式化數據庫的結構和操作有很大差別。現有數據庫管理系統無論從模型的語義描述能力、系統功能、數據操作,還是存儲管理、存儲方法上,都不能適應非格式化數據的處理要求。綜合程序設計語言、人工智能和數據庫領域的研究成果,設計支持多媒體數據管理的數據庫管理系統已成為數據庫領域中一個新的重要研究方向。
在多媒體信息管理環境中,不僅數據本身的結構和存儲形式各不相同,而且不同領域對數據處理的要求也比一般事務管理復雜得多,因而對數據庫管理系統提出了更高的功能要求。
4. 數據倉庫技術
隨著信息技術的高速發展,數據庫應用規模、范圍和深度的不斷擴大,一般的事務處理已不能滿足應用的需要,企業界需要在大量數據基礎上的決策支持,數據倉庫(Data Warehouse,DW)技術的興起滿足了這一需求。數據倉庫作為決策支持系統(Decision Support System,DSS)的有效解決方案,涉及3方面的技術內容:數據倉庫技術、聯機分析處理(On Line Analysis Processing,OLAP)技術和數據挖掘(Data Mining,DM)技術。
數據倉庫、聯機分析處理和數據挖掘是作為3種獨立的數據處理技術出現的。數據倉庫用于數據的存儲和組織;聯機分析處理集中于數據的分析;數據挖掘則致力于知識的自動發現。它們都可以分別應用到信息系統的設計和實現中,以提高相應部分的處理能力。但是,由于這3種技術內在的聯系性和互補性,將它們結合起來即是一種新的決策支持系統架構。這一架構以數據庫中的大量數據為基礎,系統由數據驅動。
- C及C++程序設計(第4版)
- JavaScript:Functional Programming for JavaScript Developers
- Instant Lucene.NET
- 利用Python進行數據分析
- 一本書講透Java線程:原理與實踐
- Mastering Web Application Development with AngularJS
- Xamarin Blueprints
- Docker:容器與容器云(第2版)
- DevOps 精要:業務視角
- 每個人的Python:數學、算法和游戲編程訓練營
- Java EE輕量級解決方案:S2SH
- Zend Framework 2 Cookbook
- C# 7 and .NET Core 2.0 Blueprints
- React.js實戰
- Android項目實戰:博學谷