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

1.2 數據管理技術的發展

自從世界上第一臺電子數字計算機誕生以來,數據管理技術經歷了人工管理、文件系統和數據庫系統3個階段。

1. 人工管理階段

0

視頻1-1

在20世紀50年代中期以前,受到當時計算機軟硬件技術的限制,計算機主要用于科學計算。硬件的外部存儲設備只有磁帶、卡片和紙帶;軟件方面還沒有操作系統,更沒有進行數據管理的軟件。在這個階段,計算機沒有數據管理功能,程序員將程序和數據編寫在一起,每個程序都有屬于自己的一組數據,程序之間數據不能共享,即便是幾個程序處理同一批數據,也必須重復輸入,數據冗余度很大。人工管理階段應用程序與數據的關系如圖1-1所示。

0

圖1-1 人工管理階段應用程序與數據的關系

例如,要求分別編寫程序求出10個整數的最大值和最小值。采用人工管理方式的C語言程序如圖1-2所示。

0

圖1-2 人工管理階段應用程序與數據處理程序示例

從這個例子可以看出,在人工管理階段,程序和數據是不可分割的整體。每個程序都有自己的數據,而且數據不獨立,完全依賴于程序,根本無法實現數據共享,冗余度極大。

2. 文件系統階段

到了20世紀60年代中期,計算機不僅用于科學計算,還大量用于信息處理。硬件上已經有了可直接存取的存儲設備(如磁盤),軟件上出現了操作系統。在這個階段,數據能夠以文件形式存儲在外存上,由操作系統中的文件系統統一管理,按名存取。這就使得程序與數據可以分離,程序與數據之間有了一定的獨立性。不同應用程序可以共享一組數據,實現了數據以文件為單位的共享,文件系統階段應用程序與數據的關系如圖1-3所示。

0

圖1-3 文件系統階段應用程序與數據的關系

例如,同樣是分別編寫程序求出10個整數的最大值和最小值。采用文件系統管理,可以將這10個整數存放在一個文本文件(如data.txt)中,在Windows的附件程序“記事本”中可以編輯文本文件,如圖1-4所示。然后,由應用程序從該文件中獲得數據,實現數據共享。具體的C語言程序如圖1-5所示。此外,如果想繼續求出另外10個整數的最大值和最小值,不需改變程序,只需修改文本文件中的數據即可,使得程序與數據具有一定的獨立性。

0

圖1-4 data.txt文本文件

0

圖1-5 文件系統階段應用程序與數據處理程序示例

從這個例子可以看出,在文件系統階段,數據可以長期保存,由文件系統統一管理。但由于文件中只保存了數據,并未存儲數據的結構信息,導致讀取文件數據的操作必須在程序中實現,從而使程序與數據之間的獨立性仍然有局限性,數據不能完全脫離程序。

3. 數據庫系統階段

到了20世紀60年代后期,隨著計算機應用的日益廣泛,數據管理的規模越來越大,為了解決數據的獨立性問題,實現數據的統一管理,達到數據共享的目的,數據庫技術應運而生,使數據管理進入了數據庫系統階段。數據庫系統階段應用程序與數據的關系通過數據庫管理系統實現,如圖1-6所示。數據庫系統提供了對數據更高級、更有效的管理,使數據不再面向特定的某個或多個應用,而是面向整個應用系統。

0

圖1-6 數據庫系統管理階段應用程序與數據的關系

例如,同樣是求10個整數的最大值和最小值。采用數據庫系統方式實現時,可以將這10個整數存放在Access數據庫的一個data表(見圖1-7)中,然后通過Access數據庫管理系統提供的標準化的查詢語句就能夠得出結果。

0

圖1-7 data表中的數據

求最大值的標準化查詢語句為:Select Max(Num)From data

求最小值的標準化查詢語句為:Select Min(Num)From data

其中,Max是求最大值的函數,Min是求最小值的函數,data是存放數據的表名稱,Num是表中具體存放數據的列名稱。

從這個例子可以看出,在數據庫系統階段,數據庫中不僅保存了數據,還保存了數據表的結構信息(如Num列),程序中可以不用考慮數據的存取問題,具體的工作由數據庫管理系統完成。只有數據庫系統階段,數據才真正實現了獨立和共享。

隨著數據庫技術的發展和科學技術的不斷進步,各個行業領域對數據庫技術提出了更多的需求,除了傳統的數據庫系統(層次數據庫系統、網狀數據庫系統和關系數據庫系統)之外,還出現了分布式數據庫系統、并行數據庫系統、面向對象數據庫系統和多媒體數據庫系統等多種數據庫系統。

主站蜘蛛池模板: 张掖市| 宿迁市| 乐昌市| 兖州市| 广水市| 正镶白旗| 宁南县| 靖安县| 新龙县| 湘西| 乌海市| 咸宁市| 德格县| 博白县| 陕西省| 仁布县| 涿州市| 密山市| 邓州市| 吉首市| 凯里市| 梁平县| 黔西县| 广河县| 水富县| 三江| 龙州县| 开封市| 嘉善县| 门头沟区| 柞水县| 北流市| 密云县| 夏邑县| 昭通市| 乌审旗| 吉水县| 洛川县| 敖汉旗| 浮山县| 鹤庆县|