數據管理經過了人工管理階段、文件系統階段和數據庫系統階段三個階段。
一、人工管理階段(20世紀50年代中期以前)
在這一階段,計算機主要用于科學計算。外部存儲器只有磁帶、卡片和紙帶等,還沒有磁盤等直接存取存儲設備。軟件也處于初級階段,只有匯編語言,無操作系統(OS)和數據管理方面的軟件。數據處理方式基本是批處理。這個階段有如下幾個特點:
(1)數據不保存,數據也無需長期保存。
(2)計算機系統不提供對用戶數據的管理功能。用戶編制程序時,必須全面考慮好相關的數據,包括數據的定義、存儲結構以及存取方法等。程序和數據是一個不可分割的整體。數據脫離了程序就無任何存在的價值,數據無獨立性。
(3)只有程序的概念,沒有文件的概念。數據的組織形式必須由程序員自行設計。
(4)數據不能共享。不同的程序均有各自的數據,這些數據對不同的程序通常是不相同的,不可共享;即使不同的程序使用了相同的一組數據,這些數據也不能共享,程序中仍然需要各自加人這組數據,誰也不能省略。基于這種數據的不可共享性,必然導致程序與程序之間存在大量的重復數據,浪費了存儲空間。
(5)數據面向程序,不單獨保存數據。基于數據與程序是一個整體,數據只為本程序所使用,數據只有與相應的程序一起保存才有價值,否則就毫無用處。所以,所有程序的數據均不單獨保存。
二、文件系統階段(20世紀50年代后期至60年代中期)
在這一階段,計算機不僅用于科學計算,還利用在信息管理方面。隨著數據量的增加,數據的存儲、檢索和維護問題成為緊迫的需要,數據結構和數據管理技術迅速發展起來。此時,外部存儲器已有磁盤、磁鼓等直接存取的存儲設備。軟件領域出現了操作系統操作系統和高級軟件。操作系統中的文件系統是專門管理外存的數據管理軟件,文件是操作系統管理的重要資源之一。數據處理方式有批處理,也有聯機實時處理。這個階段有如下幾個特點:
數據以“文件”形式可長期保存在外部存儲器的磁盤上。由于計算機的應用轉向信息管理,因此對文件要進行大量的查詢、修改和插人等操作。
數據的邏輯結構與物理結構有了區別,但比較簡單。程序與數據之間具有“設備獨立性”,即程序只需用文件名就可與數據打交道,不必關心數據的物理位置。由操作系統的文件系統提供存取方法(讀/寫)。
文件組織已多樣化。有索引文件、鏈接文件和直接存取文件等。但文件之間相互獨立、缺乏聯系。數據之間的聯系要通過程序去構造。
數據不再屬于某個特定的程序,可以重復使用,即數據面向應用。但是文件結構的設計仍然是基于特定的用途,程序基于特定的物理結構和存取方法,因此程序與數據結構之間的依賴關系并未根本改變。
對數據的操作以記錄為單位。這是由于文件中只存儲數據,不存儲文件記錄的結構描述信息。文件的建立、存取、查詢、插人、刪除、修改等所有操作,都要用程序來實現。
隨著數據管理規模的擴大,數據量急劇增加,文件系統顯露出一些缺陷:
(1)編寫應用程序不方便,程序員不得不記住文件的組織形式和包含的內容。
(2)數據冗余大。由于文件之間缺乏聯系,造成每個應用程序都有對應的文件,有可能同樣的數據在多個文件中重復存儲。數據冗余不僅浪費了空間,還導致數據的潛在的不一致性和修改數據較困難。
(3)不一致性。這往往是由數據冗余造成的,在進行更新操作時,稍不謹慎,就可能使同樣的數據在不同的文件中不一樣。
(4)數據獨立性差。如果存儲文件的邏輯結構發生了變化或存儲結構發生了變化,不得不修改程序,程序和數據之間的獨立性仍然較差。
(5)不支持對文件的并發訪問。
(6)數據間的聯系較弱。這是由于文件之間相互獨立,缺乏聯系造成的。
(7)難以按不同的用戶的需要來表示數據
(8)安全控制功能較差。
三、數據庫管理系統階段(20世紀60年代后期開始)
這一階段,計算機越來越多地應用于管理領域,且規模也越來越大。數據庫系統克服了文件系統的缺陷,提供了對數據更高級、更有效的管理。這個階段的程序和數據的聯系通過數據庫管理系統來實現(DBMS)。
概括起來,數據庫系統階段的數據管理具有以下特點:
(1)數據結構化。在描述數據的時候,不僅要描述數據本身,還要描述數據之間的聯系,這樣把相互關聯的數據集成了起來。
(2)數據共享。數據不再面向特定的某個或多個應用,而是面向整個應用系統。
(3)大大降低數據冗余。
(4)有較高的數據獨立性(Data Independence)。數據獨立性是指存儲在數據庫中的數據與應用程序之間不存在依賴關系,而是相互獨立的。可分為邏輯獨立性和物理獨立性兩部分。邏輯獨立性是指當數據的邏輯結構發生變化(如增加一列或減少一列)而不影響應用程序的特性。物理獨立性是指當存儲數據的物理結構發生變化時(如由順序存儲變為鏈式存儲)而不影響應用程序的特性。
(5)保證了安全可靠性和正確性。通過對數據的完整性控制、安全性控制、并發控制和數據的備份與恢復策略,使存儲在數據庫中的數據有了更大的保障。
此外,數據庫系統為用戶提供了方便的用戶接口。用戶可以使用查詢語言或終端命令操作數據庫,也可以用程序方式(如用C一類高級語言和數據庫語言聯合編制的程序)操作數據庫。
新聞熱點
疑難解答