- MySQL數(shù)據(jù)庫應用與維護項目式教程(微課版)
- 舒蕾 劉均主編
- 3539字
- 2023-11-16 18:21:53
任務1.1.1 了解數(shù)據(jù)庫的發(fā)展階段
微課1-1

了解數(shù)據(jù)庫的發(fā)展階段
最早的計算機主要應用于軍事和科學研究領域,隨著計算機理論研究的深入和計算機技術(shù)的發(fā)展,從20世紀50年代開始,計算機的主要應用逐漸變?yōu)橐话愕臄?shù)據(jù)及事務處理。伴隨著這種轉(zhuǎn)變的逐漸深入,以數(shù)據(jù)處理為核心的數(shù)據(jù)庫技術(shù)隨之發(fā)展并成熟起來,成為計算機科學技術(shù)中應用最為廣泛和最為重要的技術(shù)之一。
所謂數(shù)據(jù)處理,就是從已有數(shù)據(jù)出發(fā),經(jīng)過適當加工、處理得到新的所需數(shù)據(jù)的過程。數(shù)據(jù)處理一般分為數(shù)據(jù)計算和數(shù)據(jù)管理兩部分。數(shù)據(jù)計算相對簡單,數(shù)據(jù)管理卻比較復雜,是數(shù)據(jù)處理過程的主要內(nèi)容與核心部分。一般認為,數(shù)據(jù)管理主要是指數(shù)據(jù)的收集、整理、組織、存儲、維護、檢索和傳送等操作。從數(shù)據(jù)管理的角度來看,計算機數(shù)據(jù)處理技術(shù)經(jīng)歷了以下3個階段:人工管理階段、文件系統(tǒng)階段、數(shù)據(jù)庫系統(tǒng)階段。
1.人工管理階段
20世紀50年代中期以前為人工管理階段,是計算機數(shù)據(jù)管理的初級階段。
在這一階段,計算機被當成一種計算工具,主要用于科學計算。硬件中的外存只有卡片、紙帶、磁帶,沒有磁盤等直接存儲設備;軟件只有匯編語言,沒有操作系統(tǒng),更無統(tǒng)一的管理數(shù)據(jù)的軟件;數(shù)據(jù)的管理完全在程序中進行,數(shù)據(jù)處理的方式基本上是批處理。人工管理階段的特征如下。
(1)數(shù)據(jù)不保存
由于主要用于科學計算,所以一般不需要將數(shù)據(jù)長期保存。計算某一課題時將數(shù)據(jù)輸入,計算完畢就將數(shù)據(jù)撤走,用戶提供的數(shù)據(jù)是如此處理的,系統(tǒng)軟件運行過程中產(chǎn)生的數(shù)據(jù)也是這樣處理的。
(2)應用程序管理數(shù)據(jù)
由于沒有相應軟件系統(tǒng)完成數(shù)據(jù)的管理工作,所以應用程序不僅要規(guī)定好數(shù)據(jù)的邏輯結(jié)構(gòu),還要規(guī)定數(shù)據(jù)的存儲結(jié)構(gòu)、存取方法、輸入方式、地址分配等。
(3)數(shù)據(jù)無共享
數(shù)據(jù)是面向程序的,數(shù)據(jù)由應用程序自行攜帶,一組數(shù)據(jù)只能對應一個應用程序,很難實現(xiàn)多個應用程序共享數(shù)據(jù)資源,這就使應用程序嚴重依賴數(shù)據(jù)。一個應用程序攜帶的數(shù)據(jù),在應用程序運行結(jié)束后就連同該應用程序一起退出計算機系統(tǒng)。如果別的應用程序想使用該應用程序的數(shù)據(jù),則只能重新組織攜帶,因此應用程序之間有大量的冗余數(shù)據(jù)。
(4)數(shù)據(jù)不獨立
由于應用程序只負責管理數(shù)據(jù),所以數(shù)據(jù)與應用程序不具有獨立性。如果數(shù)據(jù)的類型、格式、存取方法或輸入/輸出方式等邏輯結(jié)構(gòu)或物理結(jié)構(gòu)發(fā)生變化,就必須對應用程序做出相應的修改,程序員負擔相當重。
人工管理階段應用程序與數(shù)據(jù)集之間的對應關系如圖1-2所示。

圖1-2 人工管理階段應用程序與數(shù)據(jù)集之間的對應關系
2.文件系統(tǒng)階段
20世紀50年代后期至20世紀60年代中期,隨著計算機軟硬件的發(fā)展,出現(xiàn)了文件系統(tǒng),其負責對數(shù)據(jù)進行管理。
在這一階段,計算機已大量用于信息管理。硬件有了磁盤、磁鼓等直接存儲設備。在軟件方面,出現(xiàn)了高級語言和操作系統(tǒng)。操作系統(tǒng)中有了專門管理數(shù)據(jù)的軟件,稱為文件系統(tǒng)。用戶可以把相關數(shù)據(jù)組織成一個文件存放在計算機中,由文件系統(tǒng)對數(shù)據(jù)的存取進行管理,處理方式有批處理和聯(lián)機處理。
(1)文件系統(tǒng)階段的特點
① 數(shù)據(jù)可以長期保存。
數(shù)據(jù)以文件的形式存儲在計算機的直接存儲設備中,可長期保存并反復使用。用戶可隨時對文件進行查詢、修改、插入和刪除等操作。
② 由文件系統(tǒng)管理數(shù)據(jù)。
由專門的軟件(即文件系統(tǒng))進行數(shù)據(jù)管理,文件系統(tǒng)把數(shù)據(jù)組織成相互獨立的數(shù)據(jù)文件,利用“按文件名訪問,按記錄進行存取”的管理技術(shù),提供了對文件進行打開與關閉、對記錄進行讀取和寫入的操作。程序員只需與文件名打交道,不必明確數(shù)據(jù)的物理存儲,大大減輕了程序員的負擔。
(2)文件系統(tǒng)階段存在的問題
文件系統(tǒng)階段對數(shù)據(jù)的管理有了巨大進步,但一些根本問題仍沒有徹底解決,具體如下。
① 數(shù)據(jù)共享性差,冗余度大。
在文件系統(tǒng)中,一個(或一組)文件基本上對應一個應用程序,即文件仍然是面向應用程序的。當不同的應用程序具有部分相同的數(shù)據(jù)時,也必須建立各自的文件,而不能共享相同的數(shù)據(jù),因此數(shù)據(jù)冗余度大,浪費存儲空間。
② 數(shù)據(jù)獨立性差。
文件系統(tǒng)中的文件是為某一特定的應用程序服務的,文件的邏輯結(jié)構(gòu)是針對具體的應用程序來設計和優(yōu)化的,因此文件中的數(shù)據(jù)要再被一些新的應用程序使用會很困難。
③ 數(shù)據(jù)一致性差。
由于相同數(shù)據(jù)的重復存儲、各自管理,在進行更新操作時,容易造成數(shù)據(jù)的不一致,給數(shù)據(jù)的修改和維護帶來困難。
文件系統(tǒng)階段應用程序與文件之間的對應關系如圖1-3所示。
3.數(shù)據(jù)庫系統(tǒng)階段
自20世紀60年代后期以來,計算機管理的對象規(guī)模越來越大,應用范圍越來越廣泛,數(shù)據(jù)量急劇增加,同時,多種應用、多種語言互相覆蓋的共享集合的需求越來越強烈。

圖1-3 文件系統(tǒng)階段應用程序與文件之間的對應關系
在這種背景下,將文件系統(tǒng)作為數(shù)據(jù)管理手段已經(jīng)不能滿足需求,為了解決多用戶、多應用程序共享數(shù)據(jù)的要求,出現(xiàn)了統(tǒng)一管理數(shù)據(jù)的專門軟件系統(tǒng)—數(shù)據(jù)庫管理系統(tǒng)(Database Management System, DBMS)。
數(shù)據(jù)庫是長期存儲在計算機內(nèi)、有組織、可共享的大量數(shù)據(jù)的集合。它可以供不同用戶共享,具有最小冗余度和較高的數(shù)據(jù)獨立性。DBMS在數(shù)據(jù)庫建立、運用和維護時對數(shù)據(jù)庫進行統(tǒng)一控制,以保證數(shù)據(jù)的安全性和完整性,并且在多用戶同時使用數(shù)據(jù)庫時可以進行并發(fā)控制,以及在發(fā)生故障后對數(shù)據(jù)庫進行恢復。
(1)數(shù)據(jù)庫管理技術(shù)的突破
數(shù)據(jù)庫管理技術(shù)進入新時代離不開里程碑式的技術(shù)突破,以下3件大事為數(shù)據(jù)庫技術(shù)的突破奠定了基礎。
① 1968年,美國IBM公司推出了世界上第一個基于層次模型的大型商用DBMS——信息管理系統(tǒng)(Information Management System,IMS)。
② 1969年,美國數(shù)據(jù)系統(tǒng)語言協(xié)會(Conference on Data System Language, CODASYL)下屬的數(shù)據(jù)庫任務組(Database Task Group, DBTG)提出了基于網(wǎng)狀模型的數(shù)據(jù)庫任務組系統(tǒng)。
③ 1970年,美國IBM公司的高級研究員科德(E.F.Codd)發(fā)表論文提出關系模型,此模型奠定了關系數(shù)據(jù)庫的理論基礎。
(2)數(shù)據(jù)庫系統(tǒng)階段的特點
與人工管理階段和文件系統(tǒng)階段相比,數(shù)據(jù)庫系統(tǒng)階段主要有如下特點。
① 數(shù)據(jù)高度結(jié)構(gòu)化。
數(shù)據(jù)結(jié)構(gòu)化是數(shù)據(jù)庫系統(tǒng)與文件管理系統(tǒng)的根本區(qū)別。數(shù)據(jù)庫系統(tǒng)不僅會考慮數(shù)據(jù)項之間的聯(lián)系,還會考慮數(shù)據(jù)類型之間的聯(lián)系。在數(shù)據(jù)庫系統(tǒng)中,不僅數(shù)據(jù)內(nèi)部具有結(jié)構(gòu)化特征,數(shù)據(jù)整體也是結(jié)構(gòu)化的,即數(shù)據(jù)之間是有聯(lián)系的。例如,某學校的信息管理系統(tǒng)除了會考慮教務處的學生成績管理、選課管理,還會考慮學籍管理處的學生基本信息管理,人事處的教職工基本信息管理、薪酬管理等。因此,該學校的信息管理系統(tǒng)中的數(shù)據(jù)就要面向?qū)W校所有部門的應用,而不僅是教務處的學生選課應用。
② 數(shù)據(jù)的共享性高、冗余度小,易于擴充。
數(shù)據(jù)庫中的數(shù)據(jù)是高度共享的,數(shù)據(jù)不再只是面向某個單獨的應用,是面向整個系統(tǒng)。也就是說,同一個用戶可以因不同的應用目的訪問同一數(shù)據(jù);不同用戶可以同時訪問同一數(shù)據(jù),即“并發(fā)訪問”。
③ 數(shù)據(jù)獨立性高。
用戶只需關注數(shù)據(jù)庫名、數(shù)據(jù)文件名和文件中的屬性名等邏輯概念,不用過多考慮數(shù)據(jù)的實際物理存儲,也就是不需要關心實際數(shù)據(jù)究竟存儲在磁盤的什么位置。更準確地說,數(shù)據(jù)庫系統(tǒng)同時具有物理獨立性與邏輯獨立性。
物理獨立性是指改變數(shù)據(jù)庫物理結(jié)構(gòu)時不必修改現(xiàn)有的應用程序。數(shù)據(jù)在磁盤上的存儲方式由DBMS管理,應用程序無須了解,即當數(shù)據(jù)的物理存儲方式改變時,應用程序不用改變。
邏輯獨立性是指邏輯數(shù)據(jù)獨立性,是指改變數(shù)據(jù)庫邏輯結(jié)構(gòu)時不用改變應用程序。用戶的應用程序與數(shù)據(jù)庫的邏輯結(jié)構(gòu)是相互獨立的,即當數(shù)據(jù)的邏輯結(jié)構(gòu)改變時,應用程序可以不變。
DBMS提供的二級映像功能保證了數(shù)據(jù)獨立性,相關內(nèi)容將在后面的項目中進行討論。
④ 數(shù)據(jù)安全性和正確性高。
數(shù)據(jù)庫的共享會為數(shù)據(jù)庫帶來安全隱患,并且數(shù)據(jù)庫的共享具有并發(fā)的特征,即多個用戶能夠同時對數(shù)據(jù)庫中的數(shù)據(jù)進行存取,甚至可以同時存取數(shù)據(jù)庫中的同一個數(shù)據(jù),這可能會存在用戶操作相互干擾的隱患。因此,需要一組軟件提供相應的工具對數(shù)據(jù)進行管理和控制,使用 DBMS 可以達到保證數(shù)據(jù)的安全性和正確性的基本要求。
● 保證數(shù)據(jù)的安全性。
保證數(shù)據(jù)的安全性是指對數(shù)據(jù)進行保護,以防止不正當使用造成的數(shù)據(jù)泄露及破壞。用戶只能用合法的方式對數(shù)據(jù)進行使用和處理。
● 數(shù)據(jù)的完整性檢查。
數(shù)據(jù)的完整性是指數(shù)據(jù)的正確性、有效性和相容性。完整性檢查將數(shù)據(jù)控制在有效的范圍內(nèi),并保證數(shù)據(jù)間所具有的關系完整。
● 并發(fā)控制。
當多個用戶并發(fā)操作,同時存取或修改數(shù)據(jù)時,其相互間可能會產(chǎn)生干擾,從而得到錯誤的結(jié)果,或破壞數(shù)據(jù)庫的完整性,因此多用戶的并發(fā)進程必須受到DBMS的控制和協(xié)調(diào)。
● 數(shù)據(jù)庫恢復。
在日常的數(shù)據(jù)庫管理中可能會遇到機器損壞或者人為失誤的問題。例如,計算機系統(tǒng)的軟硬件故障、數(shù)據(jù)庫管理員的失誤甚至故意破壞,這些都會破壞數(shù)據(jù)庫中數(shù)據(jù)的正確性,甚至造成數(shù)據(jù)庫中部分甚至全部數(shù)據(jù)丟失。因此,DBMS需具備使數(shù)據(jù)庫從錯誤狀態(tài)恢復到某一已知的正確狀態(tài)(也可稱為一致狀態(tài))的功能,即數(shù)據(jù)庫恢復功能。
數(shù)據(jù)庫系統(tǒng)階段應用程序與數(shù)據(jù)庫之間的對應關系如圖1-4所示。

圖1-4 數(shù)據(jù)庫系統(tǒng)階段應用程序與數(shù)據(jù)庫之間的對應關系