本書全面系統(tǒng)地講述了數(shù)據(jù)庫技術(shù)和應(yīng)用,全書共15章,內(nèi)容包括數(shù)據(jù)庫系統(tǒng)基礎(chǔ)知識(shí)、關(guān)系數(shù)據(jù)庫系統(tǒng)及MySQL安裝與使用、使用SQL管理數(shù)據(jù)庫和表、視圖和索引、數(shù)據(jù)完整性約束和表維護(hù)語句、觸發(fā)器與事件、存儲(chǔ)過程與存儲(chǔ)函數(shù)、訪問控制與安全管理、事務(wù)與MySQL的多用戶并發(fā)控制、MySQL數(shù)據(jù)庫備份與還原、數(shù)據(jù)庫設(shè)計(jì)方法、PHP的MySQL數(shù)據(jù)庫編程、數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)實(shí)例,以及非關(guān)系型數(shù)據(jù)庫——NoSQL。本書還以MySQL為背景,介紹了數(shù)據(jù)庫技術(shù)的實(shí)現(xiàn),包括數(shù)據(jù)庫和數(shù)據(jù)表的維護(hù)、查詢與統(tǒng)計(jì)、視圖管理、存儲(chǔ)過程和觸發(fā)器的管理、用戶管理、約束和默認(rèn)管理、數(shù)據(jù)庫的備份和還原、存儲(chǔ)過程等內(nèi)容,使讀者可以充分利用MySQL平臺(tái)深刻理解數(shù)據(jù)庫技術(shù)的原理,達(dá)到理論和實(shí)踐緊密結(jié)合的目的。 本書內(nèi)容循序漸進(jìn),深入淺出,概念清晰,條理性強(qiáng),每一章節(jié)都給出了一些實(shí)例,為加強(qiáng)對數(shù)據(jù)庫技術(shù)的實(shí)踐能力的提升。本書附錄部分還給出了15個(gè)上機(jī)實(shí)驗(yàn)任務(wù),努力做到數(shù)據(jù)庫知識(shí)點(diǎn)實(shí)踐全覆蓋,并增添了數(shù)據(jù)庫目前應(yīng)用極其熱門的新領(lǐng)域,即NoSQL,并以MongoDB為對象進(jìn)行案例講解。 本書既可作為本科相關(guān)專業(yè)“數(shù)據(jù)庫技術(shù)及應(yīng)用”課程的配套教材,也可以供參加數(shù)據(jù)庫類考試的人員、數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)設(shè)計(jì)人員、工程技術(shù)人員及其他相關(guān)人員參閱。對于非計(jì)算機(jī)專業(yè)的本科學(xué)生,如果希望學(xué)到關(guān)鍵、實(shí)用的數(shù)據(jù)庫技術(shù),也可采用本書作為教材。本書封面貼有清華大學(xué)出版社防偽標(biāo)簽,無標(biāo)簽者不得銷售。
(1)內(nèi)容循序漸進(jìn),深入淺出,概念清晰,條理性強(qiáng)。
(2)示例豐富。
(3)15個(gè)上機(jī)實(shí)驗(yàn)任務(wù).
(4)涵蓋數(shù)據(jù)庫熱門的新領(lǐng)域,即NoSQL,并以MongoDB為對象進(jìn)行案例講解。
第1章數(shù)據(jù)庫系統(tǒng)基礎(chǔ)知識(shí)/1
1.1數(shù)據(jù)庫系統(tǒng)的概述1
1.1.1數(shù)據(jù)庫系統(tǒng)的基本概念1
1.1.2計(jì)算機(jī)數(shù)據(jù)管理技術(shù)的產(chǎn)生和發(fā)展4
1.1.3數(shù)據(jù)庫系統(tǒng)的特點(diǎn)5
1.1.4數(shù)據(jù)庫系統(tǒng)的組成7
1.2數(shù)據(jù)模型8
1.2.1概念模型9
1.2.2數(shù)據(jù)模型的要素11
1.2.3基本數(shù)據(jù)模型12
1.3數(shù)據(jù)庫系統(tǒng)結(jié)構(gòu)14
1.3.1數(shù)據(jù)庫系統(tǒng)的三級(jí)模式結(jié)構(gòu)14
1.3.2數(shù)據(jù)庫的二級(jí)映射功能與數(shù)據(jù)獨(dú)立性15
1.3.3C/S與B/S結(jié)構(gòu)16
1.4本章小結(jié)17
1.5習(xí)題17
第2章關(guān)系數(shù)據(jù)庫系統(tǒng)/18
2.1關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)18
2.2關(guān)系完整性約束20
2.2.1域完整性20
2.2.2實(shí)體完整性20
2.2.3參照完整性21
2.2.4用戶定義的完整性23
2.3關(guān)系操作23
2.4關(guān)系代數(shù)24
2.4.1關(guān)系定義24
2.4.2關(guān)系運(yùn)算26
2.5本章小結(jié)31
2.6習(xí)題31〖1〗數(shù)據(jù)庫技術(shù)與應(yīng)用(MySQL版)目錄[3]〖3〗第3章MySQL安裝與使用/32
3.1MySQL簡介32
3.2MySQL服務(wù)器與端口34
3.2.1MySQL服務(wù)器34
3.2.2端口號(hào)34
3.3MySQL的安裝34
3.4啟動(dòng)和停止MySQL服務(wù)器46
3.4.1通過系統(tǒng)服務(wù)管理器啟動(dòng)、停止MySQL服務(wù)器46
3.4.2在命令提示符下啟動(dòng)、停止MySQL服務(wù)器46
3.5連接和斷開MySQL服務(wù)器47
3.6基于客戶端工具Navicat操作MySQL50
3.6.1下載與安裝51
3.6.2界面操作使用51
3.6.3在Navicat中運(yùn)行SQL語句55
3.7本章小結(jié)56
3.8習(xí)題56
第4章使用SQL管理數(shù)據(jù)庫和表/57
4.1SQL的基本知識(shí)特點(diǎn)57
4.2數(shù)據(jù)庫管理58
4.3SQL的數(shù)據(jù)表定義功能60
4.3.1常見的數(shù)據(jù)類型60
4.3.2用SQL定義數(shù)據(jù)庫表64
4.4SQL的數(shù)據(jù)操縱功能67
4.4.1插入數(shù)據(jù)記錄67
4.4.2修改數(shù)據(jù)記錄68
4.4.3刪除數(shù)據(jù)記錄69
4.4.4使用TRUNCATE清空表數(shù)據(jù)70
4.5SQL的數(shù)據(jù)查詢功能70
4.5.1查詢語句SELECT的基本結(jié)構(gòu)70
4.5.2單表查詢71
4.5.3連接查詢83
4.5.4嵌套查詢89
4.6jxgl數(shù)據(jù)庫表92
4.7本章小結(jié)94
4.8習(xí)題94
第5章視圖和索引/96
5.1視圖概述96
5.1.1視圖的優(yōu)勢97
5.1.2視圖的工作機(jī)制97
5.2視圖定義和管理97
5.2.1創(chuàng)建視圖97
5.2.2刪除視圖99
5.2.3查看視圖定義99
5.2.4修改視圖定義100
5.3更新視圖數(shù)據(jù)101
5.4對視圖的進(jìn)一步說明102
5.5索引概述102
5.5.1索引的分類104
5.5.2索引的定義和管理105
5.5.3設(shè)計(jì)原則和注意事項(xiàng)109
5.6本章小結(jié)111
5.7習(xí)題111
第6章數(shù)據(jù)完整性約束和表維護(hù)語句/112
6.1數(shù)據(jù)完整性約束112
6.1.1定義數(shù)據(jù)完整性112
6.1.2命名完整性約束117
6.1.3更新完整性約束118
6.2表維護(hù)語句118
6.3本章小結(jié)121
6.4習(xí)題121
第7章觸發(fā)器與事件/122
7.1觸發(fā)器的概念及管理122
7.1.1觸發(fā)器的概念122
7.1.2創(chuàng)建觸發(fā)器122
7.1.3刪除觸發(fā)器124
7.1.4使用觸發(fā)器124
7.2事件的概念與管理126
7.2.1事件的概念126
7.2.2創(chuàng)建事件127
7.2.3修改事件128
7.2.4刪除事件128
7.3本章小結(jié)128
7.4習(xí)題129
第8章存儲(chǔ)過程與存儲(chǔ)函數(shù)/130
8.1存儲(chǔ)過程130
8.1.1創(chuàng)建存儲(chǔ)過程130
8.1.2存儲(chǔ)過程體132
8.1.3調(diào)用存儲(chǔ)過程136
8.1.4修改存儲(chǔ)過程137
8.1.5刪除存儲(chǔ)過程137
8.2存儲(chǔ)函數(shù)138
8.2.1創(chuàng)建存儲(chǔ)函數(shù)138
8.2.2調(diào)用存儲(chǔ)函數(shù)139
8.2.3刪除存儲(chǔ)函數(shù)139
8.3本章小結(jié)140
8.4習(xí)題140
第9章訪問控制與安全管理/141
9.1用戶賬號(hào)管理141
9.1.1創(chuàng)建用戶賬號(hào)141
9.1.2刪除用戶142
9.1.3修改用戶賬號(hào)143
9.1.4修改用戶口令143
9.2賬戶權(quán)限管理144
9.2.1權(quán)限的授予144
9.2.2權(quán)限的轉(zhuǎn)移與限制148
9.2.3權(quán)限的撤銷149
9.3本章小結(jié)149
9.4習(xí)題150
第10章事務(wù)與MySQL的多用戶并發(fā)控制/151
10.1事務(wù)151
10.1.1事務(wù)的概念151
10.1.2事務(wù)的ACID特性152
10.1.3MySQL事務(wù)控制語句154
10.1.4事務(wù)的隔離性級(jí)別154
10.2MySQL的并發(fā)控制156
10.2.1并發(fā)概述156
10.2.2鎖的概述157
10.2.3MyISAM表的表級(jí)鎖158
10.2.4InnoDB表的行級(jí)鎖159
10.2.5死鎖160
10.3本章小結(jié)161
10.4習(xí)題161
第11章MySQL數(shù)據(jù)庫備份與還原/162
11.1備份與還原概述162
11.2通過文件備份和還原163
11.3通過命令MYSQLDUMP備份還原164
11.3.1備份164
11.3.2還原166
11.4表的導(dǎo)入和導(dǎo)出167
11.5本章小結(jié)170
11.6習(xí)題170
第12章數(shù)據(jù)庫設(shè)計(jì)方法/171
12.1數(shù)據(jù)庫設(shè)計(jì)概述171
12.1.1數(shù)據(jù)庫設(shè)計(jì)的內(nèi)容171
12.1.2數(shù)據(jù)庫設(shè)計(jì)的步驟171
12.2系統(tǒng)需求分析173
12.2.1需求分析的任務(wù)173
12.2.2需求分析的方法174
12.2.3數(shù)據(jù)流圖175
12.2.4數(shù)據(jù)字典176
12.3概念結(jié)構(gòu)設(shè)計(jì)178
12.3.1概念結(jié)構(gòu)設(shè)計(jì)的必要性179
12.3.2概念模型的特點(diǎn)179
12.3.3概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟179
12.3.4數(shù)據(jù)抽象和局部ER模型設(shè)計(jì)181
12.3.5全局ER模型設(shè)計(jì)183
12.4邏輯結(jié)構(gòu)設(shè)計(jì)184
12.4.1關(guān)系模式規(guī)范化186
12.4.2模式評(píng)價(jià)與改進(jìn)188
12.5物理結(jié)構(gòu)設(shè)計(jì)189
12.6數(shù)據(jù)庫實(shí)施189
12.6.1建立實(shí)際數(shù)據(jù)庫結(jié)構(gòu)189
12.6.2數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫189
12.6.3應(yīng)用程序編碼與調(diào)試190
12.6.4數(shù)據(jù)庫試運(yùn)行190
12.6.5整理文檔191
12.7數(shù)據(jù)庫運(yùn)行和維護(hù)191
12.7.1維護(hù)數(shù)據(jù)庫的安全性與完整性191
12.7.2監(jiān)測并改善數(shù)據(jù)庫性能191
12.7.3重新組織和構(gòu)造數(shù)據(jù)庫191
12.8本章小結(jié)191
12.9習(xí)題192
第13章PHP的MySQL數(shù)據(jù)庫編程/193
13.1PHP簡介193
13.2PHP編程基礎(chǔ)194
13.3使用PHP進(jìn)行MySQL數(shù)據(jù)庫編程195
13.3.1編程步驟195
13.3.2建立與MySQL數(shù)據(jù)庫服務(wù)器的連接196
13.3.3選擇數(shù)據(jù)庫198
13.3.4執(zhí)行數(shù)據(jù)庫操作199
13.3.5關(guān)閉與數(shù)據(jù)庫服務(wù)器的連接207
13.4本章小結(jié)208
13.5習(xí)題208
第14章數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)實(shí)例/209
14.1需求描述209
14.2系統(tǒng)分析與設(shè)計(jì)209
14.3數(shù)據(jù)庫設(shè)計(jì)與實(shí)現(xiàn)211
14.4系統(tǒng)實(shí)現(xiàn)211
14.5本章小結(jié)215
14.6習(xí)題215
第15章從關(guān)系型到非關(guān)系型數(shù)據(jù)庫/217
15.1NoSQL概述217
15.2NoSQL數(shù)據(jù)庫的優(yōu)勢比較217
15.2.1關(guān)系型數(shù)據(jù)庫的優(yōu)勢217
15.2.2關(guān)系型數(shù)據(jù)庫的劣勢218
15.2.3NoSQL數(shù)據(jù)庫的優(yōu)勢219
15.3NoSQL數(shù)據(jù)庫的類型219
15.3.1鍵值存儲(chǔ)220
15.3.2面向文檔的數(shù)據(jù)庫221
15.3.3面向列的數(shù)據(jù)庫221
15.4NoSQL數(shù)據(jù)庫選用原則222
15.5NoSQL的CAP理論222
15.5.1NoSQL系統(tǒng)是分布式系統(tǒng)222
15.5.2CAP理論闡述223
15.6MongoDB概述224
15.6.1選用MongoDB原因224
15.6.2MongoDB的優(yōu)勢和不足225
15.6.3基本概念227
15.7MongoDB數(shù)據(jù)庫安裝配置227
15.7.1下載227
15.7.2配置228
15.7.3啟動(dòng)數(shù)據(jù)庫230
15.7.4MongoVUE圖形化管理工具234
15.7.5MongoVUE的安裝啟動(dòng)234
15.7.6借助MongoVUE工具對數(shù)據(jù)庫操作239
15.8本章小結(jié)243
15.9習(xí)題243
附錄實(shí)驗(yàn)/244
實(shí)驗(yàn)1概念模型(ER圖)繪制244
實(shí)驗(yàn)2關(guān)系的完整性理解與應(yīng)用245
實(shí)驗(yàn)3MySQL數(shù)據(jù)庫數(shù)據(jù)表的創(chuàng)建與修改管理246
實(shí)驗(yàn)4MySQL數(shù)據(jù)庫表的數(shù)據(jù)插入、修改、刪除操作248
實(shí)驗(yàn)5MySQL數(shù)據(jù)庫表數(shù)據(jù)的查詢操作實(shí)驗(yàn)249
實(shí)驗(yàn)6MySQL數(shù)據(jù)庫索引創(chuàng)建與管理操作250
實(shí)驗(yàn)7MySQL數(shù)據(jù)庫視圖創(chuàng)建與管理251
實(shí)驗(yàn)8MySQL數(shù)據(jù)庫存儲(chǔ)過程與函數(shù)的創(chuàng)建管理252
實(shí)驗(yàn)9MySQL數(shù)據(jù)庫觸發(fā)器創(chuàng)建與管理254
實(shí)驗(yàn)10MySQL數(shù)據(jù)庫的安全機(jī)制管理255
實(shí)驗(yàn)11MySQL數(shù)據(jù)庫的備份與恢復(fù)255
實(shí)驗(yàn)12MySQL日志管理256
實(shí)驗(yàn)13MySQL性能優(yōu)化257
實(shí)驗(yàn)14使用PHP訪問MySQL數(shù)據(jù)庫258
實(shí)驗(yàn)15數(shù)據(jù)庫設(shè)計(jì)259
參考文獻(xiàn)/261