申請免費試用、咨詢電話:400-8352-114
文章來源:泛普軟件
數(shù)據(jù)管理技術的發(fā)展可以大體歸為三個階段:人工管理、文件系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)。
一、人工管理
這一階段(20世紀50年代中期以前),計算機主要用于科學計算。外部存儲器只有磁帶、卡片和紙帶等還沒有磁盤等直接存取存儲設備。軟件只有匯編語言,尚無數(shù)據(jù)管理方面的軟件。數(shù)據(jù)處理方式基本是批處理。這個階段有如下幾個特點:
計算機系統(tǒng)不提供對用戶數(shù)據(jù)的管理功能。用戶編制程序時,必須全面考慮好相關的數(shù)據(jù),包括數(shù)據(jù)的定義、存儲結構以及存取方法等。程序和數(shù)據(jù)是一個不可分割的整體。數(shù)據(jù)脫離了程序就無任何存在的價值,數(shù)據(jù)無獨立性。
數(shù)據(jù)不能共享。不同的程序均有各自的數(shù)據(jù),這些數(shù)據(jù)對不同的程序通常是不相同的,不可共享;即使不同的程序使用了相同的一組數(shù)據(jù),這些數(shù)據(jù)也不能共享,程序中仍然需要各自加人這組數(shù)據(jù),誰也不能省略?;谶@種數(shù)據(jù)的不可共享性,必然導致程序與程序之間存在大量的重復數(shù)據(jù),浪費了存儲空間。
不單獨保存數(shù)據(jù)?;跀?shù)據(jù)與程序是一個整體,數(shù)據(jù)只為本程序所使用,數(shù)據(jù)只有與相應的程序一起保存才有價值,否則就毫無用處。所以,所有程序的數(shù)據(jù)均不單獨保存。
二、文件系統(tǒng)
在這一階段(20世紀50年代后期至60年代中期)計算機不僅用于科學計算,還利用在信息管理方面。隨著數(shù)據(jù)量的增加,數(shù)據(jù)的存儲、檢索和維護問題成為緊迫的需要,數(shù)據(jù)結構和數(shù)據(jù)管理技術迅速發(fā)展起來。此時,外部存儲器已有磁盤、磁鼓等直接存取的存儲設備。軟件領域出現(xiàn)了操作系統(tǒng)和高級軟件。操作系統(tǒng)中的文件系統(tǒng)是專門管理外存的數(shù)據(jù)管理軟件,文件是操作系統(tǒng)管理的重要資源之一。數(shù)據(jù)處理方式有批處理,也有聯(lián)機實時處理。這個階段有如下幾個特點:
數(shù)據(jù)以“文件”形式可長期保存在外部存儲器的磁盤上。由于計算機的應用轉向信息管理,因此對文件要進行大量的查詢、修改和插人等操作。
數(shù)據(jù)的邏輯結構與物理結構有了區(qū)別,但比較簡單。程序與數(shù)據(jù)之間具有“設備獨立性”,即程序只需用文件名就可與數(shù)據(jù)打交道,不必關心數(shù)據(jù)的物理位置。由操作系統(tǒng)的文件系統(tǒng)提供存取方法(讀/寫)。
文件組織已多樣化。有索引文件、鏈接文件和直接存取文件等。但文件之間相互獨立、缺乏聯(lián)系。數(shù)據(jù)之間的聯(lián)系要通過程序去構造。
數(shù)據(jù)不再屬于某個特定的程序,可以重復使用,即數(shù)據(jù)面向應用。但是文件結構的設計仍然是基于特定的用途,程序基于特定的物理結構和存取方法,因此程序與數(shù)據(jù)結構之間的依賴關系并未根本改變。
對數(shù)據(jù)的操作以記錄為單位。這是由于文件中只存儲數(shù)據(jù),不存儲文件記錄的結構描述信息。文件的建立、存取、查詢、插人、刪除、修改等所有操作,都要用程序來實現(xiàn)。
隨著數(shù)據(jù)管理規(guī)模的擴大,數(shù)據(jù)量急劇增加,文件系統(tǒng)顯露出一些缺陷:
數(shù)據(jù)冗余。由于文件之間缺乏聯(lián)系,造成每個應用程序都有對應的文件,有可能同樣的數(shù)據(jù)在多個文件中重復存儲。
不一致性。這往往是由數(shù)據(jù)冗余造成的,在進行更新操作時,稍不謹慎,就可能使同樣的數(shù)據(jù)在不同的文件中不一樣。
數(shù)據(jù)聯(lián)系弱。這是由于文件之間相互獨立,缺乏聯(lián)系造成的。
文件系統(tǒng)階段是數(shù)據(jù)管理技術發(fā)展中的一個重要階段。在這一階段中,得到充分發(fā)展的數(shù)據(jù)結構和算法豐富了計算機科學,為數(shù)據(jù)管理技術的進一步發(fā)展打下了基礎,現(xiàn)在仍是計算機軟件科學的重要基礎。
三、數(shù)據(jù)庫管理系統(tǒng)
這一階段(60年代后期),數(shù)據(jù)管理技術進入數(shù)據(jù)庫系統(tǒng)階段。數(shù)據(jù)庫系統(tǒng)克服了文件系統(tǒng)的缺陷,提供了對數(shù)據(jù)更高級、更有效的管理。這個階段的程序和數(shù)據(jù)的聯(lián)系通過數(shù)據(jù)庫管理系統(tǒng)來實現(xiàn)(DBMS),見圖1.1.14所示。
概括起來,數(shù)據(jù)庫系統(tǒng)階段的數(shù)據(jù)管理具有以下特點:
采用數(shù)據(jù)模型表示復雜的數(shù)據(jù)結構。數(shù)據(jù)模型不僅描述數(shù)據(jù)本身的特征,還要描述數(shù)據(jù)之間的聯(lián)系,這種聯(lián)系通過存取路徑實現(xiàn)。通過所有存取路徑表示自然的數(shù)據(jù)聯(lián)系是數(shù)據(jù)庫與傳統(tǒng)文件的根本區(qū)別。這樣,數(shù)據(jù)不再面向特定的某個或多個應用,而是面向整個應用系統(tǒng)。數(shù)據(jù)冗余明顯減少,實現(xiàn)了數(shù)據(jù)共享。
有較高的數(shù)據(jù)獨立性。數(shù)據(jù)的邏輯結構與物理結構之間的差別可以很大。用戶以簡單的邏輯結構操作數(shù)據(jù)而無需考慮數(shù)據(jù)的物理結構。數(shù)據(jù)庫的結構分成用戶的局部邏輯結構、數(shù)據(jù)庫的整體邏輯結構和物理結構三級。用戶(應用程序或終端用戶)的數(shù)據(jù)和外存中的數(shù)據(jù)之間轉換由數(shù)據(jù)庫管理系統(tǒng)實現(xiàn)。
數(shù)據(jù)庫系統(tǒng)為用戶提供了方便的用戶接口。用戶可以使用查詢語言或終端命令操作數(shù)據(jù)庫,也可以用程序方式(如用C一類高級語言和數(shù)據(jù)庫語言聯(lián)合編制的程序)操作數(shù)據(jù)庫。
數(shù)據(jù)庫系統(tǒng)提供了數(shù)據(jù)控制功能。例如,1。數(shù)據(jù)庫的并發(fā)控制:對程序的并發(fā)操作加以控制,防止數(shù)據(jù)庫被破壞,杜絕提供給用戶不正確的數(shù)據(jù);2。數(shù)據(jù)庫的恢復:在數(shù)據(jù)庫被破壞或數(shù)據(jù)不可靠時,系統(tǒng)有能力把數(shù)據(jù)庫恢復到最近某個正確狀態(tài);3。數(shù)據(jù)完整性:保證數(shù)據(jù)庫中數(shù)據(jù)始終是正確的;4。數(shù)據(jù)安全性:保證數(shù)據(jù)的安全,防止數(shù)據(jù)的丟失、破壞。
增加了系統(tǒng)的靈活性。對數(shù)據(jù)的操作不一定以記錄為單位,可以以數(shù)據(jù)項為單位。
來源:CCW