華為云計算 云知識 零門檻入門數(shù)據(jù)庫學習之數(shù)據(jù)庫技術發(fā)展史
零門檻入門數(shù)據(jù)庫學習之數(shù)據(jù)庫技術發(fā)展史

數(shù)據(jù)庫技術是因數(shù)據(jù)管理任務的需要,而產(chǎn)生數(shù)據(jù)管理是指對數(shù)據(jù)進行分類、組織、編碼、存儲、檢索和維護,是數(shù)據(jù)處理的中心問題。在數(shù)據(jù)管理的發(fā)展歷史中經(jīng)歷了三個階段。

數(shù)據(jù)管理的發(fā)展歷史中經(jīng)歷了三個階段

第一,  人工管理階段,在20世紀50年代中期以前,這個階段如果要使用和進行數(shù)據(jù)計算,需要程序開發(fā)人員自己設計程序,沒有相應的軟件系統(tǒng)負責數(shù)據(jù)管理工作。應用程序中不僅要規(guī)定數(shù)據(jù)邏輯結(jié)構(gòu),還要設計物理結(jié)構(gòu),包括存儲結(jié)構(gòu)、存取方法、輸入方式等。程序員負擔非常重,非程序員無法使用計算機系統(tǒng)。

第二,  文件系統(tǒng)階段,這個時期大約從20世紀50年代后期到60年代中期,這個階段里數(shù)據(jù)組織成獨立的數(shù)據(jù)文件,按文件名訪問,按記錄進行存取的方式進行數(shù)據(jù)管理,由文件系統(tǒng)提供文件打開、關閉、讀寫和存取。

第三,  20世紀60年代后期,進入到了數(shù)據(jù)庫系統(tǒng)階段,出現(xiàn)了數(shù)據(jù)庫系統(tǒng)、專有的軟件系統(tǒng)來進行大規(guī)模的數(shù)據(jù)管理。這個階段也隨著歷史不斷發(fā)展,涌現(xiàn)出了層次型數(shù)據(jù)庫、網(wǎng)狀型數(shù)據(jù)庫以及最經(jīng)典的關系型數(shù)據(jù)庫。

在這三個階段里面,人工管理階段是最原始的階段,數(shù)據(jù)不具有共享性,因為數(shù)據(jù)面向應用程序的一組數(shù)據(jù)對應一個程序,多個應用程序處理相同數(shù)據(jù)時必須各自定義,無法互相利用,所以程序之間有大量的冗余數(shù)據(jù)。另外數(shù)據(jù)不具獨立性,也就是說數(shù)據(jù)邏輯結(jié)構(gòu)和物理結(jié)構(gòu)發(fā)生變化后,必須對應用程序做出相對應的修改。數(shù)據(jù)完全依賴于應用程序,我們稱之為數(shù)據(jù)缺乏獨立性,文件系統(tǒng)階段相對而言具有一定共享性,但這種共享性還是比較差,冗余度也大,文件仍然是面向應用的,不同的應用程序,即使使用相同數(shù)據(jù)也必須各自建立文件。所以相同數(shù)據(jù)重復存儲數(shù)據(jù)榮譽度大,各自管理容易產(chǎn)生數(shù)據(jù)不一致。獨立性差是指文件為特定應用服務文件的邏輯結(jié)構(gòu),是指針對應用的來設計的。數(shù)據(jù)邏輯結(jié)構(gòu)改變時候,應用程序中文件結(jié)構(gòu)的定義就必須修改。數(shù)據(jù)依賴于應用程序,缺乏獨立性。另外文件之間因為是孤立的,所以不能反映出現(xiàn)實世界事物之間的內(nèi)在聯(lián)系。而從文件系統(tǒng)到數(shù)據(jù)庫系統(tǒng),則標志著數(shù)據(jù)管理技術的飛躍。

我們來看一下數(shù)據(jù)庫系統(tǒng)的優(yōu)勢。

數(shù)據(jù)庫系統(tǒng)的優(yōu)勢

整體數(shù)據(jù)結(jié)構(gòu)化,數(shù)據(jù)結(jié)構(gòu)是面向整個組織的,而不是針對某一個應用的。記錄的結(jié)構(gòu)和記錄之間的聯(lián)系,由數(shù)據(jù)庫管理、系統(tǒng)維護,從而減輕了程序員的工作量。數(shù)據(jù)共享度高,數(shù)據(jù)共享可以被多個應用共享,可以減少數(shù)據(jù)融于節(jié)約存儲空間,數(shù)據(jù)共享能夠避免數(shù)據(jù)之間不相容和不一致性。另外擴充是因為要考慮整體系統(tǒng)的需求,形成有結(jié)構(gòu)的數(shù)據(jù),所以數(shù)據(jù)庫系統(tǒng)彈性高,易于擴充,可以適應多種要求。數(shù)據(jù)獨立性高,物理獨立性,數(shù)據(jù)的物理存儲特性有數(shù)據(jù)庫管理、系統(tǒng)管理,用戶程序不需要了解,應用程序只需要處理邏輯結(jié)構(gòu),數(shù)據(jù)的物理存儲改變時,應用程序不用做出變化,邏輯獨立性,數(shù)據(jù)庫的數(shù)據(jù)邏輯結(jié)構(gòu)改變時,用戶程序可以不變。數(shù)據(jù)獨立性,簡化了應用程序的開發(fā),大大降低了應用程序的復雜度。第四方面統(tǒng)一管理和控制。數(shù)據(jù)的安全性保護是指保護數(shù)據(jù),以防止不合法使用而造成的數(shù)據(jù)泄密和破壞。數(shù)據(jù)的完整性檢查指的是數(shù)據(jù)的正確性、有效性和相同性。完整的完整性檢查,將數(shù)據(jù)控制在有效的范圍內(nèi),并保證數(shù)據(jù)之間滿足一定的關系。并發(fā)控制是指多個用戶并發(fā)訪問數(shù)據(jù)庫,為避免相互干擾而得到的結(jié)果,需要對多用戶的并發(fā)操作加以控制和協(xié)調(diào)。數(shù)據(jù)庫恢復是指在發(fā)生硬件故障、軟件故障、操作失誤等情況時,管理系統(tǒng)應具備將數(shù)據(jù)庫從錯誤狀態(tài)恢復到某一已知的正確狀態(tài)的功能。

數(shù)據(jù)庫系統(tǒng)的發(fā)展有以下三個特點:

1、數(shù)據(jù)庫的發(fā)展集中在數(shù)據(jù)模型的發(fā)展上,數(shù)據(jù)模型是數(shù)據(jù)庫系統(tǒng)的核心和基礎,所以數(shù)據(jù)庫系統(tǒng)的發(fā)展和數(shù)據(jù)模型的發(fā)展密不可分。數(shù)據(jù)庫模型的劃分維度是數(shù)據(jù)庫系統(tǒng)劃分的一個重要標準。

2、與其他計算機技術的交叉結(jié)合,計算機新技術層出不窮,數(shù)據(jù)庫和其他計算機技術交叉結(jié)合,是數(shù)據(jù)庫技術的一個顯著特征。比如和分布式處理技術結(jié)合產(chǎn)生的 分布式數(shù)據(jù)庫 和云技術結(jié)合產(chǎn)生的 云數(shù)據(jù)庫 等。

3、面向應用領域發(fā)展數(shù)據(jù)庫、新技術、通用數(shù)據(jù)庫在特定領域無法滿足應用需求,需要根據(jù)領域的特定需求來研制特定的數(shù)據(jù)庫系統(tǒng)。

想要進一步了解,點擊數(shù)據(jù)庫技術發(fā)展史,上華為云學院進階學習吧!

鏈接:https://education.huaweicloud.com/courses/course-v1:HuaweiX+CBUCNXD011+Self-paced/about