數(shù)據(jù)庫(kù)系統(tǒng)——原理、設(shè)計(jì)與編程(MOOC版)
定 價(jià):59.8 元
- 作者:陸鑫 張鳳荔 陳安龍
- 出版時(shí)間:2019/3/1
- ISBN:9787115502742
- 出 版 社:人民郵電出版社
- 中圖法分類:TP311.13
- 頁(yè)碼:332
- 紙張:
- 版次:01
- 開本:16開
本書從理論與實(shí)際應(yīng)用相結(jié)合的角度出發(fā),介紹數(shù)據(jù)庫(kù)系統(tǒng)的原理知識(shí)與技術(shù)應(yīng)用方法,包括數(shù)據(jù)庫(kù)系統(tǒng)概述、關(guān)系數(shù)據(jù)模型、SQL數(shù)據(jù)庫(kù)操作語言、數(shù)據(jù)庫(kù)設(shè)計(jì)、數(shù)據(jù)庫(kù)管理、數(shù)據(jù)庫(kù)應(yīng)用編程,以及分布式NoSQL數(shù)據(jù)庫(kù)技術(shù)等內(nèi)容。
1.本書提供Mooc等輔助教學(xué)資源,方便教學(xué)。
2.每章最后小節(jié)給出一個(gè)完整項(xiàng)目實(shí)踐案例,幫助讀者系統(tǒng)理解數(shù)據(jù)庫(kù)技術(shù)應(yīng)用方法。解決傳統(tǒng)教材理論知識(shí)與產(chǎn)業(yè)工程實(shí)踐脫節(jié)、工程案例偏少的問題。
3.本書第7章介紹了目前大量應(yīng)用的NoSQL數(shù)據(jù)庫(kù)技術(shù)及其應(yīng)用方法,如鍵值對(duì)數(shù)據(jù)庫(kù)、列存儲(chǔ)數(shù)據(jù)庫(kù)、文檔數(shù)據(jù)庫(kù)、圖形數(shù)據(jù)庫(kù)等技術(shù)知識(shí)。
陸鑫,電子科技大學(xué)信息與軟件工程學(xué)院副教授,長(zhǎng)期從事計(jì)算機(jī)領(lǐng)域的教學(xué)和科研工作。在商業(yè)智能和企業(yè)信息化方面有較多的項(xiàng)目經(jīng)驗(yàn),負(fù)責(zé)多個(gè)大型信息系統(tǒng)項(xiàng)目的規(guī)劃、設(shè)計(jì)、開發(fā)與管理。完成多項(xiàng)大型系統(tǒng)開發(fā),如電子科技大學(xué)清水河校區(qū)數(shù)字化校園系統(tǒng)、大型商業(yè)自動(dòng)化管理系統(tǒng)、煤氣管網(wǎng)GIS系統(tǒng)、環(huán)境保護(hù)GIS/GPS系統(tǒng)、化工企業(yè)集團(tuán)大型MIS系統(tǒng)、包裝容器抗壓與堆碼微機(jī)測(cè)控系統(tǒng)、嵌入式家電控制器仿真平臺(tái)系統(tǒng)、鋼管生產(chǎn)線監(jiān)控跟蹤系統(tǒng)等,其中數(shù)字化校園系統(tǒng)項(xiàng)目經(jīng)費(fèi)規(guī)模達(dá)幾千萬以上。對(duì)IT基礎(chǔ)設(shè)施中的網(wǎng)絡(luò)系統(tǒng)、主機(jī)系統(tǒng)、存儲(chǔ)系統(tǒng)、備份系統(tǒng)、安全系統(tǒng)、Unix/Linux操作系統(tǒng)、中間件平臺(tái)系統(tǒng)等有全面了解與實(shí)踐經(jīng)驗(yàn)。特別對(duì)軟件系統(tǒng)分析與設(shè)計(jì)有較高造詣,對(duì)系統(tǒng)需求分析、體系結(jié)構(gòu)設(shè)計(jì)、系統(tǒng)模型開發(fā)以及數(shù)據(jù)庫(kù)開發(fā)與應(yīng)用等都有豐富實(shí)踐經(jīng)驗(yàn)。在數(shù)據(jù)挖掘、嵌入式計(jì)算方向有相應(yīng)研究,參與完成研究項(xiàng)目“數(shù)據(jù)挖掘技術(shù)預(yù)測(cè)電價(jià)預(yù)測(cè)模型”“網(wǎng)格環(huán)境數(shù)據(jù)挖掘平臺(tái)”“基于SOA企業(yè)應(yīng)用集成平臺(tái)技術(shù)”“高可靠現(xiàn)場(chǎng)級(jí)實(shí)時(shí)以態(tài)網(wǎng)研究”“信息家電系統(tǒng)仿真組件平臺(tái)研制”等。
第1章 數(shù)據(jù)庫(kù)系統(tǒng)基礎(chǔ) 1
1.1 數(shù)據(jù)庫(kù)及其系統(tǒng)的概念 1
1.1.1 數(shù)據(jù)庫(kù)的定義 1
1.1.2 數(shù)據(jù)模型 2
1.1.3 數(shù)據(jù)庫(kù)系統(tǒng)的組成 4
1.2 數(shù)據(jù)庫(kù)技術(shù)的發(fā)展 7
1.2.1 數(shù)據(jù)管理技術(shù)的演化 7
1.2.2 數(shù)據(jù)庫(kù)技術(shù)的發(fā)展階段 8
1.2.3 數(shù)據(jù)庫(kù)領(lǐng)域的新技術(shù) 9
1.3 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng) 12
1.3.1 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的類型 12
1.3.2 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的結(jié)構(gòu) 13
1.3.3 數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的生命周期 15
1.4 典型的數(shù)據(jù)庫(kù)管理系統(tǒng) 17
1.4.1 Microsoft SQL Server 17
1.4.2 Oracle DataBase 18
1.4.3 MySQL 18
1.4.4 PostgreSQL 19
1.5 PostgreSQL對(duì)象-關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)軟件 19
1.5.1 PostgreSQL軟件的獲得 19
1.5.2 PostgreSQL軟件的功能程序 20
1.5.3 PostgreSQL數(shù)據(jù)庫(kù)的管理工具 21
1.5.4 PostgreSQL數(shù)據(jù)庫(kù)對(duì)象 23
習(xí)題 24
第2章 數(shù)據(jù)庫(kù)關(guān)系模型 25
2.1 關(guān)系及其相關(guān)概念 25
2.1.1 關(guān)系的通俗定義 25
2.1.2 關(guān)系的數(shù)學(xué)定義 26
2.1.3 關(guān)系模式表示 28
2.1.4 關(guān)系鍵的定義 28
2.2 關(guān)系模型的原理 29
2.2.1 關(guān)系模型的組成 29
2.2.2 關(guān)系模型的操作 30
2.2.3 數(shù)據(jù)完整性約束 37
2.3 PostgreSQL數(shù)據(jù)庫(kù)關(guān)系操作實(shí)踐 40
2.3.1 項(xiàng)目案例——選課管理系統(tǒng) 40
2.3.2 關(guān)系數(shù)據(jù)庫(kù)的創(chuàng)建 42
2.3.3 關(guān)系表的創(chuàng)建 43
2.3.4 實(shí)體完整性定義 44
2.3.5 參照完整性定義 46
2.3.6 用戶自定義完整性 48
習(xí)題 49
第3章 數(shù)據(jù)庫(kù)操作語言SQL 53
3.1 SQL概述 53
3.1.1 SQL的發(fā)展 53
3.1.2 SQL的特點(diǎn) 54
3.1.3 SQL的類型 54
3.1.4 SQL的數(shù)據(jù)類型 55
3.2 數(shù)據(jù)定義SQL語句 58
3.2.1 數(shù)據(jù)庫(kù)的定義 58
3.2.2 數(shù)據(jù)庫(kù)表對(duì)象的定義 60
3.2.3 數(shù)據(jù)表索引對(duì)象的定義 65
3.3 數(shù)據(jù)操縱SQL語句 67
3.3.1 數(shù)據(jù)插入SQL語句 67
3.3.2 數(shù)據(jù)更新SQL語句 68
3.3.3 數(shù)據(jù)刪除SQL語句 69
3.4 數(shù)據(jù)查詢SQL語句 70
3.4.1 查詢語句基本結(jié)構(gòu) 70
3.4.2 從單表讀取指定列 71
3.4.3 從單表讀取指定行 72
3.4.4 從單表讀取指定行和列 73
3.4.5 WHERE子句條件 73
3.4.6 查詢結(jié)果排序 75
3.4.7 內(nèi)置函數(shù)的使用 76
3.4.8 查詢結(jié)果分組處理 80
3.4.9 使用子查詢處理多表 81
3.4.10 使用連接查詢多表 82
3.4.11 SQL JOIN…ON連接 83
3.5 數(shù)據(jù)控制SQL語句 86
3.5.1 GRANT語句 86
3.5.2 REVOKE語句 87
3.5.3 DENY語句 87
3.6 視圖SQL語句 87
3.6.1 視圖的概念 87
3.6.2 視圖的創(chuàng)建與刪除 88
3.6.3 視圖的使用 89
3.7 PostgreSQL數(shù)據(jù)庫(kù)SQL實(shí)踐 92
3.7.1 項(xiàng)目案例——工程項(xiàng)目管理系統(tǒng) 92
3.7.2 數(shù)據(jù)庫(kù)的創(chuàng)建 93
3.7.3 數(shù)據(jù)庫(kù)表的定義 94
3.7.4 數(shù)據(jù)的維護(hù)操作 95
3.7.5 多表的關(guān)聯(lián)查詢 98
3.7.6 視圖的應(yīng)用 100
習(xí)題 102
第4章 數(shù)據(jù)庫(kù)設(shè)計(jì)與實(shí)現(xiàn) 105
4.1 數(shù)據(jù)庫(kù)設(shè)計(jì)概述 105
4.1.1 數(shù)據(jù)庫(kù)設(shè)計(jì)方案 105
4.1.2 數(shù)據(jù)庫(kù)設(shè)計(jì)過程與策略 107
4.1.3 數(shù)據(jù)庫(kù)建模設(shè)計(jì)工具 108
4.2 E-R模型 109
4.2.1 模型基本元素 109
4.2.2 實(shí)體聯(lián)系類型 111
4.2.3 強(qiáng)弱實(shí)體 114
4.2.4 標(biāo)識(shí)符依賴實(shí)體 114
4.2.5 E-R模型圖 115
4.3 數(shù)據(jù)庫(kù)建模設(shè)計(jì) 116
4.3.1 概念數(shù)據(jù)模型設(shè)計(jì) 116
4.3.2 邏輯數(shù)據(jù)模型設(shè)計(jì) 119
4.3.3 物理數(shù)據(jù)模型設(shè)計(jì) 121
4.4 數(shù)據(jù)庫(kù)規(guī)范化設(shè)計(jì) 128
4.4.1 非規(guī)范化關(guān)系表的問題 129
4.4.2 函數(shù)依賴?yán)碚摗?30
4.4.3 規(guī)范化設(shè)計(jì)范式 132
4.4.4 逆規(guī)范化處理 134
4.5 數(shù)據(jù)庫(kù)設(shè)計(jì)模型的SQL實(shí)現(xiàn) 136
4.5.1 確定數(shù)據(jù)庫(kù)設(shè)計(jì)的實(shí)現(xiàn)方式 136
4.5.2 設(shè)計(jì)模型轉(zhuǎn)換為SQL腳本程序 137
4.6 基于PowerDesigner的數(shù)據(jù)庫(kù)設(shè)計(jì)建模實(shí)踐 138
4.6.1 項(xiàng)目案例——圖書借閱管理系統(tǒng) 138
4.6.2 系統(tǒng)概念數(shù)據(jù)模型設(shè)計(jì) 138
4.6.3 系統(tǒng)邏輯數(shù)據(jù)模型設(shè)計(jì) 142
4.6.4 系統(tǒng)物理數(shù)據(jù)模型設(shè)計(jì) 144
4.6.5 PostgreSQL數(shù)據(jù)庫(kù)實(shí)現(xiàn) 146
習(xí)題 154
第5章 數(shù)據(jù)庫(kù)管理 156
5.1 數(shù)據(jù)庫(kù)管理概述 156
5.1.1 數(shù)據(jù)庫(kù)管理的目標(biāo)與內(nèi)容 156
5.1.2 數(shù)據(jù)庫(kù)管理工具 157
5.1.3 DBMS管理功能 157
5.1.4 DBMS結(jié)構(gòu) 158
5.2 事務(wù)管理 159
5.2.1 事務(wù)的概念 159
5.2.2 事務(wù)的特性 161
5.2.3 事務(wù)的并發(fā)執(zhí)行 161
5.2.4 事務(wù)SQL語句 162
5.3 并發(fā)控制 165
5.3.1 并發(fā)控制問題 165
5.3.2 并發(fā)事務(wù)調(diào)度 168
5.3.3 數(shù)據(jù)庫(kù)鎖機(jī)制 170
5.3.4 基于鎖的并發(fā)控制協(xié)議 171
5.3.5 兩階段鎖定協(xié)議 174
5.3.6 并發(fā)事務(wù)死鎖解決 175
5.3.7 事務(wù)隔離級(jí)別 176
5.4 安全管理 176
5.4.1 數(shù)據(jù)庫(kù)系統(tǒng)安全概述 177
5.4.2 數(shù)據(jù)庫(kù)系統(tǒng)安全模型 177
5.4.3 用戶管理 179
5.4.4 權(quán)限管理 182
5.4.5 角色管理 184
5.5 備份與恢復(fù) 187
5.5.1 數(shù)據(jù)庫(kù)備份 187
5.5.2 PostgreSQL數(shù)據(jù)庫(kù)的備份方法 189
5.5.3 數(shù)據(jù)庫(kù)恢復(fù) 194
5.5.4 PostgreSQL數(shù)據(jù)庫(kù)的恢復(fù)方法 195
5.6 PostgreSQL數(shù)據(jù)庫(kù)管理項(xiàng)目實(shí)踐 198
5.6.1 項(xiàng)目案例——成績(jī)管理系統(tǒng) 198
5.6.2 數(shù)據(jù)庫(kù)角色管理 199
5.6.3 數(shù)據(jù)庫(kù)權(quán)限管理 200
5.6.4 數(shù)據(jù)庫(kù)用戶管理 201
5.6.5 數(shù)據(jù)庫(kù)備份與恢復(fù)管理 202
習(xí)題 204
第6章 數(shù)據(jù)庫(kù)應(yīng)用編程 206
6.1 數(shù)據(jù)庫(kù)連接技術(shù) 206
6.1.1 ODBC技術(shù) 206
6.1.2 JDBC技術(shù) 209
6.2 Java Web數(shù)據(jù)庫(kù)編程 215
6.2.1 Java Web簡(jiǎn)介 215
6.2.2 Java Web開發(fā)運(yùn)行環(huán)境 215
6.2.3 Servlet技術(shù) 216
6.2.4 JSP技術(shù) 217
6.2.5 JavaBean技術(shù) 227
6.2.6 MyBatis訪問數(shù)據(jù)庫(kù)技術(shù) 227
6.2.7 MyBatis數(shù)據(jù)庫(kù)編程 229
6.3 存儲(chǔ)過程編程 235
6.3.1 存儲(chǔ)過程的基礎(chǔ)知識(shí) 236
6.3.2 存儲(chǔ)過程的優(yōu)點(diǎn) 244
6.3.3 存儲(chǔ)過程的缺點(diǎn) 244
6.4 觸發(fā)器編程 245
6.4.1 觸發(fā)器的語法結(jié)構(gòu) 245
6.4.2 觸發(fā)器的編程技術(shù) 248
6.4.3 事件觸發(fā)器 250
6.4.4 觸發(fā)器的應(yīng)用 252
6.4.5 使用觸發(fā)器的優(yōu)點(diǎn) 253
6.5 游標(biāo)編程 253
6.5.1 游標(biāo)的基礎(chǔ)知識(shí) 253
6.5.2 游標(biāo)的應(yīng)用編程 255
6.6 嵌入式SQL編程 257
6.6.1 嵌入式SQL的處理過程 257
6.6.2 嵌入式SQL的基本語法 257
6.6.3 嵌入式SQL的通信方式 258
6.7 數(shù)據(jù)庫(kù)應(yīng)用編程項(xiàng)目實(shí)踐 260
6.7.1 項(xiàng)目案例——課程管理系統(tǒng) 260
6.7.2 功能模塊設(shè)計(jì) 262
6.7.3 模塊的編碼實(shí)現(xiàn) 263
習(xí)題 272
第7章 NoSQL數(shù)據(jù)庫(kù)技術(shù) 274
7.1 NoSQL數(shù)據(jù)庫(kù)概述 274
7.1.1 關(guān)系數(shù)據(jù)庫(kù)的局限 275
7.1.2 NoSQL理論基礎(chǔ) 276
7.1.3 NoSQL基本概念 277
7.2 列存儲(chǔ)數(shù)據(jù)庫(kù) 280
7.2.1 列存儲(chǔ)的概念 280
7.2.2 HBase數(shù)據(jù)庫(kù)的概念 281
7.2.3 HBase數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu) 284
7.2.4 HBase數(shù)據(jù)庫(kù)的系統(tǒng)架構(gòu)與組成 286
7.2.5 HBase數(shù)據(jù)庫(kù)的應(yīng)用場(chǎng)景 288
7.3 鍵值對(duì)數(shù)據(jù)庫(kù) 288
7.3.1 鍵值對(duì)存儲(chǔ)的概念 289
7.3.2 Redis數(shù)據(jù)庫(kù)的基本知識(shí) 289
7.3.3 Redis數(shù)據(jù)庫(kù)的結(jié)構(gòu) 290
7.3.4 Redis數(shù)據(jù)庫(kù)的相關(guān)操作 294
7.3.5 Redis數(shù)據(jù)庫(kù)的體系結(jié)構(gòu) 295
7.3.6 Redis數(shù)據(jù)庫(kù)的應(yīng)用場(chǎng)景 296
7.4 文檔數(shù)據(jù)庫(kù) 297
7.4.1 文檔存儲(chǔ)的概念 297
7.4.2 MongoDB數(shù)據(jù)庫(kù)的基本概念 297
7.4.3 MongoDB數(shù)據(jù)庫(kù)的管理 299
7.4.4 MongoDB數(shù)據(jù)庫(kù)的集群架構(gòu) 300
7.4.5 MongoDB數(shù)據(jù)庫(kù)的應(yīng)用場(chǎng)景 304
7.5 圖形數(shù)據(jù)庫(kù) 304
7.5.1 圖形數(shù)據(jù)模型 306
7.5.2 Neo4j圖形數(shù)據(jù)庫(kù) 309
7.5.3 Neo4j圖形數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu) 311
7.5.4 Neo4j數(shù)據(jù)庫(kù)的集群結(jié)構(gòu) 313
7.5.5 Neo4j數(shù)據(jù)庫(kù)的查詢語言CQL 314
7.6 NoSQL數(shù)據(jù)庫(kù)項(xiàng)目實(shí)踐 316
7.6.1 項(xiàng)目案例——成績(jī)管理系統(tǒng) 316
7.6.2 設(shè)計(jì)HBase數(shù)據(jù)庫(kù)表 317
7.6.3 安裝HBase數(shù)據(jù)庫(kù) 318
7.6.4 使用HBase Shell 318
7.6.5 操作HBase數(shù)據(jù)庫(kù) 320
習(xí)題 324
附錄 PostgreSQL數(shù)據(jù)庫(kù)系統(tǒng)實(shí)驗(yàn)項(xiàng)目 326
實(shí)驗(yàn)1 圖書銷售管理系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì) 326
實(shí)驗(yàn)2 圖書銷售管理系統(tǒng)數(shù)據(jù)庫(kù)的創(chuàng)建與數(shù)據(jù)訪問操作 327
實(shí)驗(yàn)3 圖書銷售管理系統(tǒng)數(shù)據(jù)庫(kù)后端編程 328
實(shí)驗(yàn)4 圖書銷售管理系統(tǒng)數(shù)據(jù)庫(kù)安全管理 329
實(shí)驗(yàn)5 圖書銷售管理系統(tǒng)數(shù)據(jù)庫(kù)應(yīng)用JSP訪問編程 330
參考文獻(xiàn) 332