人工管理階段
從應用上看,計算機的主要應用領域是科學計算。從硬件上看,這個時期計算機內存空間小,計算速度低,外存只有磁帶、卡片和紙帶,沒有像磁盤這樣快速的直接存取存儲設備。從軟件上看,計算機沒有操作系統,更沒有數據管理軟件,數據處理是以批處理方式進行的
- 數據管理的特點
- 數據不保存:內存外存有限;主要用於科學計算,數據量較少
- 程序員管理數據:由於當時沒有相應的軟件系統負責數據的管理工作,應用程序中涉及的數據需要由程序員自己管理,即程序員在程序中不僅要編寫數據邏輯結構的代碼,而且還要編寫數據物理結構的代碼,包括數據存儲結構、存取方法和輸入方式的代碼。
- 數據不能共享:由於數據是在程序中定義的,一組數據只能對應一個程序,易產生大量的冗余數據。
- 數據不具有獨立性:由於數據的邏輯結構和物理結構均在程序代碼中定義,如果因為某種原因,需要改變數據的邏輯結構或物理結構時,必須對應用程序代碼作相應的修改,即數據與程序之間不具有獨立性。這不僅加重了程序員的負擔,且使用起來也很不方便、費時費力。
- 數據管理的缺點
- 數據管理中沒有直接存取的存儲設備存儲數據,導致應用程序中的數據無法被其他程序利用。
- 由於人工管理階段的數據是面向應用的,即使兩個應用程序涉及某些相同的數據,也必須各自定義,所以程序與程序之間有大量重復數據,導致數據冗余。
- 由於沒有專門的軟件管理數據,程序員不僅要規定數據的邏輯結構,而且還要在程序中設計物理結構,使數據和程序之間不具有相對獨立性,這樣就會造成數據獨立性、結構性差。
- 人工管理階段的軟硬件條件很差,在需要時將數據輸入,用完就撤走,導致了數據不能長期保存。
文件系統階段
文件系統階段是指從20世紀50年代后期到60年代中期。該時期的計算機應用范圍逐漸擴大,計算機不僅用於科學計算,而且還大量用於信息管理。計算機硬件有了進一步的發展,出現了磁盤、磁鼓等能直接存取的外存儲設備。在軟件方面,高級語言和操作系統已經有了完善的產品,並且操作系統中有專門負責管理數據的文件系統功能。數據處理的方式有批處理,也有聯機實時處理。
-
數據管理特點
- 數據可以長期保存:由於計算機大量用於數據處理,數據需要長期保存以便反復使用。把數據以文件的形式保存在磁盤等外存儲器上,為數據的長期保存和反復使用提供了保證。
- 文件的多樣化和結構化:由於有了直接存取設備,也就出現了順序文件、索引文件、隨機文件等多種文件組織形式。數據文件的存取基本上以記錄為單位,而記錄則是由一些字段按特定的結構組成的,每個記錄的長度是相等的。因此文件是記錄的集合,文件系統實現了記錄內部的有結構、但在整體上數據仍然是無結構的。
- 文件系統管理數據:操作系統提供的文件管理系統是應用程序與數據文件的專門接口。程序和數據文件之間的存取操作由文件系統根據“按文件名訪問,按記錄進行存取”的管理技術自動完成。文件的邏輯結構到物理結構的轉換由文件系統來自動完成,而不必由程序員設計考慮,從而使得程序和數據分開,數據與程序之間有了一定的獨立性。
-
數據管理的缺點
- 數據冗余度大:在文件系統中,一個文件基本上對應於一個應用程序,即文件系統中文件仍由應用程序來定義。當不同的應用程序具有部分相同的數據時,也必須建立各自的數據文件,而不能共享相同的數據。由於相同的數據在不同的文件中重復存儲、並由各自的程序管理,容易造成數據的不一致性,給數據的修改和維護帶來困難。
- 數據獨立性較差:由於文件的邏輯結構是在應用程序中定義的,文件系統中的文件是為某一特定應用服務的,因此一旦數據的邏輯結構改變,必須修改應用程序中關於文件結構的定義。反過來,應用程序的改變(例如,應用程序改用其他的高級語言編寫)也將引起數據文件結構的改變。因此數據與程序之間獨立性較差。
- 數據聯系弱:數據聯系是指不同文件中的數據之間的聯系。在文件系統階段,不同文件中的數據是相互獨立的,數據聯系弱。
數據庫系統階段
數據庫系統階段是指從20世紀60年代后期至今。標志是20世紀60年代末期的三件大事:① 1968年美國IBM公司推出層次模型的IMS(Information Management System)系統。②1969年美國CODASYL(Conference On Data System Language)組織頒布了DBTG(Data Base Task Group,數據庫任務組)報告。提出網狀模型。③1970年美國IBM公司的E.F.Codd連續發表論文,提出關系模型,奠定了關系數據庫的理論基礎。
- 數據管理特點
- 采用特定的數據模型,使數據結構化 數據結構化是數據庫和文件系統的本質區別。在文件系統中,相互獨立的文件的記錄內部是有結構的,通常采取的是等長或變長的記錄格式,但記錄之間沒有聯系,這種數據的獨立性只對一個應用而言,仍有局限性,不適應多用戶、多應用共享數據的需求。而數據庫系統為用戶提供一個數據的抽象視圖,它能隱藏數據的存儲結構和存取方法等細節,並通過數據模型作為實現數據抽象的主要工具,實現了整體數據的結構化,它要求在描述數據時不僅要描述數據本身,還要描述數據之間的聯系。
- 數據的獨立性高:數據庫系統提供了三級數據抽象(視圖級抽象、概念級抽象和物理級抽象)能力和三種數據庫模式(外模式、模式和內模式),實現了數據的物理獨立性和邏輯獨立性。數據與程序的相互獨立,使得可以把數據的定義和描述從應用程序中分離出去,而數據的存取由DBMS統一管理,用戶在應用程序中不用考慮存取路徑等細節,大大簡化了應用程序的編制及應用程序對數據的維護和修改。
- 數據的共享性好,數據冗余度低:數據庫系統允許多個用戶或多個應用程序同時訪問數據庫中的相同數據,數據不再面向某個應用,而是面向整個系統,從而實現了數據的共享,節省了存儲空間,大大減少了數據冗余,避免了數據之間的不相容性與不一致性。
- 為用戶提供了方便的用戶接口:用戶可以使用查詢語言(如SQL)或終端命令對數據庫進行訪問,也可以借助高級語言(如C、Java)采用程序方式對數據庫進行操作。
- 統一的數據控制:數據庫系統中的數據由DBMS統一管理,而且管理的是有結構的數據,因此可靈活地使用數據。一個數據庫一般都要支持很多應用程序和用戶。不同的應用程序和不同的用戶對同一個數據庫可能有不同的理解,對同一數據庫的一種理解稱為這個數據庫的一個視圖。一個視圖可以是一個數據庫子集合,也可以是多個數據庫的子集按照某種方式構成的虛擬數據庫。DBMS提供了定義、維護和操縱視圖的機制,使得多個用戶可以為他們的應用定義、維護和使用自己的視圖。
- 為了適應數據共享環境,DBMS提供了數據控制功能
- 數據的安全性控制
- 數據的完整性控制
- 並發控制:並發控制是用來控制多個事務的並發運行,避免事務之間的相互干擾,保證每個事務都能產生正確的結果。
- 數據庫恢復:數據庫恢復是指在發生某種故障而使數據庫當前狀態已經不再正確時,能把數據庫恢復到已知為正確的某種狀態。