MySQL數據庫設計與應用(慕課版)
趙曉俠 潘晟旻 寇衛利
相關主題
商品描述
本書以課程管理系統為主線,介紹數據庫基礎知識,MySQL操作環境、數據定義與數據操作、查詢與視圖、編程基礎和存儲程序、數據庫安全及管理等基礎知識,通過完成課程管理系統綜合案例介紹基於PHP的MySQL Web數據庫應用系統的開發過程。每章開始有知識結構思維導圖,並配有課程思政內容。
本書以建設一流課程為目標,與在線運行的MOOC資源相匹配,適合線上線下混合式教學使用。本書配有MOOC課程、源代碼、教學課件等資源,讀者可登錄人民郵電出版社官網(www.ryjiaoyu.com)下載。
本書可作為高等院校電腦基礎課程教材及相關專業MySQL數據庫課程參考用書,也適用於全國電腦等級考試二級科目—MySQL數據庫程序設計的備考及培訓。
作者簡介
赵晓侠,1965年6月生,昆明理工大学副教授,硕士生导师,毕业于昆明理工大学信息工程与自动化学院(原昆明工学院),获学士学位。1989—1994年在湖南长沙锌厂从事自动化仪表技术工作,1994年到昆明理工大学从事教学和科研工作至今。
主讲课程:大学计算机基础、网页设计与制作、Visual FoxPro数据库程序设计、微机组装与维护、MySQL数据库等多门课程。
编写教材:主编《Visual FoxPro数据库》,参编《微机组装与维护》、《大学计算机基础》、《Visual FoxPro数据库程序设计实验指导》等多部教材。
科研:主持建设校级精品课1项,主持建设完成慕课1项,在建校级“金课”1项,主讲的《MySQL数据库设计与应用》课程质量档次被我校评为国内一流课程,多次获得教学方面的奖励。
近五年来参与国家基金、省基金项目各1项,在其中承担数据处理的工作,近5年来公开发表论文8篇,专利软著15个。
目錄大綱
教材結構圖 1
第 1章 數據庫概述 2
1.1數據庫系統概述 3
1.1.1數據管理的發展 3
1.1.2數據庫系統組成 4
1.1.3數據庫技術發展的新方向 5
1.2數據模型 6
1.2.1數據模型概述 6
1.2.2概念模型及E-R圖 7
1.2.3數據模型的組成要素 9
1.2.4常用的數據模型 9
1.3關系模型 10
1.3.1關系數據結構 10
1.3.2關系的三類完整性 11
1.3.3關系代數 11
1.4關系數據庫設計 15
1.4.1數據庫設計概述 15
1.4.2需求分析 15
1.4.3概念結構設計 16
1.4.3邏輯結構設計 19
本章小結 22
第 1章習題 22
第 2章 初識MySQL 23
2.1 MySQL數據庫簡介 24
2.1.1 什麽是MySQL 24
2.1.2 MySQL特點 24
2.1.3 MySQL的獲取與安裝配置 25
2.2 WampServer的安裝與配置 30
2.2.1 MySQL圖形用戶管理工具 30
2.2.2 WAMP與LAMP簡介 31
2.2.3 WampServer的安裝及配置 32
2.3 MySQL的配置與管理 35
2.3.1 MySQL的字符集及字符序 36
2.3.2 MySQL的存儲引擎 38
2.3.3 MySQL的安全設置 40
2.4 MySQL客戶端使用 42
2.4.1 MySQL命令行界面 42
2.4.2 MySQL的PhpMyAdmin管理工具的使用 43
2.5數據庫設計案例 46
2.5.1 MySQL數據庫的Web應用概要 46
2.5.2 MySQL數據庫Web應用原生操作 47
本章小結 50
第 2章習題 50
第3章 數據定義與操作 51
3.1 MySQL數據庫操作 52
3.1.1創建數據庫 52
3.1.2選擇數據庫 53
3.1.3修改數據庫 53
3.1.4查看數據庫 53
3.1.5刪除數據庫 54
3.2 MySQL數據類型 54
3.2.1數值型 54
3.2.2日期時間型 55
3.2.3字符型 55
3.2.4 MySQL特殊字符系列 55
3.2.5 二進制類型 56
3.2.6選擇合適的數據類型 56
3.3 數據表操作 57
3.3.1設計表 57
3.3.2創建表 58
3.3.3查看數據表 60
3.3.4復製表 61
3.3.5修改表名 61
3.3.6刪除表 62
3.4修改表 62
3.4.1修改字段信息 63
3.4.2 修改約束條件 64
3.4.3修改表的其他選項 66
3.5 記錄操作 66
3.5.1 插入記錄 66
3.5.2 修改記錄 68
3.5.3 刪除記錄 68
3.6 索引 69
3.6.1 索引簡介 69
3.6.2 索引與約束 69
3.6.3 索引設計原則 70
3.6.4 創建索引 70
3.6.5 刪除索引 71
本章小結 71
第3章習題 72
第4章 MySQL數據查詢與視圖 73
4.1查詢概述 74
4.1.1 理解查詢 74
4.1.2 基本查詢語句 75
4.2 單表查詢 76
4.2.1 查詢所有字段的數據 76
4.2.2 查詢指定字段的數據 77
4.2.3 為查詢的列指定別名 77
4.2.4 去掉查詢結果的重復值 78
4.3 條件查詢 78
4.3.1 WHERE子句 78
4.3.2 IN運算符 80
4.3.3 BETWEEN AND運算符 81
4.3.4 LIKE運算符 82
4.3.5 IS NULL運算符 82
4.4 連接查詢 83
4.4.1 內連接查詢 84
4.4.2 外連接查詢 87
4.4.3 聯合查詢 88
4.4.4 自然連接 88
4.5 MySQL系統函數 89
4.5.1 聚合函數 89
4.5.2 數學函數 91
4.5.3 日期和時間函數 92
4.5.4 字符串函數 94
4.6 分組查詢 98
4.7 查詢結果排序 100
4.8 限制查詢結果的記錄數量 102
4.9 子查詢 103
4.9.1 使用標量子查詢 104
4.9.2 使用IN、ANY/SOME、ALL的子查詢 104
4.9.3 使用EXISTS的子查詢 106
4.9.4 在數據操作語句中使用子查詢 107
4.10 查詢結果的去向 109
4.10.1 查詢結果輸出到變量 109
4.10.2 查詢結果輸出到文件 109
4.11 視圖 111
4.11.1 視圖概述 111
4.11.2 創建和操作視圖 111
4.11.3 操作視圖數據 114
4.11.4 刪除視圖 116
本章小結 116
第4章習題 117
第5章 MySQL編程基礎 118
5.1 MySQL編程概述 119
5.2 常量和變量 119
5.2.1 常量 119
5.2.2 系統變量 120
5.2.3 用戶自定義變量 122
5.2.4 DELIMITER與BEGIN-END語句塊 123
5.3運算符與表達式 124
5.3.1 算術運算 124
5.3.2 關系運算 125
5.3.3 邏輯運算 126
5.3.4 位運算 126
5.3.5 運算符優先級 126
5.4 流程控制語句 127
5.4.1 選擇語句IF和CASE 127
5.4.2 循環控制語句 130
5.4.3 循環與游標 134
本章小結 137
第5章習題 137
第6章 存儲程序 138
6.1存儲程序介紹 139
6.1.1存儲程序概念 139
6.1.2存儲程序分類 140
6.2創建和調用存儲過程 141
6.2.1創建和調用存儲過程 141
6.2.2存儲過程的參數模式 142
6.2.3存儲過程返回結果集 144
6.2.4存儲過程的安全上下文 144
6.3創建和調用存儲函數 145
6.3.1創建和調用存儲函數 145
6.3.2存儲過程和存儲函數的差異 146
6.3.3存儲過程和存儲函數的共同特性 147
6.4管理存儲例程 148
6.4.1查看存儲例程的狀態和定義 148
6.4.2刪除存儲例程 149
6.4.3修改存儲例程的定義 149
6.4.4修改存儲例程的特性 149
6.4.5授權執行存儲例程 149
6.5在存儲程序中使用游標和事務 150
6.5.1在存儲程序中使用游標 150
6.5.2在存儲過程中使用事務 152
6.6觸發器 153
6.6.1創建觸發器 153
6.6.2查看觸發器的定義 157
6.6.3刪除觸發器 157
6.7用事件定時執行任務 158
6.7.1事件的概念和基本屬性 158
6.7.2創建事件 159
6.7.3查看事件的定義 160
6.7.4修改事件的屬性和定義 160
6.7.5刪除事件 161
6.8課程管理系統中的存儲程序 161
6.8.1對選課業務邏輯的討論 161
6.8.2選課業務中的存儲函數應用 162
6.8.3選課業務中的存儲過程應用 163
6.8.4選課業務中的觸發器應用 165
本章小結 165
第6章習題 166
第7章 數據庫管理及安全 167
7.1用戶管理 168
7.1.1增加用戶 168
7.1.2更新用戶 169
7.2權限管理 170
7.2.1權限概念 170
7.2.2管理權限 173
7.3日誌文件 174
7.3.1錯誤日誌文件 175
7.3.2二進制日誌文件 175
7.3.3通用查詢日誌文件 176
7.3.4慢查詢日誌文件 177
7.4備份與恢復 177
7.4.1備份的概念 177
7.4.2 MySQL數據備份 178
7.4.3 MySQL數據恢復 179
7.5事務處理 180
7.5.1事務概念 180
7.5.2 MySQL事務處理 181
7.5.3事務的隔離與鎖機制 182
本章小結 184
第7章習題 184
第8章 基於PHP的MySQL Web應用 186
8.1 PHP概述 188
8.1.1 PHP是什麽 188
8.1.2 B/S PHP工作機理 189
8.1.3 PHP簡明語法入門 190
8.2 PHP的MySQL數據庫連接 194
8.2.1 以PHP的MySQL擴展連接數據庫 194
8.2.2 以PHP的mysqli擴展連接數據庫 196
8.2.3 PHP的PDO方式連接數據庫 197
8.3使用PHP實現MySQL數據庫級操作 198
8.3.1利用PHP列舉數據庫 198
8.3.2利用PHP創建及刪除數據庫 201
8.4使用PHP實現MySQL數據表級操作 202
8.4.1利用PHP查詢數據 202
8.4.2利用PHP實現對數據的增刪改 204
8.5 MySQL Web應用實例 205
8.5.1 Dreamweaver在MySQL Web開發中的應用 205
8.5.2 MySQL Web應用規劃與設計概要 210
本章小結 212
第8章習題 212
第9章 課程管理系統綜合實例 213
9.1課程管理系統需求分析 213
9.1.1功能性需求 213
9.1.2非功能性需求 214
9.2系統設計 215
9.3 詳細設計 216
9.3.1數據庫設計 216
9.4 系統實現 218
9.4.1通用模塊實現 218
9.4.2學生子系統實現 226
9.4.3教師子系統實現 239
9.5課程管理系統的運行與測試 277
9.5.1 學生用戶的功能運行 277
9.5.2 教師用戶的功能運行 279
本章小結 282
參考文獻 283