官术网_书友最值得收藏!

1.2 數據庫發展史

數據庫的歷史可以追溯到50多年前的20世紀60年代,那時的數據管理非常簡單。通過大量分類、比較和表格繪制的機器運行數百萬穿孔卡片來進行數據的處理,其運行結果將在紙上打印出來或者制成新的穿孔卡片。而數據管理就是對所有這些穿孔卡片進行物理存儲和處理。1951年雷明頓蘭德公司(Remington Rand Inc.)的一種叫做Univac I的計算機推出了一種一秒可以輸入數百條記錄的磁帶驅動器,從而引發了數據管理的革命。1956年IBM生產出第一個磁盤驅動器the Model 305 RAMAC。此驅動器有50個盤片,每個盤片直徑為2英尺,可以儲存5MB的數據。使用磁盤最大的好處是可以隨機地存取數據,而穿孔卡片和磁帶只能順序存取數據。1951年Univac系統使用磁帶和穿孔卡片存儲數據。

數據庫發展階段大致可分為如下幾個階段:人工管理階段、文件系統階段、數據庫系統階段、高級數據庫階段。

1.2.1 人工管理階段

20世紀50年代中期之前,計算機的軟、硬件均不完善。硬件存儲設備只有磁帶、卡片和紙帶,軟件方面還沒有操作系統。當時的計算機主要用于科學計算。這個階段由于還沒有軟件系統對數據進行管理,程序員在程序中不僅要規定數據的邏輯結構,還要設計其物理結構,包括存儲結構、存取方法、輸入/輸出方式等。當數據的物理組織或存儲設備改變時,用戶程序就必須重新編制。由于數據的組織面向應用,不同計算程序之間不能共享數據,使得不同的應用之間存在大量重復數據,很難維護應用程序之間數據的一致性,如圖1-1所示。這一階段的主要特征可歸納如下:

①計算機中沒有支持數據管理的軟件;

②數據組織面向應用,數據不能共享,數據重復;

③在程序中要規定數據的邏輯結構和物理結構,數據與程序不獨立;

④數據處理方式為批處理。

例如,Acrobat生成的數據與Word的數據無法共享,如圖1-2所示。

圖1-1 人工管理階段

圖1-2 程序間不能共享數據

1.2.2 文件系統階段

文件系統階段的主要標志是計算機中有了專門管理數據庫的軟件——操作系統。20世紀50年代中期到60年代中期,由于計算機大容量存儲設備(如硬盤)的出現,推動了軟件技術的發展,而操作系統的出現標志著數據管理步入一個新的階段。在文件系統階段,數據以文件為單位存儲在外存,且由操作系統統一管理。操作系統為用戶使用文件提供了友好的界面。文件的邏輯結構與物理結構脫鉤,程序與數據分離,使數據與程序有了一定的獨立性。用戶的程序與數據可分別存放在外存儲器上,各應用程序可以共享一組數據,實現了以文件為單位的數據共享,文件系統結構圖如圖1-3所示。

圖1-3 文件系統階段

在文件系統中,一個txt文檔既可以由Word軟件打開,也可以由記事本軟件打開,兩種應用程序共享一個txt文檔,如圖1-4所示。由于文件系統中數據的組織仍然是面向程序的,存在大量數據冗余,數據的邏輯結構不能方便地修改和擴充,數據邏輯結構的每一點微小改變都會影響到應用程序。

圖1-4 文件系統中不同應用程序共享數據

另一方面,文件之間互相獨立,不能反映現實世界中事物之間的聯系,操作系統不維護文件之間的聯系信息。如果文件之間有內容上的聯系,也只能由應用程序處理。例如,在Windows操作系統中的一個Word文檔,其中的文字數據不能夠被另外一個Word文檔直接使用,如圖1-5所示。如果兩個Word文檔有相同的數據,則必須各自復制一份,這種重復就是冗余,不方便維護。當圖1-5中任何一個學生更換電話號碼時,必須同時修改兩個文檔。如果修改有遺漏,則號碼不一致,其中必然有一個號碼是錯誤的。

圖1-5 兩個文檔不能互相引用數據產生冗余

1.2.3 數據庫系統階段

20世紀60年代后,隨著計算機在數據管理領域的普遍應用,人們對數據管理技術提出了更高的要求:希望面向企業或部門,以數據為中心組織數據,減少數據的冗余,提供更高的數據共享能力,同時要求程序和數據具有較高的獨立性,當數據的邏輯結構改變時,不涉及數據的物理結構,也不影響應用程序,以降低應用程序研制與維護的費用。數據庫技術正是在這樣一個應用需求的基礎上發展起來的。

數據庫技術有如下特點:

①面向企業或部門,以數據為中心組織數據,形成綜合性的數據庫,為各應用共享。

②采用一定的數據模型。數據模型不僅要描述數據本身的特點,而且要描述數據之間的聯系。

③數據冗余小,易修改,易擴充。不同應用程序根據處理要求,從數據庫中獲取需要的數據,這樣就減少了數據的重復存儲,也便于增加新的數據結構,便于維護數據的一致性。

④程序和數據有較高的獨立性。

⑤具有良好的用戶接口,用戶可方便地開發和使用數據庫。

⑥對數據進行統一管理和控制,提供了數據的安全性、完整性及并發控制。

從文件系統發展到數據庫系統,這在信息領域中具有里程碑的意義。在文件系統階段,人們在信息處理中關注的中心問題是系統功能的設計,因此程序設計占主導地位;在數據庫方式下,數據開始占據了中心位置,數據的結構設計成為信息系統首先關心的問題,而應用程序則以既定的結構為基礎進行設計。本階段文件系統結構圖如1-6所示。例如,在某大學的網絡服務軟件中“教師管理系統”、“學生管理系統”、“教務管理系統”通過SQL Server管理系統共享教務數據庫中的“學生表”、“課程表”、“教師表”、“成績表”,如圖1-7所示。

圖1-6 數據庫系統階段

圖1-7 多個應用程序共享數據庫

主站蜘蛛池模板: 安陆市| 滁州市| 星子县| 普安县| 宣恩县| 五河县| 酉阳| 成都市| 上饶市| 日土县| 漯河市| 临洮县| 蒲江县| 六盘水市| 中牟县| 肃南| 钟祥市| 红河县| 湛江市| 吴旗县| 西藏| 中阳县| 辛集市| 桦甸市| 龙井市| 松江区| 普格县| 达日县| 正定县| 昆明市| 廉江市| 江阴市| 龙井市| 慈利县| 龙岩市| 海安县| 通州区| 苗栗市| 富平县| 紫金县| 东至县|