本書基于MySQL介紹數據庫系統的基本概念、基本原理和基本設計方法,以面向工作過程的教學方法為導向,合理安排各章節的內容。本書突出適用性,減少了理論知識的介紹,并設計了大量的課堂實踐和課外拓展,符合高職高專教育的特點。
本書分為三篇,由9個項目組成。知識儲備(項目1、項目2)講述從理論層次設計數據庫;基礎應用(項目3~項目6)講述基于MySQL創建數據庫和數據庫的基本應用;高級應用(項目7~項目9)講述數據庫的高級應用和維護MySQL數據庫的安全。
本書可作為高職高專院校、成人教育類院校數據庫原理及應用課程的教材,也可供參加自學考試的人員、數據庫應用系統開發設計人員、工程技術人員及其他相關人員參閱。
1.本書配套資源豐富,并配微課視頻
2.以學生信息管理庫為案例,按“數據庫設計——>數據庫應用——>數據庫管理”的思路編寫本教材,學生學習時有整體概念
武洪萍在山東信息職業技術學院任教軟件系計算機軟件教研室主任。主持和參與了“高職院校計算機類數據庫原理及應用課程教學改革研究”(山東省教育廳)、“社保基金運行分析系統的開發研究”(濰坊市科技局)、“基于智能移動終端的電子商務連鎖銷售服務平臺”(山東省教育廳)等多項教科研課題的研究,其中主持的“高職院校計算機類數據庫原理及應用課程教學改革研究”(山東省教育廳)獲得了省級教學成果獎三等獎。
第 一篇 知識儲備
項目1 理解數據庫 2
任務1-1 理解數據處理 2
(一)信息與數據 2
(二)數據處理 3
任務1-2 理解數據描述 3
(一)現實世界 3
(二)信息世界 4
(三)數據世界 6
任務1-3 掌握數據模型 6
(一)數據模型分類 6
(二)概念模型 7
(三)數據模型的要素和種類 7
(四)關系模型 8
(五)關系的完整性 10
任務1-4 掌握關系代數 12
(一)傳統的集合運算 13
(二)專門的關系運算 14
任務1-5 明確數據庫系統的組成和結構 20
(一)數據庫相關概念 20
(二)數據庫系統的體系結構 22
任務1-6 了解數據管理技術的發展歷程 24
(一)人工管理階段 24
(二)文件系統階段 24
(三)數據庫系統階段 25
(四)分布式數據庫系統 25
(五)面向對象數據庫系統 26
(六)數據倉庫 26
(七)數據挖掘 27
(八)云計算與大數據 28
習題 29
項目2 設計學生信息管理數據庫 31
任務2-1 了解數據庫設計 31
任務2-2 需求分析 33
(一)需求分析的任務及目標 33
(二)需求分析的方法 34
任務2-3 概念結構設計 34
(一)概念結構設計的方法和步驟 35
(二)局部E-R模型設計 36
(三)全局E-R模型設計 37
任務2-4 邏輯結構設計 40
(一)初始關系模式設計 41
(二)關系模式的規范化 44
任務2-5 數據庫的物理設計 50
(一)關系模式存取方法選擇 50
(二)確定數據庫的存儲結構 52
任務2-6 數據庫的實施、運行和維護 52
(一)數據庫的實施 53
(二)數據庫的運行與維護 54
任務2-7 設計學生信息管理數據庫 54
(一)收集數據 55
(二)創建E-R模型 55
(三)設計關系模式 58
(四)規范化 59
實訓:設計數據庫 59
課外拓展:設計網絡玩具銷售系統 60
習題 61
第二篇 基礎應用
項目3 安裝與啟動MySQL 68
任務3-1 了解MySQL 68
(一)MySQL簡介 68
(二)MySQL版本信息 69
(三)MySQL工具 71
任務3-2 安裝與配置MySQL 5.7 72
(一)下載MySQL 72
(二)在Windows平臺下安裝與配置
MySQL 73
任務3-3 啟動與登錄MySQL 78
(一)啟動MySQL服務 78
(二)登錄MySQL 5.7 79
(三)配置PATH變量 81
(四)更改MySQL 5.7的配置 82
任務3-4 掌握MySQL常用圖形化
管理工具 85
實訓:安裝MySQL 5.7及Navicat for
MySQL 87
習題 87
項目4 創建與維護MySQL數據庫 88
任務4-1 認識SQL 88
任務4-2 了解MySQL數據庫 89
任務4-3 創建數據庫 91
(一)使用Navicat工具創建學生信息管理
數據庫 91
(二)使用CREATE DATABASE語句創建
學生信息管理數據庫 91
任務4-4 打開數據庫 92
任務4-5 刪除數據庫 92
(一)使用Navicat工具刪除學生信息管理
數據庫 93
(二)使用DROP DATABASE語句刪除
學生信息管理數據庫 93
任務4-6 理解MySQL數據庫的存儲引擎 93
實訓:創建和刪除數據庫 96
課外拓展:建立網絡玩具銷售系統 97
習題 97
項目5 創建與維護學生信息管理數據表 98
任務5-1 理解表的基本概念 98
任務5-2 了解MySQL數據類型 100
任務5-3 掌握列的其他屬性 102
任務5-4 設計學生信息管理數據庫的
表結構 103
任務5-5 創建表 105
(一)使用Navicat工具創建表 106
(二)使用CREATE TABLE語句創建表 107
任務5-6 維護表 110
(一)使用Navicat工具查看表結構 110
(二)使用DESCRIBE/DESC語句查看
表結構 111
(三)使用SHOW CREATE TABLE語句
查看詳細表結構 111
(四)使用SHOW TABLES語句
顯示表列表 112
任務5-7 修改表 112
(一)使用Navicat工具修改表結構 112
(二)使用ALTER TABLE語句修改表結構 113
任務5-8 在表中添加、查看、修改與
刪除數據記錄 114
任務5-9 復制表 115
(一)使用Navicat工具復制表 115
(二)使用SQL語句復制表 115
任務5-10 刪除表 115
(一)使用Navicat工具刪除表 115
(二)使用DROP TABLE語句刪除表 116
實訓:創建與管理表 116
課外拓展:創建與維護網絡玩具銷售
系統的數據表 119
習題 121
項目6 查詢與維護學生信息管理
數據表 123
任務6-1 掌握簡單數據查詢 123
(一)單表無條件數據查詢 125
(二)使用WHERE子句實現條件查詢 128
(三)使用常用聚集函數統計數據 133
(四)分組篩選數據 134
(五)對查詢結果進行排序 135
任務6-2 掌握多表連接查詢 136
(一)交叉連接 137
(二)內連接 137
(三)自連接 139
(四)外連接 139
任務6-3 理解嵌套查詢 140
(一)嵌套子查詢 140
(二)相關子查詢 143
任務6-4 理解集合查詢 144
任務6-5 學生信息瀏覽、查詢、統計 145
(一)學生信息瀏覽子系統 145
(二)學生信息查詢子系統 146
(三)學生信息統計子系統 147
任務6-6 數據更新 148
(一)數據記錄的插入 148
(二)數據記錄的修改 149
(三)數據記錄的刪除 150
任務6-7 學生基本信息維護和畢業
學生信息導出 151
(一)學生信息查詢及維護 151
(二)畢業學生信息導出 151
實訓:實現數據查詢 152
一、簡單查詢 152
二、分組與排序 153
三、多表連接查詢 154
四、嵌套查詢 155
五、數據更新 156
課外拓展:對網絡玩具銷售系統進行
數據查詢操作 156
習題 162
項目7 優化查詢學生信息管理數據庫 168
任務7-1 使用索引優化查詢性能 168
(一)索引概述 168
(二)索引的類型 169
(三)索引的設計原則 170
(四)使用Navicat工具創建索引 170
(五)使用SQL語句創建索引 172
(六)刪除索引 173
任務7-2 使用視圖優化查詢性能 173
(一)視圖概述 173
(二)使用Navicat工具創建視圖 174
(三)使用CREATE VIEW語句創建視圖 176
(四)視圖的使用 176
(五)視圖的修改 178
(六)視圖的刪除 178
實訓:索引、視圖的創建與管理使用 179
課外拓展:在網絡玩具銷售系統中使用
索引和視圖 181
習題 182
第三篇 高級應用
項目8 以程序方式處理學生信息
管理數據表 186
任務8-1 掌握SQL編程基礎 186
(一)SQL基礎 186
(二)SQL的流程控制 192
(三)MySQL常用函數 199
(四)游標 200
任務8-2 創建與使用存儲過程和存儲函數 202
(一)存儲過程和存儲函數概述 202
(二)創建存儲過程 203
(三)調用存儲過程 205
(四)創建存儲函數 206
(五)調用存儲函數 208
(六)查看存儲過程和存儲函數 208
(七)刪除存儲過程和存儲函數 209
任務8-3 創建和使用觸發器 210
(一)觸發器概述 210
(二)創建觸發器 210
(三)查看觸發器 214
(四)刪除觸發器 215
任務8-4 掌握事務、鎖的概念和應用 215
(一)事務概述 215
(二)事務的ACID特性 216
(三)事務的定義 216
(四)事務并發操作引起的問題 219
(五)事務隔離級別 221
(六)MySQL的鎖定機制 222
(七)活鎖和死鎖 224
實訓:以程序方式處理MySQL數據表
的數據 224
一、SQL基礎 224
二、存儲過程和存儲函數 225
三、觸發器 226
四、游標及事務的使用 227
課外拓展:針對網絡玩具銷售系統創建
存儲過程和觸發器 228
習題 229
項目9 維護學生信息管理數據庫
的安全性 231
任務9-1 了解MySQL的權限系統 231
(一)權限表 231
(二)MySQL權限系統的工作原理 235
任務9-2 管理數據庫用戶權限 237
(一)用戶管理 237
(二)權限管理 242
任務9-3 備份與恢復數據庫 246
(一)數據備份與恢復 247
(二)數據備份的方法 248
(三)數據恢復的方法 251
(四)數據庫遷移 253
(五)表的導入與導出 254
任務9-4 使用MySQL日志 262
(一)MySQL日志簡介 263
(二)二進制日志 263
(三)錯誤日志 266
(四)通用查詢日志 267
(五)慢查詢日志 267
實訓:維護MySQL數據庫的安全性 268
一、賬戶管理與權限管理 268
二、數據庫的備份與恢復 269
三、MySQL日志的綜合管理 270
課外拓展:備份和還原網絡玩具銷售系統 271
習題 272