版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
高等職業(yè)教育校企合作系列教材·大數(shù)據(jù)技術(shù)與應(yīng)用專業(yè)
數(shù)據(jù)庫(kù)技術(shù)案例教程
——從MySQL到MongoDB
方一新?朱?東?王?喜?主編
數(shù)據(jù)庫(kù)技術(shù)案例教程——從MySQL到MongoDB.indd12020-8-198:44:11
內(nèi)容簡(jiǎn)介
當(dāng)前以云計(jì)算、大數(shù)據(jù)、物聯(lián)網(wǎng)為代表的新一代信息技術(shù)正在向制造業(yè)加速滲透融合。
高等教育信息技術(shù)專業(yè)人才培養(yǎng)只有面向產(chǎn)業(yè),才能為產(chǎn)業(yè)發(fā)展提供強(qiáng)有力的人才支撐。
本書選擇新能源汽車監(jiān)測(cè)應(yīng)用作為載體,通過一系列典型案例將數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ)和核心知
識(shí)蘊(yùn)含其中。本書首先介紹數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ)以及應(yīng)用場(chǎng)景,然后結(jié)合項(xiàng)目案例的實(shí)際需要,
從關(guān)系型數(shù)據(jù)庫(kù)MySQL自然過渡到非關(guān)系型數(shù)據(jù)庫(kù)MongoDB。
本書共14個(gè)單元。
第一部分為數(shù)據(jù)庫(kù)基礎(chǔ)(第1單元),主要講解數(shù)據(jù)庫(kù)的起源與發(fā)展,以及數(shù)據(jù)庫(kù)基
礎(chǔ)知識(shí)。
第二部分為關(guān)系型數(shù)據(jù)庫(kù)(第2~9單元),主要介紹MySQL數(shù)據(jù)庫(kù)的基本操作、數(shù)
據(jù)表的基本操作、數(shù)據(jù)查詢與更新、視圖、索引與優(yōu)化、數(shù)據(jù)庫(kù)編程,以及備份與恢復(fù)。
第三部分為非關(guān)系型數(shù)據(jù)庫(kù)(第10~14單元),著重介紹MongoDB的使用,包含集
合與文檔、查詢文檔、聚合查詢,以及索引與優(yōu)化。
本書涵蓋數(shù)據(jù)庫(kù)技術(shù)基礎(chǔ)、關(guān)系型數(shù)據(jù)庫(kù)MySQL的使用、非關(guān)系型數(shù)據(jù)庫(kù)MongoDB
的使用,適合作為高職院校計(jì)算機(jī)專業(yè)的數(shù)據(jù)庫(kù)課程教材,也可作為數(shù)據(jù)庫(kù)技術(shù)愛好者的
參考用書。
圖書在版編目(CIP)數(shù)據(jù)
數(shù)據(jù)庫(kù)技術(shù)案例教程:從MySQL到MongoDB/方一新,朱東,王喜
主編.—北京:中國(guó)鐵道出版社有限公司,2020.8
高等職業(yè)教育校企合作系列教材.大數(shù)據(jù)技術(shù)與應(yīng)用專業(yè)
ISBN978-7-113-27138-1
Ⅰ.①數(shù)…Ⅱ.①方…②朱…③王…Ⅲ.①關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)-
高等職業(yè)教育-教材Ⅳ.①TP311.132.3
中國(guó)版本圖書館CIP數(shù)據(jù)核字(2020)第142470號(hào)
書名:數(shù)據(jù)庫(kù)技術(shù)案例教程——從MySQL到MongoDB
作者:方一新朱東王喜
策劃:翟玉峰編輯部電話:(010)83517321
責(zé)任編輯:翟玉峰?徐盼欣
封面設(shè)計(jì):鄭春鵬
責(zé)任校對(duì):張玉華
責(zé)任印制:樊啟鵬
出版發(fā)行:中國(guó)鐵道出版社有限公司(100054,北京市西城區(qū)右安門西街8號(hào))
網(wǎng)址:/51eds/
印刷:三河市航遠(yuǎn)印刷有限公司
版次:2020年8月第1版?2020年8月第1次印刷
開本:787mm×1092mm1/16?印張:15.25?字?jǐn)?shù):345千
書號(hào):ISBN978-7-113-27138-1
定價(jià):45.00元
版權(quán)所有侵權(quán)必究
凡購(gòu)買鐵道版圖書,如有印制質(zhì)量問題,請(qǐng)與本社教材圖書營(yíng)銷部聯(lián)系調(diào)換。電話:(010)63550836
打擊盜版舉報(bào)電話:(010)51873659
數(shù)據(jù)庫(kù)技術(shù)案例教程——從MySQL到MongoDB.indd22020-8-2018:11:29
前言
數(shù)據(jù)庫(kù)技術(shù)課程是軟件技術(shù)等計(jì)算機(jī)相關(guān)專業(yè)的核心基礎(chǔ)課程,如何將數(shù)據(jù)庫(kù)技術(shù)
的相關(guān)內(nèi)容有機(jī)組合起來,讓學(xué)生在學(xué)習(xí)過程中能夠扎實(shí)掌握基本的數(shù)據(jù)庫(kù)原理,能夠
熟練地操作數(shù)據(jù)庫(kù)管理系統(tǒng),并且能夠激發(fā)學(xué)生的熱情和動(dòng)力,體會(huì)到學(xué)習(xí)的樂趣,是
本書重點(diǎn)關(guān)注的內(nèi)容。
1.結(jié)構(gòu)
本書采用模塊化的編寫思路,共分為14個(gè)單元和45個(gè)任務(wù)。全書學(xué)習(xí)內(nèi)容分成三
部分:數(shù)據(jù)庫(kù)基礎(chǔ)、關(guān)系型數(shù)據(jù)庫(kù)和非關(guān)系型數(shù)據(jù)庫(kù)。
(1)數(shù)據(jù)庫(kù)基礎(chǔ)
單元1:介紹數(shù)據(jù)庫(kù)的基本概念、數(shù)據(jù)庫(kù)技術(shù)的發(fā)展過程、根據(jù)需求繪制E-R圖,
以及將E-R圖轉(zhuǎn)換為關(guān)系模式。
(2)關(guān)系型數(shù)據(jù)庫(kù)
單元2:介紹MySQL開發(fā)環(huán)境的搭建,以及數(shù)據(jù)庫(kù)的創(chuàng)建與管理。
單元3:數(shù)據(jù)表是數(shù)據(jù)庫(kù)的核心內(nèi)容,本單元主要介紹在MySQL數(shù)據(jù)庫(kù)管理系統(tǒng)中
創(chuàng)建數(shù)據(jù)表、為表中字段設(shè)置合適的數(shù)據(jù)類型,以及各種約束條件。
單元4、5:查詢和更新是數(shù)據(jù)庫(kù)最常用的操作,也是數(shù)據(jù)庫(kù)學(xué)習(xí)的核心內(nèi)容,這兩
個(gè)單元介紹如何對(duì)表中數(shù)據(jù)進(jìn)行增刪改操作,對(duì)數(shù)據(jù)表進(jìn)行各種條件查詢、連接查詢、
嵌套查詢等,以及對(duì)表中數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析。
單元6~8:這3個(gè)單元主要介紹如何對(duì)數(shù)據(jù)庫(kù)中各種操作進(jìn)行封裝以及優(yōu)化,提高
數(shù)據(jù)庫(kù)的使用效率。
單元9:數(shù)據(jù)庫(kù)在使用過程中難免會(huì)出現(xiàn)各種不可控因素,本單元介紹備份和恢復(fù),
以在實(shí)際使用數(shù)據(jù)庫(kù)時(shí)保證數(shù)據(jù)的安全。
(3)非關(guān)系型數(shù)據(jù)庫(kù)
單元10:非關(guān)系型數(shù)據(jù)庫(kù)與傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)在設(shè)計(jì)理念、使用方式上有很大區(qū)別,
本單元主要介紹非關(guān)系型數(shù)據(jù)庫(kù)的基本概念,以及MongoDB的安裝和配置。
單元11:文檔與集合是MongoDB的核心內(nèi)容,所有數(shù)據(jù)都是通過文檔與集合存儲(chǔ)的,
本單元介紹文檔與集合的使用。
單元12、13:這兩個(gè)單元介紹集合中數(shù)據(jù)的查詢、聚合統(tǒng)計(jì)等非關(guān)系型數(shù)據(jù)庫(kù)最常
數(shù)據(jù)庫(kù)技術(shù)案例教程——從MySQL到MongoDB.indd32020-8-198:44:11
用的操作,以及非關(guān)系型數(shù)據(jù)庫(kù)的很多優(yōu)點(diǎn)。
單元14:本單元介紹索引和優(yōu)化,這是提高M(jìn)ongoDB性能的重要方式。
2.使用
本書的參考學(xué)時(shí)為92學(xué)時(shí),建議采用理論實(shí)踐一體化教學(xué)模式,教學(xué)單元與學(xué)時(shí)安
排如下:
單元單元名稱學(xué)時(shí)安排
單元1認(rèn)識(shí)數(shù)據(jù)庫(kù)8
單元2數(shù)據(jù)庫(kù)的基本操作8
單元3數(shù)據(jù)表的基本操作8
單元4數(shù)據(jù)查詢14
單元5數(shù)據(jù)更新10
單元6視圖6
單元7MySQL索引與優(yōu)化4
單元8數(shù)據(jù)庫(kù)編程10
單元9MySQL備份與恢復(fù)4
單元10MongoDB入門4
單元11文檔與集合4
單元12查詢文檔4
單元13聚合查詢4
單元14MongoDB索引與優(yōu)化4
課時(shí)總計(jì)92
本書提供了所有案例的源代碼,以方便學(xué)生更好地完成數(shù)據(jù)庫(kù)的學(xué)習(xí),從而更有效
地提高學(xué)生的學(xué)習(xí)積極性和學(xué)習(xí)效果。本書配套的資源包、運(yùn)行腳本、教學(xué)課件等,可
登錄進(jìn)行下載。
本書適合作為高職院校計(jì)算機(jī)專業(yè)的數(shù)據(jù)庫(kù)課程教材,也可作為數(shù)據(jù)庫(kù)技術(shù)愛好者
的參考用書。
本書由方一新、朱東、王喜任主編,由盛永華、劉文軍、雷暉任副主編,并聯(lián)合江
蘇一道云科技發(fā)展有限公司共同編寫而成。
本書在編寫過程中力求內(nèi)容準(zhǔn)確、完善,但限于編者水平及時(shí)間,書中不妥或疏漏
之處在所難免,殷切希望廣大讀者批評(píng)指正。
編者
2020年3月
數(shù)據(jù)庫(kù)技術(shù)案例教程——從MySQL到MongoDB.indd42020-8-198:44:12
目錄
單元1?認(rèn)識(shí)數(shù)據(jù)庫(kù)14.設(shè)計(jì)的規(guī)范化與反規(guī)范化17
任務(wù)1.1數(shù)據(jù)庫(kù)的起源與發(fā)展1單元小結(jié)19
技術(shù)要點(diǎn)1課后習(xí)題19
.?dāng)?shù)據(jù)庫(kù)的發(fā)展史
11單元2?數(shù)據(jù)庫(kù)的基本操作20
.?dāng)?shù)據(jù)庫(kù)應(yīng)用
24任務(wù)2.1?設(shè)置數(shù)據(jù)庫(kù)開發(fā)環(huán)境20
3.常見的數(shù)據(jù)庫(kù)管理系統(tǒng)4
技術(shù)要點(diǎn)20
4.?dāng)?shù)據(jù)庫(kù)管理工具9
1.安裝與配置MySQL20
5.如何學(xué)習(xí)數(shù)據(jù)庫(kù)9
2.配置MySQL管理工具30
任務(wù)1.2?基本概念9
3.MySQL體系結(jié)構(gòu)32
技術(shù)要點(diǎn)
10任務(wù)2.2?創(chuàng)建數(shù)據(jù)庫(kù)33
1.信息..10
技術(shù)要點(diǎn)33
2.?dāng)?shù)據(jù)..10
1.系統(tǒng)數(shù)據(jù)庫(kù)33
.?dāng)?shù)據(jù)處理
3102.存儲(chǔ)引擎36
.?dāng)?shù)據(jù)庫(kù)
4103.創(chuàng)建數(shù)據(jù)庫(kù)37
.?dāng)?shù)據(jù)庫(kù)管理系統(tǒng)
5104.?dāng)?shù)據(jù)庫(kù)對(duì)象38
.?dāng)?shù)據(jù)庫(kù)系統(tǒng)
610任務(wù)2.3?管理數(shù)據(jù)庫(kù)42
.
7SQL12技術(shù)要點(diǎn)42
任務(wù)1.3?數(shù)據(jù)描述12
1.查看數(shù)據(jù)庫(kù)42
技術(shù)要點(diǎn)
122.選擇數(shù)據(jù)庫(kù)43
.現(xiàn)實(shí)世界
1123.刪除數(shù)據(jù)庫(kù)43
.信息世界
2124.HELP命令43
.計(jì)算機(jī)世界
3135.修改數(shù)據(jù)庫(kù)45
任務(wù)1.4?數(shù)據(jù)模型13任務(wù)2.4?MySQL錯(cuò)誤代碼.
技術(shù)要點(diǎn)14...和消息48
1.概念模型14技術(shù)要點(diǎn)48
2.關(guān)系模型141.服務(wù)器端錯(cuò)誤代碼和消息48
3.關(guān)系數(shù)據(jù)模型中的范式162.查看錯(cuò)誤代碼49
I
數(shù)據(jù)庫(kù)技術(shù)案例教程——從MySQL到MongoDB.indd12020-8-1914:14:08
數(shù)據(jù)庫(kù)技術(shù)案例教程——從MySQL到MongoDB
單元小結(jié)492.Select語(yǔ)句規(guī)范68
課后習(xí)題49任務(wù)4.2?單表?xiàng)l件查詢71
技術(shù)要點(diǎn)71
單元3?數(shù)據(jù)表的基本操作50
1.邏輯運(yùn)算符71
任務(wù)3.1?數(shù)據(jù)類型50
2.查詢條件71
技術(shù)要點(diǎn)50
3.通配符72
1.?dāng)?shù)值型數(shù)據(jù)50
4.正則表達(dá)式72
2.日期時(shí)間類型51
任務(wù)4.3?多表連接查詢78
3.字符串類型52
技術(shù)要點(diǎn)79
4.二進(jìn)制類型52
1.內(nèi)連接79
.序列類型
5522.外連接79
任務(wù)3.2?創(chuàng)建數(shù)據(jù)表53任務(wù)4.4?嵌套查詢85
技術(shù)要點(diǎn)
53技術(shù)要點(diǎn)85
.?dāng)?shù)據(jù)表的結(jié)構(gòu)
1531.嵌套查詢類型85
2.表的命名542.嵌套查詢與連接查詢的
3.語(yǔ)法結(jié)構(gòu)54比較85
4.約束條件54任務(wù)4.5?查詢統(tǒng)計(jì)91
任務(wù)3.3?查看數(shù)據(jù)表60技術(shù)要點(diǎn)91
技術(shù)要點(diǎn)601.聚合函數(shù)91
1.查看所有數(shù)據(jù)表602.GROUPBY語(yǔ)句91
2.查看數(shù)據(jù)表基本結(jié)構(gòu)61任務(wù)4.6?組合查詢94
3.查看數(shù)據(jù)表詳細(xì)結(jié)構(gòu)61技術(shù)要點(diǎn)94
任務(wù)3.4?修改、刪除數(shù)據(jù)表621.UNION語(yǔ)法結(jié)構(gòu)94
技術(shù)要點(diǎn)622.UNION規(guī)則94
1.修改數(shù)據(jù)表62任務(wù)4.7?查詢緩存95
2.刪除數(shù)據(jù)表63技術(shù)要點(diǎn)95
3.修改字段排序631.緩存概述95
4.修改數(shù)據(jù)表名稱632.配置緩存97
5.刪除外鍵約束63單元小結(jié)98
單元小結(jié)66課后習(xí)題98
課后習(xí)題66單元5?數(shù)據(jù)更新99
單元4?數(shù)據(jù)查詢67任務(wù)5.1?插入數(shù)據(jù)99
任務(wù)4.1?單表查詢67技術(shù)要點(diǎn)99
.為表中所有字段插入數(shù)據(jù)
技術(shù)要點(diǎn)67199
.為表中指定字段添加數(shù)據(jù)
1.SELECT語(yǔ)句語(yǔ)法672100
II
數(shù)據(jù)庫(kù)技術(shù)案例教程——從MySQL到MongoDB.indd22020-8-1914:14:09
目?錄?
3.插入多行數(shù)據(jù)100單元小結(jié)129
4.通過Navicat插入數(shù)據(jù)100課后習(xí)題129
5.插入查詢結(jié)果101
單元7?MySQL索引與優(yōu)化130
任務(wù)5.2?修改數(shù)據(jù)101
任務(wù)7.1?索引130
技術(shù)要點(diǎn)102
技術(shù)要點(diǎn)130
1.無(wú)條件修改102
1.索引的概念130
2.有條件修改102
2.索引的優(yōu)缺點(diǎn)131
3.通過Navicat圖形化向?qū)?/p>
3.索引分類131
修改數(shù)據(jù)102
4.創(chuàng)建索引132
任務(wù)5.3?刪除數(shù)據(jù)103
5.索引的使用133
技術(shù)要點(diǎn)103
6.查看索引134
1.刪除數(shù)據(jù)103
任務(wù)7.2?優(yōu)化135
2.通過Navicat刪除數(shù)據(jù)104
技術(shù)要點(diǎn)135
任務(wù)5.4?導(dǎo)入與導(dǎo)出105
1.掌握各種SQL語(yǔ)句的
技術(shù)要點(diǎn)105
執(zhí)行頻率135
1.通過Navicat圖形工具105
2.分析SQL語(yǔ)句的
2.執(zhí)行腳本導(dǎo)入數(shù)據(jù)117
執(zhí)行計(jì)劃135
3.通過SELECT和LOAD
3.常用的優(yōu)化方法136
語(yǔ)句117
單元小結(jié)138
單元小結(jié)118
課后習(xí)題138
課后習(xí)題118
單元8?數(shù)據(jù)庫(kù)編程139
單元6?視圖120
任務(wù)8.1?SQL編程基礎(chǔ)139
任務(wù)6.1?創(chuàng)建視圖120
技術(shù)要點(diǎn)139
技術(shù)要點(diǎn)120
1.常量與變量139
1.視圖定義120
2.流程控制142
2.創(chuàng)建視圖121
任務(wù)8.2?系統(tǒng)函數(shù)145
任務(wù)6.2?應(yīng)用視圖124
技術(shù)要點(diǎn)145
技術(shù)要點(diǎn)124
1.?dāng)?shù)學(xué)函數(shù)145
1.通過視圖查詢數(shù)據(jù)124
2.日期和時(shí)間函數(shù)145
2.查看視圖124
3.字符串函數(shù)146
任務(wù)6.3?管理視圖126
4.系統(tǒng)信息函數(shù)146
技術(shù)要點(diǎn)126
5.聚合函數(shù)146
1.修改視圖126
6.條件判斷函數(shù)147
2.刪除視圖127
7.其他函數(shù)148
III
數(shù)據(jù)庫(kù)技術(shù)案例教程——從MySQL到MongoDB.indd32020-8-1914:14:09
數(shù)據(jù)庫(kù)技術(shù)案例教程——從MySQL到MongoDB
任務(wù)8.3?自定義函數(shù)1536.MongoDB170
技術(shù)要點(diǎn)1537.Robo3T工具171
1.自定義函數(shù)的創(chuàng)建1538.關(guān)系型數(shù)據(jù)庫(kù)與非關(guān)系型
2.管理自定義函數(shù)153數(shù)據(jù)庫(kù)的區(qū)別171
任務(wù)8.4?存儲(chǔ)過程155任務(wù)10.2?MongoDB安裝.
技術(shù)要點(diǎn)155....與配置172
1.存儲(chǔ)過程概述155技術(shù)要點(diǎn)172
2.創(chuàng)建和調(diào)用存儲(chǔ)過程1551.Windows環(huán)境下MongoDB
任務(wù)8.5?事件157安裝與配置172
技術(shù)要點(diǎn)1582.Robo3T工具的安裝
1.事件158與配置175
2.創(chuàng)建事件1583.監(jiān)控MongoDB179
單元小結(jié)160單元小結(jié)180
課后習(xí)題160課后習(xí)題180
單元9?MySQL備份與恢復(fù)161單元11?文檔與集合181
任務(wù)9.1?備份161任務(wù)11.1?創(chuàng)建數(shù)據(jù)庫(kù)181
技術(shù)要點(diǎn)161技術(shù)要點(diǎn)181
1.為什么要備份1611.?dāng)?shù)據(jù)庫(kù)181
2.備份的類型1612.?dāng)?shù)據(jù)庫(kù)類型181
3.根據(jù)備份數(shù)據(jù)或文件1623.命名數(shù)據(jù)庫(kù)的基本要求181
4.備份的步驟1624.?dāng)?shù)據(jù)庫(kù)操作命令182
任務(wù)9.2?恢復(fù)164任務(wù)11.2?集合與文檔操作185
技術(shù)要點(diǎn)165技術(shù)要點(diǎn)185
單元小結(jié)1671.文檔185
課后習(xí)題1672.集合185
3.向文檔中插入數(shù)據(jù)186
單元10?MongoDB入門167
4.刪除文檔186
任務(wù)10.1?NoSQL概述167
5.更新文檔187
技術(shù)要點(diǎn)167
6.固定集合188
1.NoSQL的產(chǎn)生167
單元小結(jié)193
2.NoSQL的特點(diǎn)168
課后習(xí)題193
3.NoSQL的應(yīng)用范圍以及
存在問題168單元12?查詢文檔194
4.NoSQL分類169任務(wù)12.1?文檔查詢194
5.?dāng)?shù)據(jù)庫(kù)類型的選擇170技術(shù)要點(diǎn)194
IV
數(shù)據(jù)庫(kù)技術(shù)案例教程——從MySQL到MongoDB.indd42020-8-1914:14:09
目?錄?
1.查詢結(jié)果顯示模式1943.聯(lián)集合查詢211
2.簡(jiǎn)單查詢196任務(wù)13.2..map-reduce217
3.條件查詢196技術(shù)要點(diǎn)217
4.多條件查詢1971.MapReduce概述217
5.限制返回結(jié)果記錄數(shù)1972.MapReduce方法218
6.排序197單元小結(jié)221
任務(wù)12.2?游標(biāo)204課后習(xí)題221
技術(shù)要點(diǎn)204
單元14?MongoDB
1.游標(biāo)的概念204
索引與優(yōu)化222
2.聲明游標(biāo)204
任務(wù)14.1?索引222
3.使用游標(biāo)204
技術(shù)要點(diǎn)222
單元小結(jié)208
1.索引222
課后習(xí)題208
2.查詢分析224
單元13?聚合查詢2093.索引限制225
任務(wù)13.1?聚合管道209任務(wù)14.2?優(yōu)化230
技術(shù)要點(diǎn)209技術(shù)要點(diǎn)230
1.a(chǎn)ggregate()209單元小結(jié)233
2.聚合管道210課后習(xí)題233
V
數(shù)據(jù)庫(kù)技術(shù)案例教程——從MySQL到MongoDB.indd52020-8-1914:14:09
數(shù)據(jù)庫(kù)技術(shù)案例教程——從MySQL到MongoDB.indd62020-8-198:44:13
單元1
認(rèn)識(shí)數(shù)據(jù)庫(kù)
在日常工作和生活中,很多時(shí)候都會(huì)用到數(shù)據(jù)庫(kù)。在網(wǎng)頁(yè)上瀏覽新聞、通過電子郵箱收發(fā)郵件、
通過手機(jī)銀行轉(zhuǎn)賬等操作都是在和數(shù)據(jù)庫(kù)打交道。數(shù)據(jù)庫(kù)是一個(gè)存儲(chǔ)數(shù)據(jù)的倉(cāng)庫(kù),為了方便數(shù)
據(jù)的存儲(chǔ)和管理,將數(shù)據(jù)按照特定的規(guī)則存儲(chǔ)在磁盤上,通過數(shù)據(jù)庫(kù)管理系統(tǒng)有效地組織和管
理數(shù)據(jù)庫(kù)中的數(shù)據(jù)。目前,市場(chǎng)上已經(jīng)有很多優(yōu)秀的數(shù)據(jù)庫(kù)管理系統(tǒng),比如關(guān)系型的Oracle、
MySQL、SQLServer等,以及非關(guān)系型的MongoDB、HBase等。
學(xué)習(xí)目標(biāo)
【知識(shí)目標(biāo)】
了解數(shù)據(jù)庫(kù)的起源與發(fā)展。
了解常用的關(guān)系型與非關(guān)系型數(shù)據(jù)庫(kù)產(chǎn)品。
掌握數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)。
【能力目標(biāo)】
能繪制E-R圖。
能將E-R圖轉(zhuǎn)換成關(guān)系模式。
任務(wù)1.1數(shù)據(jù)庫(kù)的起源與發(fā)展
任務(wù)描述
視頻
數(shù)據(jù)庫(kù)技術(shù)是從20世紀(jì)中葉開始興起的一門信息管理學(xué)科,是計(jì)算
機(jī)科學(xué)中非常重要的一個(gè)分支。隨著計(jì)算機(jī)應(yīng)用的飛速發(fā)展,數(shù)據(jù)處理越
來越占主導(dǎo)地位,數(shù)據(jù)庫(kù)技術(shù)的應(yīng)用也越來越廣泛。數(shù)據(jù)管理是數(shù)據(jù)庫(kù)最
核心的任務(wù),主要內(nèi)容包括數(shù)據(jù)的分類、組織、編碼、存儲(chǔ)、查詢和維
護(hù)。從數(shù)據(jù)管理的角度看,數(shù)據(jù)庫(kù)技術(shù)到目前共經(jīng)歷了3個(gè)階段,分別是
任務(wù)1.1數(shù)據(jù)庫(kù)的
人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫(kù)系統(tǒng)階段。起源與發(fā)展
技術(shù)要點(diǎn)
1.?dāng)?shù)據(jù)庫(kù)的發(fā)展史
(1)人工管理階段
人工管理階段是在20世紀(jì)50年代,當(dāng)時(shí)計(jì)算機(jī)的主要用途是科學(xué)計(jì)算,從硬件看,沒有
1
數(shù)據(jù)庫(kù)技術(shù)案例教程——從MySQL到MongoDB.indd12020-8-198:44:13
數(shù)據(jù)庫(kù)技術(shù)案例教程——從MySQL到MongoDB
磁盤等存儲(chǔ)設(shè)備;從軟件看,沒有操作系統(tǒng),更沒有管理數(shù)據(jù)的應(yīng)用軟件,應(yīng)用程序管理數(shù)
據(jù),數(shù)據(jù)不共享,沒有獨(dú)立性。
在人工管理階段(見圖1-1),數(shù)據(jù)管理的特點(diǎn)如下:
a數(shù)據(jù)不長(zhǎng)期保存在計(jì)算機(jī)中。
b沒有對(duì)數(shù)據(jù)進(jìn)行統(tǒng)一管理的軟件系統(tǒng)。
c數(shù)據(jù)是面向程序的,一組數(shù)據(jù)只對(duì)應(yīng)一個(gè)應(yīng)用程序,數(shù)據(jù)不能共享,程序之間存在大量
重復(fù)數(shù)據(jù)。
????1???1
????2???2
??
????n???n
圖1-1?人工管理階段
(2)文件系統(tǒng)階段
文件系統(tǒng)階段是從20世紀(jì)50年代到60年代中期,這一階段計(jì)算機(jī)不僅應(yīng)用于科學(xué)計(jì)算,
還大量應(yīng)用于信息管理,計(jì)算機(jī)硬件有了磁盤等外存設(shè)備。
文件系統(tǒng)階段與人工管理階段相比有了很大進(jìn)步,但是數(shù)據(jù)仍然大量冗余,數(shù)據(jù)之間的聯(lián)
系也比較弱,如圖1-2所示。
應(yīng)用程序1文件1
應(yīng)用程序2文件2
…文件系統(tǒng)…
應(yīng)用程序n文件n
圖1-2?文件系統(tǒng)階段
在文件系統(tǒng)階段,數(shù)據(jù)管理的特點(diǎn)如下:
a數(shù)據(jù)可以長(zhǎng)期保存在計(jì)算機(jī)的外存設(shè)備上。
b數(shù)據(jù)由專門的數(shù)據(jù)管理軟件——文件系統(tǒng)進(jìn)行統(tǒng)一管理。
c數(shù)據(jù)與程序間有一定的獨(dú)立性,數(shù)據(jù)可以共享。
隨著數(shù)據(jù)管理規(guī)模的擴(kuò)大,數(shù)據(jù)量急劇增加,文件系統(tǒng)逐漸暴露出一些問題:
a數(shù)據(jù)冗余度大。
b數(shù)據(jù)獨(dú)立性低。
2
數(shù)據(jù)庫(kù)技術(shù)案例教程——從MySQL到MongoDB.indd22020-8-198:44:15
單元1?認(rèn)識(shí)數(shù)據(jù)庫(kù)
c數(shù)據(jù)一致性差。
(3)數(shù)據(jù)庫(kù)系統(tǒng)階段
數(shù)據(jù)庫(kù)系統(tǒng)階段是從20世紀(jì)60年代至今,這一時(shí)期由于計(jì)算機(jī)技術(shù)的迅速發(fā)展,磁盤存
儲(chǔ)技術(shù)取得重大進(jìn)展,計(jì)算機(jī)被廣泛應(yīng)用于管理中。大容量和快速存取的磁盤技術(shù)為數(shù)據(jù)庫(kù)技
術(shù)的發(fā)展提供了非常好的條件,數(shù)據(jù)庫(kù)系統(tǒng)階段如圖1-3所示。
程序2
程序n
程序1…
統(tǒng)一存取
n
圖1-3?數(shù)據(jù)庫(kù)系統(tǒng)階段
在數(shù)據(jù)庫(kù)系統(tǒng)階段,數(shù)據(jù)管理的特點(diǎn)如下:
a數(shù)據(jù)結(jié)構(gòu)化。
b數(shù)據(jù)獨(dú)立性高。
c數(shù)據(jù)共享性高、冗余度低。
d具有統(tǒng)一的數(shù)據(jù)管理和控制功能。
數(shù)據(jù)庫(kù)系統(tǒng)的出現(xiàn)使信息系統(tǒng)從以加工數(shù)據(jù)的程序?yàn)橹行模D(zhuǎn)向以共享數(shù)據(jù)庫(kù)為中心。這
樣既便于數(shù)據(jù)的集中管理,又有利于應(yīng)用程序的開發(fā)和維護(hù),提高了數(shù)據(jù)的利用率和相容性,
提高了決策的可靠性。
數(shù)據(jù)庫(kù)技術(shù)發(fā)展三個(gè)階段的特點(diǎn)比較如表1-1所示。
表1-1?數(shù)據(jù)庫(kù)技術(shù)發(fā)展三個(gè)階段的特點(diǎn)比較
比較項(xiàng)目人?工?管?理文?件?系?統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng)
硬件技術(shù)無(wú)存儲(chǔ)設(shè)備小容量磁盤大容量磁盤
軟件技術(shù)無(wú)操作系統(tǒng)文件系統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)
應(yīng)用目的科學(xué)計(jì)算科學(xué)計(jì)算、數(shù)據(jù)管理大規(guī)模數(shù)據(jù)管理
數(shù)據(jù)處理批處理聯(lián)機(jī)實(shí)時(shí)處理、批處理批處理、聯(lián)機(jī)實(shí)時(shí)處理、分布處理
面向?qū)ο筇囟☉?yīng)用程序特定應(yīng)用程序多個(gè)應(yīng)用程序
共享無(wú)共享共享性差、冗余大共享大、冗余低
獨(dú)立性依賴于程序獨(dú)立性差高度獨(dú)立
結(jié)構(gòu)化無(wú)結(jié)構(gòu)記錄內(nèi)有結(jié)構(gòu),整體無(wú)整體結(jié)構(gòu)化,用數(shù)據(jù)模型描述
數(shù)據(jù)控制應(yīng)用程序控制應(yīng)用程序控制數(shù)據(jù)庫(kù)管理系統(tǒng)控制
3
數(shù)據(jù)庫(kù)技術(shù)案例教程——從MySQL到MongoDB.indd32020-8-198:44:15
數(shù)據(jù)庫(kù)技術(shù)案例教程——從MySQL到MongoDB
2.?dāng)?shù)據(jù)庫(kù)應(yīng)用
工作中使用的大部分軟件都是需要用數(shù)據(jù)庫(kù)在后臺(tái)存儲(chǔ)數(shù)據(jù)的,比如,電商平臺(tái)需要存儲(chǔ)
客戶信息、商品信息、訂單信息等;汽車監(jiān)控平臺(tái)需要存儲(chǔ)汽車位置信息、車輛狀態(tài)信息等。
數(shù)據(jù)庫(kù)根據(jù)其數(shù)據(jù)的存儲(chǔ)方式可以分為關(guān)系型數(shù)據(jù)庫(kù)和非關(guān)系型數(shù)據(jù)庫(kù)。
(1)關(guān)系型數(shù)據(jù)庫(kù)的特點(diǎn)及其使用場(chǎng)景
關(guān)系型數(shù)據(jù)庫(kù)的優(yōu)點(diǎn):
a復(fù)雜查詢:可以用SQL語(yǔ)句方便地在一個(gè)表以及多個(gè)表之間進(jìn)行非常復(fù)雜的數(shù)據(jù)查詢。
b事務(wù)支持:使得對(duì)于安全性能很高的數(shù)據(jù)訪問要求得以實(shí)現(xiàn)。
關(guān)系型數(shù)據(jù)庫(kù)的缺點(diǎn):
c不擅長(zhǎng)大量數(shù)據(jù)的寫入處理。
d字段不固定時(shí)應(yīng)用不方便。
e不擅長(zhǎng)對(duì)需要快速返回結(jié)果的簡(jiǎn)單查詢進(jìn)行處理。
關(guān)系型數(shù)據(jù)庫(kù)的使用場(chǎng)景:
a需要做復(fù)雜處理的數(shù)據(jù)。
b數(shù)據(jù)量不是特別大的數(shù)據(jù)。
c對(duì)安全性要求高的數(shù)據(jù)。
d數(shù)據(jù)格式單一的數(shù)據(jù)。
(2)非關(guān)系型數(shù)據(jù)庫(kù)的特點(diǎn)及其使用場(chǎng)景
非關(guān)系型數(shù)據(jù)庫(kù)的優(yōu)點(diǎn):
a簡(jiǎn)單易部署,基本都是開源軟件,不需要像使用Oracle、SQLServer那樣花費(fèi)成本購(gòu)買
使用。
b非關(guān)系型數(shù)據(jù)庫(kù)將數(shù)據(jù)存儲(chǔ)于緩存之中,而非像關(guān)系型數(shù)據(jù)庫(kù)一樣將數(shù)據(jù)存儲(chǔ)在硬盤
中,因此查詢速度遠(yuǎn)優(yōu)于關(guān)系型數(shù)據(jù)庫(kù)。
c非關(guān)系型的存儲(chǔ)格式可以是鍵值對(duì),也可以是文檔形式、圖片形式等,所以可以存儲(chǔ)基
礎(chǔ)類型以及對(duì)象或者集合等各種格式,而關(guān)系型數(shù)據(jù)庫(kù)則只支持基礎(chǔ)類型。
d各個(gè)數(shù)據(jù)都是獨(dú)立設(shè)計(jì)的,很容易把數(shù)據(jù)分散在多個(gè)服務(wù)器上,故減少了每個(gè)服務(wù)器上
的數(shù)據(jù)量,即使要處理大量數(shù)據(jù)的寫入,也變得更加容易,數(shù)據(jù)的讀入操作當(dāng)然也同樣容易。
非關(guān)系型數(shù)據(jù)庫(kù)的缺點(diǎn):
a無(wú)法對(duì)表進(jìn)行復(fù)雜的計(jì)算。
b不支持連接等功能。
非關(guān)系型數(shù)據(jù)庫(kù)的使用場(chǎng)景:
a大容量數(shù)據(jù)存儲(chǔ)。
b格式多樣的數(shù)據(jù)存儲(chǔ)。
c擅長(zhǎng)處理查詢速度要求快的數(shù)據(jù)存儲(chǔ)。
3.常見的數(shù)據(jù)庫(kù)管理系統(tǒng)
常見的關(guān)系型數(shù)據(jù)庫(kù)有Oracle、SQLServer、MySQL等。常見的非關(guān)系性數(shù)據(jù)庫(kù)有MongoDB、
HBase等,如圖1-4所示。
4
數(shù)據(jù)庫(kù)技術(shù)案例教程——從MySQL到MongoDB.indd42020-8-198:44:15
單元1?認(rèn)識(shí)數(shù)據(jù)庫(kù)
MySQL
Oracle
㈧?????
SQLServer
...
MongoDB
???????
...
??????ネ?㈧?
Redis
Memcached
????㈧?????????
...
HBase
??????
...
Neo4J
?????
...
圖1-4?常見的數(shù)據(jù)庫(kù)管理系統(tǒng)
(1)MySQL
MySQL是用戶非常多的一種關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),如圖1-5所示。由于其體積小、速度
快、總體擁有成本低,且開放源碼,一般中小型企業(yè)經(jīng)常會(huì)選擇MySQL作為系統(tǒng)后臺(tái)數(shù)據(jù)庫(kù)。
其具有卓越的性能,搭配PHP和Apache可組成良好的開發(fā)環(huán)境。
圖1-5?MySQL
MySQL的優(yōu)點(diǎn):
a體積小、速度快、總體擁有成本低。
b支持多種操作系統(tǒng)。
c是開源數(shù)據(jù)庫(kù),提供用于C、C++、Java、PHP、Python的接口,支持多種語(yǔ)言連接操作。
dMySQL的核心程序采用完全的多線程編程。線程是輕量級(jí)的進(jìn)程,它可以靈活地為用
戶提供服務(wù),而不過多占用系統(tǒng)資源。
eMySQL有一個(gè)非常靈活而且安全的權(quán)限和密碼系統(tǒng)。當(dāng)客戶與MySQL服務(wù)器連接時(shí),
之間所有的密碼傳送被加密,而且MySQL支持主機(jī)認(rèn)證。
f支持大型的數(shù)據(jù)庫(kù),可以方便地支持具有上千萬(wàn)條記錄的數(shù)據(jù)庫(kù),并可以針對(duì)不同的應(yīng)
用進(jìn)行相應(yīng)修改。
g擁有非常快速而且穩(wěn)定的基于線程的內(nèi)存分配系
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 浙江經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院《試驗(yàn)設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 中國(guó)民航大學(xué)《高等高分子化學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 小學(xué)學(xué)校網(wǎng)絡(luò)文明傳播志愿者考評(píng)細(xì)則及獎(jiǎng)懲制度
- 浙江財(cái)經(jīng)大學(xué)《電子科學(xué)與技術(shù)學(xué)科前沿與進(jìn)展》2023-2024學(xué)年第一學(xué)期期末試卷
- 張家口學(xué)院《新醫(yī)療技術(shù)與法》2023-2024學(xué)年第一學(xué)期期末試卷
- 缺陷分析與質(zhì)量改進(jìn)流程規(guī)范
- 五年級(jí)列方程應(yīng)用題100道(有答案)
- 雙11房產(chǎn)銷售策略模板
- 生物研究月報(bào)模板
- 新蘇教版一年級(jí)數(shù)學(xué)下冊(cè)第二單元《圖形的初步認(rèn)識(shí)(二)》全部教案(共3課時(shí))
- 廣東大灣區(qū)2024-2025學(xué)年度高一上學(xué)期期末統(tǒng)一測(cè)試英語(yǔ)試題(無(wú)答案)
- 《胃癌靶向治療》課件
- 2024-2025學(xué)年遼寧省沈陽(yáng)市高一上學(xué)期1月期末質(zhì)量監(jiān)測(cè)數(shù)學(xué)試題(含解析)
- 《少兒主持人》課件
- 北京市朝陽(yáng)區(qū)2024-2025學(xué)年高二上學(xué)期期末考試生物試卷(含答案)
- 2025年西藏拉薩市柳梧新區(qū)城市投資建設(shè)發(fā)展集團(tuán)有限公司招聘筆試參考題庫(kù)附帶答案詳解
- 2025年部編版一年級(jí)語(yǔ)文上冊(cè)期末復(fù)習(xí)計(jì)劃
- 儲(chǔ)罐維護(hù)檢修施工方案
- 地理2024-2025學(xué)年人教版七年級(jí)上冊(cè)地理知識(shí)點(diǎn)
- 2024 消化內(nèi)科專業(yè) 藥物臨床試驗(yàn)GCP管理制度操作規(guī)程設(shè)計(jì)規(guī)范應(yīng)急預(yù)案
- 2024-2030年中國(guó)電子郵箱行業(yè)市場(chǎng)運(yùn)營(yíng)模式及投資前景預(yù)測(cè)報(bào)告
評(píng)論
0/150
提交評(píng)論