定 價:45 元
叢書名:工業(yè)和信息化普通高等教育“十二五”規(guī)劃教材 21世紀高等教育計算機規(guī)劃教材
- 作者:孔祥盛 編
- 出版時間:2014/6/1
- ISBN:9787115353382
- 出 版 社:人民郵電出版社
- 中圖法分類:TP311.138
- 頁碼:319
- 紙張:膠版紙
- 版次:1
- 開本:16K
作為世界上最受歡迎的開源數據庫之一,MySQL由于其性能優(yōu)越、功能強大,受到了廣大自由軟件愛好者甚至是商業(yè)軟件用戶的青睞。本書以講解MySQL基礎知識為目標,以案例的實現(xiàn)為載體,以不同的章節(jié)完成不同的任務為理念,深入講解關系數據庫設計、MySQL基礎知識以及MySQL編程知識。
本書內容豐富、講解深入,適用于初學者快速上手,特別適合用作各類院校相關專業(yè)的教材。本書入門門檻低,非常適合用作培訓機構的培訓教材,也適用于計算機二級考試MySQL 數據庫程序設計的培訓教材,同時也是一本面向廣大MySQL愛好者的實用參考書。
1、滿足計算機等級考試二級MySQL的需求
2、網上選課系統(tǒng)開發(fā)貫穿全書,并包括所有知識點
3、注重軟件工程在數據庫中的應用
目 錄
第一篇 關系數據庫設計
第1章 數據庫設計概述 2
1.1 數據庫概述 2
1.1.1 關系數據庫管理系統(tǒng) 2
1.1.2 關系數據庫 3
1.1.3 結構化查詢語言SQL 4
1.2 數據庫設計的相關知識 5
1.2.1 商業(yè)知識和溝通技能 5
1.2.2 數據庫設計輔助工具 6
1.2.3 “選課系統(tǒng)”概述 7
1.2.4 定義問題域 8
1.2.5 編碼規(guī)范 8
1.3 E-R圖 9
1.3.1 實體和屬性 10
1.3.2 關系 10
1.3.3 E-R圖的設計原則 12
1.4 關系數據庫設計 15
1.4.1 為每個實體建立一張數據庫表 15
1.4.2 為每張表定義一個主鍵 16
1.4.3 增加外鍵表示一對多關系 17
1.4.4 建立新表表示多對多關系 19
1.4.5 為字段選擇合適的數據類型 20
1.4.6 定義約束(constraint)條件 20
1.4.7 評價數據庫表設計的質量 22
1.4.8 使用規(guī)范化減少數據冗余 22
1.4.9 避免數據經常發(fā)生變化 26
習題 28
第二篇 MySQL基礎
第2章 MySQL基礎知識 30
2.1 MySQL概述 30
2.1.1 MySQL的特點 30
2.1.2 MySQL服務的安裝 32
2.1.3 MySQL服務的配置 35
2.1.4 啟動與停止MySQL服務 40
2.1.5 MySQL配置文件 41
2.1.6 MySQL客戶機 42
2.1.7 連接MySQL服務器 43
2.2 字符集以及字符序設置 45
2.2.1 字符集及字符序概念 45
2.2.2 MySQL字符集與字符序 45
2.2.3 MySQL字符集的轉換過程 47
2.2.4 MySQL字符集的設置 48
2.2.5 SQL腳本文件 49
2.3 MySQL數據庫管理 50
2.3.1 創(chuàng)建數據庫 50
2.3.2 查看數據庫 51
2.3.3 顯示數據庫結構 52
2.3.4 選擇當前操作的數據庫 52
2.3.5 刪除數據庫 52
2.4 MySQL表管理 53
2.4.1 MyISAM和InnoDB存儲引擎 53
2.4.2 設置默認的存儲引擎 54
2.4.3 創(chuàng)建數據庫表 54
2.4.4 顯示表結構 55
2.4.5 表記錄的管理 56
2.4.6 InnoDB表空間 59
2.4.7 刪除表 61
2.5 系統(tǒng)變量 61
2.5.1 全局系統(tǒng)變量與會話系統(tǒng)變量 61
2.5.2 查看系統(tǒng)變量的值 62
2.5.3 設置系統(tǒng)變量的值 64
2.6 MySQL數據庫備份和恢復 65
習題 67
第3章 MySQL表結構的管理 68
3.1 MySQL數據類型 68
3.1.1 MySQL整數類型 68
3.1.2 MySQL小數類型 69
3.1.3 MySQL字符串類型 70
3.1.4 MySQL日期類型 71
3.1.5 MySQL復合類型 73
3.1.6 MySQL二進制類型 75
3.1.7 選擇合適的數據類型 75
3.2 創(chuàng)建表 76
3.2.1 設置約束 77
3.2.2 設置自增型字段 81
3.2.3 其他選項的設置 81
3.2.4 創(chuàng)建“選課系統(tǒng)”數據庫表 82
3.2.5 復制一個表結構 83
3.3 修改表結構 84
3.3.1 修改字段相關信息 84
3.3.2 修改約束條件 85
3.3.3 修改表的其他選項 87
3.3.4 修改表名 87
3.4 刪除表 87
3.5 索引 88
3.5.1 理解索引 88
3.5.2 索引關鍵字的選取原則 91
3.5.3 索引與約束 92
3.5.4 創(chuàng)建索引 93
3.5.5 刪除索引 94
習題 95
第4章 表記錄的更新操作 96
4.1 表記錄的插入 96
4.1.1 使用insert語句插入新記錄 96
4.1.2 更新操作與字符集 99
4.1.3 關于自增型字段 100
4.1.4 批量插入多條記錄 100
4.1.5 使用insert…select插入結果集 101
4.1.6 使用replace插入新記錄 102
4.2 表記錄的修改 103
4.3 表記錄的刪除 103
4.3.1 使用delete刪除表記錄 103
4.3.2 使用truncate清空表記錄 104
4.4 MySQL特殊字符序列 106
習題 108
第5章 表記錄的檢索 109
5.1 select語句概述 109
5.1.1 使用select子句指定字段列表 110
5.1.2 使用謂詞過濾記錄 111
5.1.3 使用from子句指定數據源 112
5.1.4 多表連接 115
5.2 使用where子句過濾結果集 116
5.2.1 使用單一的條件過濾結果集 116
5.2.2 is NULL運算符 117
5.2.3 select語句與字符集 118
5.2.4 使用邏輯運算符 119
5.2.5 使用like進行模糊查詢 121
5.3 使用order by子句對結果集排序 122
5.4 使用聚合函數匯總結果集 123
5.5 使用group by子句對記錄分組統(tǒng)計 125
5.5.1 group by子句與聚合函數 125
5.5.2 group by子句與having子句 126
5.5.3 group by子句與group_concat()函數 127
5.5.4 group by子句與with rollup選項 127
5.6 合并結果集 128
5.7 子查詢 129
5.7.1 子查詢與比較運算符 129
5.7.2 子查詢與in運算符 131
5.7.3 子查詢與exists邏輯運算符 132
5.7.4 子查詢與any運算符 133
5.7.5 子查詢與all運算符 133
5.8 選課系統(tǒng)綜合查詢 134
5.9 使用正則表達式模糊查詢 138
5.10 全文檢索 139
5.10.1 全文檢索的簡單應用 140
5.10.2 全文檢索方式 144
5.10.3 布爾檢索模式的復雜應用 144
5.10.4 MySQL全文檢索的注意事項 146
5.10.5 InnoDB表的全文檢索 146
習題 147
第三篇 MySQL編程
第6章 MySQL編程基礎 150
6.1 MySQL編程基礎知識 150
6.1.1 常量 150
6.1.2 用戶自定義變量 152
6.1.3 運算符與表達式 157
6.1.4 begin-end語句塊 159
6.1.5 重置命令結束標記 160
6.2 自定義函數 160
6.2.1 創(chuàng)建自定義函數的語法格式 160
6.2.2 函數的創(chuàng)建與調用 161
6.2.3 函數的維護 163
6.2.4 條件控制語句 165
6.2.5 循環(huán)語句 167
6.3 系統(tǒng)函數 171
6.3.1 數學函數 171
6.3.2 字符串函數 173
6.3.3 數據類型轉換函數 180
6.3.4 條件控制函數 180
6.3.5 系統(tǒng)信息函數 182
6.3.6 日期和時間函數 183
6.3.7 其他常用的MySQL函數 189
6.4 中文全文檢索的模擬實現(xiàn) 191
習題 193
第7章 視圖與觸發(fā)器 195
7.1 視圖 195
7.1.1 創(chuàng)建視圖 195
7.1.2 查看視圖的定義 196
7.1.3 視圖在“選課系統(tǒng)”中的應用 197
7.1.4 視圖的作用 198
7.1.5 刪除視圖 199
7.1.6 檢查視圖 199
7.1.7 local與cascade檢查視圖 200
7.2 觸發(fā)器 201
7.2.1 準備工作 202
7.2.2 使用觸發(fā)器實現(xiàn)檢查約束 203
7.2.3 使用觸發(fā)器維護冗余數據 204
7.2.4 使用觸發(fā)器模擬外鍵級聯(lián)選項 205
7.2.5 查看觸發(fā)器的定義 206
7.2.6 刪除觸發(fā)器 207
7.2.7 使用觸發(fā)器的注意事項 207
7.3 臨時表 208
7.3.1 臨時表概述 208
7.3.2 臨時表的創(chuàng)建、查看與刪除 208
7.3.3 “選課系統(tǒng)”中臨時表的使用 209
7.3.4 使用臨時表的注意事項 210
7.4 派生表(derived table) 211
7.5 子查詢、視圖、臨時表、派生表 211
習題 213
第8章 存儲過程與游標 214
8.1 存儲過程 214
8.1.1 創(chuàng)建存儲過程的語法格式 214
8.1.2 存儲過程的調用 215
8.1.3 “選課系統(tǒng)”的存儲過程 216
8.1.4 查看存儲過程的定義 220
8.1.5 刪除存儲過程 221
8.1.6 存儲過程與函數的比較 222
8.2 錯誤觸發(fā)條件和錯誤處理 223
8.2.1 自定義錯誤處理程序 223
8.2.2 自定義錯誤觸發(fā)條件 225
8.2.3 自定義錯誤處理程序說明 226
8.3 游標 226
8.3.1 使用游標 226
8.3.2 游標在“選課系統(tǒng)”中的使用 227
8.4 預處理SQL語句 229
8.4.1 預處理SQL語句使用步驟 229
8.4.2 “選課系統(tǒng)”中預處理SQL語句的使用 230
8.4.3 預處理SQL語句的復雜應用 231
8.4.4 靜態(tài)SQL語句與預處理SQL語句 233
8.5 存儲程序的說明 234
習題 234
第9章 事務機制與鎖機制 235
9.1 事務機制 235
9.1.1 事務機制的必要性 235
9.1.2 關閉MySQL自動提交 237
9.1.3 回滾 237
9.1.4 提交 239
9.1.5 事務 240
9.1.6 保存點 241
9.1.7 “選課系統(tǒng)”中的事務 243
9.2 鎖機制 246
9.2.1 鎖機制的必要性 246
9.2.2 MySQL鎖機制的基礎知識 248
9.2.3 MyISAM表的表級鎖 250
9.2.4 InnoDB表的行級鎖 253
9.2.5 “選課系統(tǒng)”中的行級鎖 255
9.2.6 InnoDB表的意向鎖 257
9.2.7 InnoDB行級鎖與索引之間的關系 258
9.2.8 間隙鎖與死鎖 261
9.2.9 死鎖與鎖等待 262
9.3 事務的ACID特性 264
9.3.1 事務的ACID特性 264
9.3.2 事務的隔離級別與并發(fā)問題 265
9.3.3 設置事務的隔離級別 266
9.3.4 使用間隙鎖避免幻讀現(xiàn)象 271
9.4 事務與鎖機制注意事項 272
習題 273
第四篇 綜合實訓
第10章 網上選課系統(tǒng)的開發(fā) 276
10.1 PHP預備知識 276
10.1.1 為何選用B/S結構以及PHP腳本語言 276
10.1.2 PHP腳本語言概述 277
10.1.3 PHP腳本程序的工作流程 278
10.1.4 Web服務器的部署 280
10.1.5 注意事項 282
10.2 軟件開發(fā)生命周期SDLC 283
10.3 網上選課系統(tǒng)的系統(tǒng)規(guī)劃 283
10.3.1 網上選課系統(tǒng)的目標 284
10.3.2 網上選課系統(tǒng)的可行性分析 284
10.3.3 網上選課系統(tǒng)的項目進度表 284
10.3.4 網上選課系統(tǒng)的人員分工 285
10.4 網上選課系統(tǒng)的系統(tǒng)分析 286
10.4.1 網上選課系統(tǒng)的功能需求分析 286
10.4.2 網上選課系統(tǒng)的非功能需求分析 288
10.5 網上選課系統(tǒng)的系統(tǒng)設計 288
10.6 網上選課系統(tǒng)的系統(tǒng)實施 290
10.6.1 準備工作 290
10.6.2 制作PHP連接MySQL服務器函數 291
10.6.3 制作PHP權限系統(tǒng)函數 293
10.6.4 首頁index.php的開發(fā) 294
10.6.5 教師注冊模塊的開發(fā) 295
10.6.6 登錄模塊的開發(fā) 298
10.6.7 注銷模塊的開發(fā) 300
10.6.8 添加班級模塊的開發(fā) 300
10.6.9 學生注冊模塊的開發(fā) 301
10.6.10 密碼重置模塊 303
10.6.11 申報課程模塊 304
10.6.12 課程列表顯示模塊 305
10.6.13 審核申報課程 307
10.6.14 取消已審核課程 308
10.6.15 瀏覽自己申報的課程 309
10.6.16 刪除課程 310
10.6.17 學生選修或者調換已經審核的課程 310
10.6.18 查看自己選修的課程 311
10.6.19 取消選修課程 312
10.6.20 查看課程的學生信息列表 313
10.6.21 查看選修人數少于30人的課程信息 314
10.7 界面設計與MVC模式 315
10.8 網上選課系統(tǒng)的測試 317
習題 318
參考文獻 319