當(dāng)下,數(shù)據(jù)庫開發(fā)已經(jīng)是一門炙手可熱的技術(shù)方向,從事數(shù)據(jù)庫開發(fā)的人也越來越多,但是你知道數(shù)據(jù)庫技術(shù)的發(fā)展由來嗎?來來來,今天小編就帶大家重走一遍數(shù)據(jù)庫技術(shù)發(fā)展史,相信你在讀完后會對數(shù)據(jù)庫有更深的了解,以后和小伙伴們聊起數(shù)據(jù)庫也更加有底氣!
數(shù)據(jù)庫技術(shù)是因數(shù)據(jù)管理任務(wù)的需要而產(chǎn)生,數(shù)據(jù)管理是指對數(shù)據(jù)進(jìn)行分類、組織、編碼、存儲、檢索和維護(hù),是數(shù)據(jù)處理的中心問題。在數(shù)據(jù)管理的發(fā)展歷史中經(jīng)歷了三個階段。
第一:人工管理階段
在20世紀(jì)50年代中期以前,這個階段如果要使用和進(jìn)行數(shù)據(jù)計算,需要程序開發(fā)人員自己設(shè)計程序,沒有相應(yīng)的軟件系統(tǒng)負(fù)責(zé)數(shù)據(jù)管理工作。應(yīng)用程序中不僅要規(guī)定數(shù)據(jù)邏輯結(jié)構(gòu),還要設(shè)計物理結(jié)構(gòu),包括存儲結(jié)構(gòu)、存取方法、輸入方式等。程序員負(fù)擔(dān)非常重,非程序員無法使用計算機(jī)系統(tǒng)。
第二:文件系統(tǒng)階段
這個時期大約從20世紀(jì)50年代后期到60年代中期,這個階段里數(shù)據(jù)組織成獨立的數(shù)據(jù)文件,按文件名訪問,按記錄進(jìn)行存取的方式進(jìn)行數(shù)據(jù)管理,由文件系統(tǒng)提供文件打開、關(guān)閉、讀寫和存取。
第三:20世紀(jì)60年代后期
進(jìn)入到了數(shù)據(jù)庫系統(tǒng)階段,出現(xiàn)了數(shù)據(jù)庫系統(tǒng)、專有的軟件系統(tǒng)來進(jìn)行大規(guī)模的數(shù)據(jù)管理。這個階段也隨著歷史不斷發(fā)展,涌現(xiàn)出了層次型數(shù)據(jù)庫、網(wǎng)狀型數(shù)據(jù)庫以及最經(jīng)典的關(guān)系型數(shù)據(jù)庫。
在這三個階段里面,人工管理階段是最原始的階段,數(shù)據(jù)不具有共享性,因為數(shù)據(jù)面向應(yīng)用程序的一組數(shù)據(jù)對應(yīng)一個程序,多個應(yīng)用程序處理相同數(shù)據(jù)時必須各自定義,無法互相利用,所以程序之間有大量的冗余數(shù)據(jù)。
另外數(shù)據(jù)不具獨立性,也就是說數(shù)據(jù)邏輯結(jié)構(gòu)和物理結(jié)構(gòu)發(fā)生變化后,必須對應(yīng)用程序做出相對應(yīng)的修改。數(shù)據(jù)完全依賴于應(yīng)用程序,我們稱之為數(shù)據(jù)缺乏獨立性,文件系統(tǒng)階段相對而言具有一定共享性,但這種共享性還是比較差,冗余度也大,文件仍然是面向應(yīng)用的,不同的應(yīng)用程序,即使使用相同數(shù)據(jù)也必須各自建立文件。所以相同數(shù)據(jù)重復(fù)存儲數(shù)據(jù)榮譽(yù)度大,各自管理容易產(chǎn)生數(shù)據(jù)不一致。
獨立性差是指文件為特定應(yīng)用服務(wù)文件的邏輯結(jié)構(gòu),是指針對應(yīng)用的來設(shè)計的。數(shù)據(jù)邏輯結(jié)構(gòu)改變時候,應(yīng)用程序中文件結(jié)構(gòu)的定義就必須修改。數(shù)據(jù)依賴于應(yīng)用程序,缺乏獨立性。另外文件之間因為是孤立的,所以不能反映出現(xiàn)實世界事物之間的內(nèi)在聯(lián)系。而從文件系統(tǒng)到數(shù)據(jù)庫系統(tǒng),則標(biāo)志著數(shù)據(jù)管理技術(shù)的飛躍。
我們來看一下數(shù)據(jù)庫系統(tǒng)的優(yōu)勢。
整體數(shù)據(jù)結(jié)構(gòu)化,數(shù)據(jù)結(jié)構(gòu)是面向整個組織的,而不是針對某一個應(yīng)用的。記錄的結(jié)構(gòu)和記錄之間的聯(lián)系,由數(shù)據(jù)庫管理、系統(tǒng)維護(hù),從而減輕了程序員的工作量。數(shù)據(jù)共享度高,數(shù)據(jù)共享可以被多個應(yīng)用共享,可以減少數(shù)據(jù)冗余節(jié)約存儲空間,數(shù)據(jù)共享能夠避免數(shù)據(jù)之間不相容和不一致性。
另外擴(kuò)充是因為要考慮整體系統(tǒng)的需求,形成有結(jié)構(gòu)的數(shù)據(jù),所以數(shù)據(jù)庫系統(tǒng)彈性高,易于擴(kuò)充,可以適應(yīng)多種要求。數(shù)據(jù)獨立性高,物理獨立性,數(shù)據(jù)的物理存儲特性有數(shù)據(jù)庫管理、系統(tǒng)管理,用戶程序不需要了解,應(yīng)用程序只需要處理邏輯結(jié)構(gòu),數(shù)據(jù)的物理存儲改變時,應(yīng)用程序不用做出變化,邏輯獨立性,數(shù)據(jù)庫的數(shù)據(jù)邏輯結(jié)構(gòu)改變時,用戶程序可以不變。數(shù)據(jù)獨立性,簡化了應(yīng)用程序的開發(fā),大大降低了應(yīng)用程序的復(fù)雜度。第四方面統(tǒng)一管理和控制。
數(shù)據(jù)的安全性保護(hù)是指保護(hù)數(shù)據(jù),以防止不合法使用而造成的數(shù)據(jù)泄密和破壞。數(shù)據(jù)的完整性檢查指的是數(shù)據(jù)的正確性、有效性和相同性。完整的完整性檢查,將數(shù)據(jù)控制在有效的范圍內(nèi),并保證數(shù)據(jù)之間滿足一定的關(guān)系。并發(fā)控制是指多個用戶并發(fā)訪問數(shù)據(jù)庫,為避免相互干擾而得到的結(jié)果,需要對多用戶的并發(fā)操作加以控制和協(xié)調(diào)。
數(shù)據(jù)庫恢復(fù)是指在發(fā)生硬件故障、軟件故障、操作失誤等情況時,管理系統(tǒng)應(yīng)具備將數(shù)據(jù)庫從錯誤狀態(tài)恢復(fù)到某一已知的正確狀態(tài)的功能。
數(shù)據(jù)庫系統(tǒng)的發(fā)展有以下三個特點:
數(shù)據(jù)庫的發(fā)展集中在數(shù)據(jù)模型的發(fā)展上,數(shù)據(jù)模型是數(shù)據(jù)庫系統(tǒng)的核心和基礎(chǔ),所以數(shù)據(jù)庫系統(tǒng)的發(fā)展和數(shù)據(jù)模型的發(fā)展密不可分。數(shù)據(jù)庫模型的劃分維度是數(shù)據(jù)庫系統(tǒng)劃分的一個重要標(biāo)準(zhǔn)。
與其他計算機(jī)技術(shù)的交叉結(jié)合,計算機(jī)新技術(shù)層出不窮,數(shù)據(jù)庫和其他計算機(jī)技術(shù)交叉結(jié)合,是數(shù)據(jù)庫技術(shù)的一個顯著特征。比如和分布式處理技術(shù)結(jié)合產(chǎn)生的分布式數(shù)據(jù)庫和云技術(shù)結(jié)合產(chǎn)生的云數(shù)據(jù)庫等。
面向應(yīng)用領(lǐng)域發(fā)展數(shù)據(jù)庫、新技術(shù)、通用數(shù)據(jù)庫在特定領(lǐng)域無法滿足應(yīng)用需求,需要根據(jù)領(lǐng)域的特定需求來研制特定的數(shù)據(jù)庫系統(tǒng)。
責(zé)任編輯:lq
-
數(shù)據(jù)管理
+關(guān)注
關(guān)注
1文章
308瀏覽量
19904 -
數(shù)據(jù)庫
+關(guān)注
關(guān)注
7文章
3884瀏覽量
65593 -
數(shù)據(jù)模型
+關(guān)注
關(guān)注
0文章
52瀏覽量
10126
原文標(biāo)題:敲黑板!不知道這些事兒,怎么和人家聊數(shù)據(jù)庫開發(fā)?
文章出處:【微信號:Huawei_Developer,微信公眾號:華為開發(fā)者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
數(shù)據(jù)庫數(shù)據(jù)恢復(fù)——MongoDB數(shù)據(jù)庫文件拷貝后服務(wù)無法啟動的數(shù)據(jù)恢復(fù)

數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—SQL Server附加數(shù)據(jù)庫提示“錯誤 823”的數(shù)據(jù)恢復(fù)案例

MySQL數(shù)據(jù)庫的安裝

云數(shù)據(jù)庫是哪種數(shù)據(jù)庫類型?
數(shù)據(jù)庫加密辦法
數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—Mysql數(shù)據(jù)庫表記錄丟失的數(shù)據(jù)恢復(fù)流程

AI時代的數(shù)據(jù)庫技術(shù)發(fā)展論壇亮點前瞻
數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—MYSQL數(shù)據(jù)庫ibdata1文件損壞的數(shù)據(jù)恢復(fù)案例
數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—通過拼接數(shù)據(jù)庫碎片恢復(fù)SQLserver數(shù)據(jù)庫

架構(gòu)師日記-從數(shù)據(jù)庫發(fā)展歷程到數(shù)據(jù)結(jié)構(gòu)設(shè)計探析

數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—SQL Server數(shù)據(jù)庫出現(xiàn)823錯誤的數(shù)據(jù)恢復(fù)案例

DTCC2024前瞻:天翼云數(shù)據(jù)庫專家共話TeleDB發(fā)展藍(lán)圖

簡述半導(dǎo)體材料的發(fā)展史
三菱電機(jī)功率器件發(fā)展史

數(shù)據(jù)庫數(shù)據(jù)恢復(fù)—raid5陣列上層Sql Server數(shù)據(jù)庫數(shù)據(jù)恢復(fù)案例

評論