數據庫原理與應用
許薇 黃燦輝 劉雲香 鄭冬花 林樹青 賀琳
商品描述
作者簡介
目錄大綱
目錄
第一篇數據庫系統概念
第1章數據庫系統概述/5
1.1數據庫基礎概念和數據庫技術發展5
1.1.1數據庫基本概念5
1.1.2數據庫技術發展9
1.2數據庫系統的組成和分類12
1.2.1數據庫系統的組成12
1.2.2數據庫系統的分類13
1.3數據庫系統的體系結構16
1.3.1數據庫系統的內部體系結構16
1.3.2數據庫系統的外部體系結構18
1.4數據庫描述的三個領域21
1.4.1現實世界21
1.4.2信息世界22
1.4.3計算機世界23
1.5 數據庫領域新技術27
1.5.1分布式數據庫27
1.5.2數據倉庫與數據挖掘28
1.5.3大數據技術32
本章小結33
習題一33
第2章關系數據庫/35
2.1關系的形式及其性質35
2.1.1 關系的形式化定義35
2.1.2關系的性質37
2.2關系模式與關系數據庫模式38
2.2.1關系模式38
2.2.2關系數據庫模式39
2.3關系的碼和關系的完整性392.3.1關系的碼39
2.3.2關系的完整性40
2.3.3完整性規則41
2.3.4完整性實現要考慮的問題42
本章小結43
習題二44
第二篇數據庫操作
第3章SQL的基本概念和MySQL簡介/493.1SQL的基本概念49
3.1.1SQL的主要特點50
3.1.2SQL的分類50
3.2MySQL簡介51
3.2.1MySQL的發展和版本52
3.2.2MySQL的主要組件53
3.2.3MySQL的下載和安裝56
3.2.4MySQL管理工具60
本章小結61
習題三61
第4章數據庫的創建和管理/62
4.1MySQL數據庫的存儲引擎62
4.1.1存儲引擎概述62
4.1.2InnoDB存儲引擎62
4.1.3MyISAM存儲引擎65
4.1.4Memory存儲引擎66
4.1.5其他存儲引擎67
4.1.6MySQL數據庫存儲引擎的選擇68
4.2MySQL數據庫的存儲字符集69
4.2.1MySQL數據庫字符集概述69
4.2.2MySQL數據庫字符集設置71
4.2.3MySQL數據庫字符集常見問題74
4.3MySQL數據庫管理75
4.3.1創建數據庫75
4.3.2查看數據庫76
4.3.3修改數據庫77
4.3.4刪除數據庫77
本章小結78
習題四78
第5章數據表的管理和表中數據操縱/81
5.1MySQL數據類型81
5.1.1數值類型81
5.1.2字符串類型83
5.1.3時間日期類型85
5.1.4二進制類型86
5.1.5其他類型87
5.2MySQL數據表管理89
5.2.1創建數據表90
5.2.2定義表的約束90
5.2.3修改數據表93
5.2.4刪除數據表96
5.2.5查看數據表97
5.3數據表中數據的操縱98
5.3.1向表中添加數據98
5.3.2修改數據表中的數據102
5.3.3刪除數據表中的數據104
本章小結106
習題五106
第6章數據表中的數據查詢/108
6.1單關系數據查詢108
6.1.1單關系數據查詢結構110
6.1.2無條件查詢110
6.1.3條件查詢113
6.1.4聚合函數查詢120
6.1.5分組查詢121
6.1.6查詢結果排序123
6.1.7限制查詢結果數量124
6.2多關系數據查詢127
6.2.1多關系數據查詢結構128
6.2.2內連接查詢128
6.2.3外連接查詢130
6.2.4交叉連接查詢133
6.2.5自連接查詢134
6.3子查詢136
6.3.1普通子查詢136
6.3.2相關子查詢142
6.4集合運算查詢145
本章小結149
習題六150
第三篇數據庫優化和管理
第7章視圖和索引/1577.1視圖157
7.1.1視圖概述157
7.1.2視圖的作用158
7.1.3視圖的工作機制158
7.2MySQL視圖管理159
7.2.1創建視圖159
7.2.2查看視圖的定義162
7.2.3修改視圖的定義163
7.2.4刪除視圖165
7.2.5更新視圖的數據165
7.3索引167
7.3.1索引的作用167
7.3.2索引類型168
7.3.3索引設置原則170
7.4MySQL索引管理171
7.4.1創建索引171
7.4.2查看索引172
7.4.3刪除索引172
本章小結173
習題七174
第8章數據庫安全性管理/176
8.1數據庫安全性概述176
8.1.1數據庫安全性的含義176
8.1.2數據庫安全性控制的一般方法177
8.2MySQL權限系統181
8.2.1MySQL權限管理181
8.2.2MySQL權限管理相關表182
8.3MySQL用戶管理185
8.3.1添加用戶185
8.3.2查看用戶185
8.3.3重命名用戶186
8.3.4修改用戶密碼187
8.3.5刪除用戶188
8.4MySQL權限授予和回收189
8.4.1MySQL常見權限189
8.4.2權限授予191
8.4.3權限查看192
8.4.4權限回收193
8.4.5權限轉移193
8.5MySQL角色管理194
8.5.1MySQL角色管理概述194
8.5.2MySQL角色創建及授權195
8.5.3MySQL角色分配及激活195
8.5.4MySQL角色查看197
8.5.5MySQL角色撤銷198
本章小結199
習題八200
第9章數據庫並發控制與封鎖/202
9.1數據庫並發性的含義202
9.2事務及其性質202
9.2.1事務的概念203
9.2.2事務的性質204
9.3並發控制與數據不一致性205
9.3.1丟失修改206
9.3.2讀“臟”數據206
9.3.3不可重復讀207
9.3.4幻影讀207
9.4事務的隔離級別208
9.4.1讀取未提交的數據208
9.4.2讀取提交的數據208
9.4.3可重復讀208
9.4.4串行化209
9.5封鎖及封鎖協議209
9.5.1封鎖粒度209
9.5.2封鎖類型210
9.5.3封鎖協議210
9.5.4死鎖與活鎖214
本章小結217
習題九217
第10章數據庫備份還原和日誌管理/219
10.1備份和還原219
10.1.1備份和還原概述220
10.1.2備份和還原的方法220
10.2MySQL數據庫備份222
10.2.1使用mysqldump命令備份222
10.2.2使用工具備份224
10.3MySQL數據庫還原225
10.3.1使用命令進行數據庫還原225
10.3.2使用工具進行數據庫還原226
10.4MySQL數據庫遷移226
10.4.1MySQL同類型數據庫遷移227
10.4.2MySQL和其他數據庫管理系統間的數據庫遷移227
10.5數據庫導出和導入228
10.5.1使用SQL語句導出和導入文件228
10.5.2使用命令導出和導入文件229
10.6MySQL日誌管理230
10.6.1日誌的類型230
10.6.2日誌的作用231
10.6.3錯誤日誌管理232
10.6.4二進制日誌管理233
10.6.5慢查詢日誌管理235
10.6.6通用日誌管理236
本章小結237
習題十237
第四篇數據庫設計
第11章數據庫設計概述及需求分析/24311.1數據庫設計概述243
11.1.1數據庫設計的任務和內容243
11.1.2數據庫設計方法245
11.2數據庫設計各階段的主要工作245
11.3數據庫設計案例概述及關鍵業務描述246
11.3.1案例概述246
11.3.2案例關鍵業務描述247
11.4需求分析的任務和方法論247
11.4.1需求分析的任務248
11.4.2需求分析的方法論248
11.5案例的需求分析249
11.5.1數據流圖249
11.5.2數據字典252
11.5.3案例的需求分析253
本章小結256
習題十一257
第12章關系模式的規範化理論/258
12.1規範化的內容和常見異常問題258
12.1.1規範化的內容258
12.1.2不合理的關系模式存在的異常問題259
12.2函數依賴260
12.2.1函數依賴的定義260
12.2.2函數依賴的類型262
12.2.3案例的函數依賴分析265
12.3範式266
12.3.1範式的提出266
12.3.2第一範式267
12.3.3第二範式269
12.3.4第三範式270
12.3.5BC範式271
12.3.6關系模式的規範化過程272
12.3.7關系模式的規範化的要求277
本章小結278
習題十二278
第13章數據庫概念結構設計和邏輯結構設計/280
13.1概念結構設計280
13.1.1概念結構設計的主要任務和必要性280
13.1.2概念模型的ER圖表示方式281
13.1.3概念結構設計的步驟284
13.1.4局部ER圖設計284
13.1.5案例的局部ER圖設計285
13.1.6全局ER圖設計286
13.1.7案例的全局ER圖設計286
13.2邏輯結構設計288
13.2.1邏輯結構設計的任務步驟288
13.2.2初始關系模式轉換原則和具體做法289
13.2.3數據模型優化290
13.2.4關系模式的評價和改進290
13.2.5案例的邏輯結構設計291
本章小結291
習題十三292
第14章數據庫物理結構設計、實施和運行維護/294
14.1數據庫物理結構設計294
14.1.1數據庫物理結構設計的任務步驟294
14.1.2數據庫物理結構設計的內容和方法295
14.1.3確定物理結構295
14.1.4評價物理結構296
14.1.5案例的物理結構設計296
14.2數據庫實施及運行維護297
14.2.1數據庫實施297
14.2.2數據庫運行和維護298
本章小結299
習題十四299
第五篇數據庫編程
第15章存儲過程與存儲函數/30515.1MySQL存儲過程與存儲函數305
15.1.1存儲過程與存儲函數概述305
15.1.2存儲過程的優點306
15.1.3存儲過程與存儲函數的比較306
15.2MySQL編程基礎307
15.2.1註釋、定界符與語句塊307
15.2.2變量的定義和使用308
15.2.3運算符與表達式312
15.2.4流程控制語句315
15.3MySQL常用內置函數318
15.3.1數學函數318
15.3.2字符串函數319
15.3.3日期和時間函數320
15.3.4系統信息函數322
15.3.5聚合與統計函數322
15.3.6加密函數323
15.3.7其他函數323
15.4MySQL存儲過程的使用324
15.4.1創建存儲過程325
15.4.2調用存儲過程327
15.4.3查看存儲過程329
15.4.4修改存儲過程329
15.4.5刪除存儲過程329
15.4.6存儲過程的參數330
15.5MySQL用戶自定義函數330
15.5.1創建函數330
15.5.2調用自定義函數331
15.5.3函數的維護管理331
15.6遊標的使用333
本章小結335
習題十五336
第16章觸發器和事件/337
16.1MySQL觸發器337
16.1.1觸發器概述337
16.1.2創建觸發器338
16.1.3查看觸發器339
16.1.4刪除觸發器340
16.2MySQL事件341
16.2.1事件概述341
16.2.2創建事件341
16.2.3查看事件343
16.2.4修改事件343
本章小結344
習題十六344
第17章綜合案例——網上選課系統的開發與設計/346
17.1網上選課系統的目標346
17.2網上選課系統的可行性分析347
17.3網上選課系統的系統分析348
17.3.1網上選課系統的功能需求分析348
17.3.2網上選課系統的非功能需求分析349
17.4網上選課系統的系統設計350
17.4.1網上選課系統的概念結構設計350
17.4.2網上選課系統的邏輯結構設計351
17.4.3網上選課系統的物理結構設計354
17.4.4網上選課系統的系統實施356
17.5網上選課系統的測試360
本章小結362
參考文獻/363
附錄AMySQL實驗指導/364實驗一數據庫的創建和管理364
實驗二數據表的創建和數據操縱370
實驗三數據表中的數據查詢380
實驗四視圖和索引的管理390
實驗五數據庫安全性管理395
實驗六MySQL備份和還原400
實驗七綜合案例——網上選課系統的設計405