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

1.1 認識數(shù)據(jù)庫

數(shù)據(jù)庫能夠?qū)?shù)據(jù)按照特定的規(guī)律組織起來。那么,我們?yōu)槭裁匆獙W習數(shù)據(jù)庫?數(shù)據(jù)是如何存儲的?數(shù)據(jù)庫要遵守什么規(guī)則?數(shù)據(jù)庫技術(shù)都經(jīng)歷過什么階段?數(shù)據(jù)庫管理系統(tǒng)會提供哪些功能?當前流行的數(shù)據(jù)庫有哪些?

1.1.1 我們?yōu)槭裁匆獙W習數(shù)據(jù)庫

我們?yōu)槭裁匆獙W習數(shù)據(jù)庫,可以從以下幾個方面來闡述原因。

1.數(shù)據(jù)時代背景

我們身處一個數(shù)據(jù)時代,舉一些簡單的例子來說明這樣一個時代大背景。

學校需要把學生的基本信息(學號、姓名、性別、年齡、年級、班級、成績等)存放在不同的表中,而這些表都需要存放在數(shù)據(jù)倉庫中,老師可以根據(jù)學生的姓名或者學號查閱學生的基本信息,如果使用計算機處理這些工作,管理效率就可以得到極大的提升。

我們?nèi)ド虉龌蛘叱匈徫锝Y(jié)賬時,收銀員的計算機里有進銷存軟件,該軟件的本質(zhì)是記錄和處理消費數(shù)據(jù),顧客每次購買的商品種類、數(shù)量、金額、時間以及每次購買所獲得的積分都通過該軟件存儲在后臺數(shù)據(jù)庫中。

我們的智能手機上的應(yīng)用無時無刻不在記錄和處理關(guān)于我們?nèi)粘I畹臄?shù)據(jù)。購物網(wǎng)站會根據(jù)我們的每次一次網(wǎng)購分析我們的購物喜好,從而向我們推薦合適的商品;健身軟件每天會記錄我們的運動數(shù)據(jù);育兒軟件會記錄嬰兒成長相關(guān)的數(shù)據(jù);聊天軟件會記錄我們的每一條聊天內(nèi)容;社交軟件會根據(jù)我們分享的內(nèi)容而推送相應(yīng)的廣告;電子錢包會記錄我們的每一筆收入和消費;家用攝像機會記錄用戶的基本信息并上傳到云端服務(wù)器,記錄在數(shù)據(jù)庫中。這就是我們所處的互聯(lián)網(wǎng)大數(shù)據(jù)時代,數(shù)據(jù)無處不在,我們必須要學習數(shù)據(jù)庫知識,才能更好地理解這個數(shù)據(jù)世界。

2.軟件行業(yè)的工作性質(zhì)

對于軟件行業(yè)的同學來說:

     程序 = 算法 + 數(shù)據(jù)結(jié)構(gòu)

無論是傳統(tǒng)的軟件,還是互聯(lián)網(wǎng)網(wǎng)站,或者移動端的應(yīng)用,都要處理數(shù)據(jù)。數(shù)據(jù)庫可以說是學習軟件開發(fā)的核心課程之一,幾乎絕大部分軟件都涉及數(shù)據(jù)庫,很多數(shù)據(jù)必須保存在數(shù)據(jù)庫中,也許最初少量的信息可以保存在文件中,但是隨著數(shù)據(jù)量的增大,文件已經(jīng)不能很理想地處理這些數(shù)據(jù),所以必須掌握使用數(shù)據(jù)庫處理數(shù)據(jù),因為數(shù)據(jù)庫速度更快,更好維護,開發(fā)效率更高。

3.數(shù)據(jù)庫設(shè)計的優(yōu)劣

在數(shù)據(jù)庫設(shè)計階段,對于同一領(lǐng)域建模,不同的建模人員得到的結(jié)果不一樣,進而轉(zhuǎn)換后的關(guān)系模式也不一樣。這樣就存在關(guān)系模式的優(yōu)劣之分。學習數(shù)據(jù)庫就是要學習前人總結(jié)的一些規(guī)則,以及常用的表示方法,進而設(shè)計出更合理、高效的模式。

1.1.2 數(shù)據(jù)庫技術(shù)經(jīng)歷的階段

本小節(jié)將為讀者介紹數(shù)據(jù)庫技術(shù)經(jīng)歷的3個階段,即層次數(shù)據(jù)庫和網(wǎng)狀數(shù)據(jù)庫技術(shù)階段、關(guān)系數(shù)據(jù)庫技術(shù)階段和后關(guān)系數(shù)據(jù)庫技術(shù)階段。

1.層次數(shù)據(jù)庫和網(wǎng)狀數(shù)據(jù)庫技術(shù)階段

層次數(shù)據(jù)庫系統(tǒng)是較早研制成功的數(shù)據(jù)庫系統(tǒng),典型的是1968年由IBM研制的信息管理系統(tǒng)(Information Management System,IMS)。1966年,美國國家航空航天局(NASA)承包商北美航空希望能夠開發(fā)一個計算機程序,用于追蹤火箭的數(shù)百萬個部件,作為對這個需求的回應(yīng),IBM在1968年推出了全球第一個商用數(shù)據(jù)庫管理系統(tǒng),該系統(tǒng)在1969年改名為信息管理系統(tǒng)。

網(wǎng)狀數(shù)據(jù)庫是處理以記錄類型為節(jié)點的網(wǎng)絡(luò)數(shù)據(jù)模型的數(shù)據(jù)庫。世界上第一個網(wǎng)狀數(shù)據(jù)庫系統(tǒng)是美國通用電氣Bachman等人在1964年開發(fā)成功的IDS(Integrated DataStore),IDS奠定了網(wǎng)狀數(shù)據(jù)庫的基礎(chǔ)。

2.關(guān)系數(shù)據(jù)庫技術(shù)階段

1970年,IBM的研究員,有“關(guān)系數(shù)據(jù)庫之父”之稱的埃德加·弗蘭克·科德博士首次提出了數(shù)據(jù)庫的關(guān)系模型的概念,奠定了關(guān)系模型的理論基礎(chǔ)。20世紀70年代,IBM公司的San Jose實驗室研制的關(guān)系數(shù)據(jù)庫問世。20世紀80年代以來,計算機廠商推出的數(shù)據(jù)庫管理系統(tǒng)幾乎都支持關(guān)系模型,數(shù)據(jù)庫領(lǐng)域當前的研究工作大都以關(guān)系模型為基礎(chǔ)。關(guān)系數(shù)據(jù)庫技術(shù)的代表數(shù)據(jù)庫管理系統(tǒng)為Oracle、DB2、SQL Server、MySQL、Sybase等。

3.后關(guān)系數(shù)據(jù)庫技術(shù)階段

后關(guān)系數(shù)據(jù)庫實質(zhì)上是在關(guān)系數(shù)據(jù)庫的基礎(chǔ)上融合了面向?qū)ο蠹夹g(shù)和Internet網(wǎng)絡(luò)應(yīng)用開發(fā)背景而發(fā)展起來的。它結(jié)合了傳統(tǒng)數(shù)據(jù)庫(如層次、網(wǎng)狀和關(guān)系數(shù)據(jù)庫)的一些特點,以及Java等編程工具環(huán)境,適用于以Internet Web為基礎(chǔ)的應(yīng)用,開創(chuàng)了關(guān)系數(shù)據(jù)庫的新時代。從后關(guān)系型數(shù)據(jù)庫模型的提出到現(xiàn)在已經(jīng)經(jīng)歷了20多年,隨著后關(guān)系型數(shù)據(jù)庫技術(shù)的發(fā)展,后關(guān)系型數(shù)據(jù)庫產(chǎn)品已經(jīng)不再停留在模型的基礎(chǔ)階段,例如美國InterSystems公司發(fā)布的Caché就是一個用于高性能事務(wù)應(yīng)用的后關(guān)系型數(shù)據(jù)庫管理系統(tǒng),該系統(tǒng)具有面向?qū)ο蟮脑S多功能和一個事務(wù)型多維數(shù)據(jù)模型。

1.1.3 數(shù)據(jù)庫管理系統(tǒng)提供的功能

數(shù)據(jù)庫管理系統(tǒng)(Database Management System,DBMS)是數(shù)據(jù)庫系統(tǒng)的核心,是管理數(shù)據(jù)庫的軟件。數(shù)據(jù)庫管理系統(tǒng)就是實現(xiàn)把用戶意義下抽象的邏輯數(shù)據(jù)處理轉(zhuǎn)換成為計算機中具體的物理數(shù)據(jù)處理的軟件。數(shù)據(jù)庫管理系統(tǒng)的主要功能如下:

1.數(shù)據(jù)定義

數(shù)據(jù)庫管理系統(tǒng)提供數(shù)據(jù)定義語言(Data Definition Language,DDL)供用戶定義數(shù)據(jù)庫的三級模式結(jié)構(gòu)、兩級映像以及完整性約束和保密限制等約束。簡單地說,數(shù)據(jù)定義語言用來創(chuàng)建數(shù)據(jù)庫中的各種對象—表、視圖、索引、同義詞、聚簇等,比如:

     CREATE TABLE/VIEW/INDEX/SYN/CLUSTER
2.數(shù)據(jù)操作

數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)操作語言(Data Manipulation Language,DML)供用戶實現(xiàn)對數(shù)據(jù)的追加(INSERT)、刪除(DELETE)、更新(UPDATE)等操作。

3.數(shù)據(jù)控制

數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)控制語言(Data Control Language,DCL)包含數(shù)據(jù)完整性控制、數(shù)據(jù)安全性控制和數(shù)據(jù)庫的恢復(fù)等,具體如授權(quán)(GRANT)、回滾(ROLLBACK)、提交(COMMIT)等。

主站蜘蛛池模板: 外汇| 延寿县| 广州市| 株洲县| 丰城市| 无极县| 井冈山市| 南华县| 长宁区| 临武县| 澄江县| 安阳市| 永仁县| 靖边县| 宝应县| 平谷区| 平南县| 安图县| 邵阳县| 武强县| 繁昌县| 华坪县| 和顺县| 阿合奇县| 平乐县| 阳曲县| 罗城| 台安县| 泰安市| 公安县| 西藏| 邮箱| 白玉县| 泾源县| 环江| 邯郸县| 广安市| 阿克陶县| 临武县| 外汇| 河南省|