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