本書以任務驅動、案例教學為主要教學方式, 全面講解MySQL基礎知識以及MySQL5.6新特性, InnoDB全文檢索、觸發(fā)器、存儲過程、函數(shù)、事務、鎖等概念, 全部融入該案例。本書盡量將抽象問題形象化、圖形化, 復雜問題簡單化。即便讀者沒有任何數(shù)據(jù)庫基礎, 也絲毫不會影響數(shù)據(jù)庫知識的學習。
本書采用任務驅動的教學方式,全書貫穿一個完整的MySQL系統(tǒng)開發(fā)案例,并針對各章的知識點設計15個課堂實踐,方便學生練習和鞏固。
本書從數(shù)據(jù)庫技術的實際應用出發(fā),以任務驅動、案例教學為主要教學方式,旨在突出應用型本科和高等職業(yè)教育特點,注重培養(yǎng)讀者適應信息化社會要求的數(shù)據(jù)處理能力。本書以提高應用能力為目的,以實際應用案例為主線,具有實例引導、項目驅動的特點,在分析實例的基礎上,展開具體實現(xiàn)的過程,使讀者切實感受到現(xiàn)實工作的實際需求,充分激發(fā)讀者的學習主動性,使讀者熟練掌握數(shù)據(jù)庫應用的基本知識和技術,提高分析問題、解決問題的能力,提高自主學習能力和獲取計算機新知識、新技術的能力。
本書凝結了編者從事數(shù)據(jù)庫教學與開發(fā)方面的經(jīng)驗,根據(jù)高等職業(yè)教育“必需、夠用”的原則和讀者的特點,按照讀者的認知過程編排內容,由淺入深,詳略得當。概念、方法、步驟都用實例說明,易于理解。對于數(shù)據(jù)庫各種對象的創(chuàng)建方法和步驟,僅在重要處詳細介紹,其他地方從略。
本書系統(tǒng)、全面地介紹了MySQL的實用技術,具有概念清晰、系統(tǒng)全面、精講多練、實用性強和突出技能培訓等特點。全書從數(shù)據(jù)庫的規(guī)范化設計開始,通過大量豐富、實用、前后銜接的數(shù)據(jù)庫項目來完整地介紹MySQL數(shù)據(jù)庫技術,可以使讀者由淺入深、全面、系統(tǒng)地掌握MySQL數(shù)據(jù)庫管理系統(tǒng)及其應用開發(fā)的相關知識。本書圍繞“教務管理系統(tǒng)”的實施與管理展開,以理論聯(lián)系實際的方式,從具體問題分析開始,在解決問題的過程中講解知識,介紹操作技能。全書共包含15個課堂實踐。基本實踐任務(數(shù)據(jù)庫的創(chuàng)建與管理,表的創(chuàng)建與管理)側重于數(shù)據(jù)庫的應用,面向數(shù)據(jù)庫管理員崗位;主要實踐任務(數(shù)據(jù)查詢,存儲過程和觸發(fā)器等)側重于數(shù)據(jù)高級查詢和編程,面向應用軟件開發(fā)人員。全書的示例均使用SQL語句實施和管理。
本書可作為應用型本科、高等職業(yè)教育、高等專科教育、成人教育及各類培訓機構的數(shù)據(jù)庫技術教材,也可作為各應用領域數(shù)據(jù)庫管理和開發(fā)人員的參考書。
本書由卜耀華、石玉芳編著。許多老師對本書提出了寶貴意見,給予了熱情幫助,在此向他們表示感謝。
由于編者水平有限,書中難免有不妥之處,望讀者予以指正。
本書的PPT課件等配套資源可以從清華大學出版社網(wǎng)站www.tup.com.cn下載。有關本書及課件使用中的問題和建議,請聯(lián)系fuhy@tup.tsinghua.edu.cn。
編者
2017年1月
第1章數(shù)據(jù)庫技術基礎
1.1數(shù)據(jù)庫系統(tǒng)概述
1.1.1數(shù)據(jù)庫的概念
1.1.2數(shù)據(jù)管理技術的產生和發(fā)展
1.1.3數(shù)據(jù)庫系統(tǒng)的特點
1.2數(shù)據(jù)模型
1.2.1數(shù)據(jù)處理的三個世界
1.2.2實體間的聯(lián)系
1.2.3數(shù)據(jù)模型的分類
1.2.4關系模型的規(guī)范化
1.2.5關系運算
1.3數(shù)據(jù)庫系統(tǒng)結構
1.3.1數(shù)據(jù)庫系統(tǒng)的三級模式結構
1.3.2數(shù)據(jù)庫系統(tǒng)的二級映像
1.4數(shù)據(jù)庫設計基礎
1.4.1設計原則
1.4.2設計步驟
1.5需求分析
1.5.1需求分析的任務
1.5.2需求分析的方法
1.5.3數(shù)據(jù)字典
1.6數(shù)據(jù)庫實施
1.6.1數(shù)據(jù)的載入和應用程序的調試
1.6.2數(shù)據(jù)庫的試運行
課堂實踐:教務管理系統(tǒng)的數(shù)據(jù)庫設計
1.7本章小結
1.8思考與實踐
第2章MySQL概述
2.1MySQL的功能及特點
2.1.1MySQL的版本
2.1.2MySQL的特性
2.2MySQL的安裝和配置
2.2.1安裝MySQL
2.2.2配置MySQL服務器
2.2.3連接服務器
2.3MySQL管理工具
2.3.1MySQLWorkbench管理工具
2.3.2MySQLAdministrator管理器工具
2.3.3MySQLQueryBrowser數(shù)據(jù)查詢工具
2.3.4MySQLMigrationToolkit數(shù)據(jù)庫遷移工具
課堂實踐:MySQL的簡單應用
2.4本章小結
2.5思考與實踐
第3章數(shù)據(jù)庫的創(chuàng)建與管理
3.1MySQL數(shù)據(jù)庫簡介
3.1.1數(shù)據(jù)庫的構成
3.1.2數(shù)據(jù)庫文件
3.1.3數(shù)據(jù)庫對象
3.1.4數(shù)據(jù)庫對象的標識符
3.2管理數(shù)據(jù)庫
3.2.1創(chuàng)建數(shù)據(jù)庫
3.2.2查看已有的數(shù)據(jù)庫
3.2.3打開數(shù)據(jù)庫
3.2.4修改數(shù)據(jù)庫
3.2.5刪除數(shù)據(jù)庫
3.2.6使用MySQLWorkbench管理數(shù)據(jù)庫
課堂實踐:創(chuàng)建和管理教務管理系統(tǒng)數(shù)據(jù)庫
3.3本章小結
3.4思考與實踐
第4章表的創(chuàng)建與管理
4.1表概述
4.1.1表的概念
4.1.2表的類型
4.1.3表的數(shù)據(jù)類型
4.1.4表的設計
4.2創(chuàng)建和管理表
4.2.1創(chuàng)建表
4.2.2查看表的信息
4.2.3修改表結構
4.2.4刪除表
4.3表數(shù)據(jù)操作
4.3.1添加數(shù)據(jù)
4.3.2更新數(shù)據(jù)
4.3.3刪除數(shù)據(jù)
課堂實踐1:創(chuàng)建教務管理系統(tǒng)數(shù)據(jù)表
4.4創(chuàng)建和管理索引
4.4.1索引概述
4.4.2創(chuàng)建索引
4.4.3查看索引
4.4.4刪除索引
4.5數(shù)據(jù)完整性
4.5.1數(shù)據(jù)完整性的分類
4.5.2數(shù)據(jù)完整性的實現(xiàn)
4.5.3使用約束
課堂實踐2:教務管理系統(tǒng)中表的約束管理
4.6本章小結
4.7思考與實踐
第5章數(shù)據(jù)查詢與視圖管理
5.1簡單查詢
5.1.1SELECT語句結構
5.1.2SELECT子語句
5.1.3WHERE子語句
5.1.4ORDERBY子語句
5.1.5GROUPBY子語句
5.1.6HAVING子語句
課堂實踐1:簡單查詢的應用
5.2連接查詢
5.2.1內連接
5.2.2外連接
5.2.3交叉連接
5.2.4自連接
5.2.5多表連接
課堂實踐2:連接查詢的應用
5.3子查詢
5.3.1IN子查詢
5.3.2比較運算符子查詢
5.3.3ANY或ALL子查詢
5.3.4EXISTS子查詢
課堂實踐3:子查詢的應用
5.4聯(lián)合查詢
5.4.1UNION操作符
5.4.2UNION操作符和JOIN操作符的區(qū)別與聯(lián)系
5.5視圖管理
5.5.1視圖概述
5.5.2創(chuàng)建視圖
5.5.3更新視圖
5.5.4刪除視圖
課堂實踐4:教務管理系統(tǒng)中視圖管理的應用
5.6本章小結
5.7思考與實踐
第6章SQL語言基礎
6.1SQL基礎
6.1.1標識符
6.1.2注釋
6.1.3數(shù)據(jù)類型
6.1.4常量與變量
6.1.5操作符
6.1.6表達式
6.2函數(shù)
6.2.1系統(tǒng)函數(shù)
6.2.2存儲函數(shù)
6.3流程控制語句
6.3.1順序控制語句
6.3.2分支控制語句
6.3.3循環(huán)控制語句
6.4游標
6.4.1游標的概念
6.4.2游標的使用
課堂實踐:游標在教務管理系統(tǒng)中的應用
6.5本章小結
6.6思考與實踐
第7章存儲過程和觸發(fā)器
7.1存儲過程
7.1.1存儲過程概述
7.1.2創(chuàng)建存儲過程
7.1.3管理存儲過程
7.1.4存儲過程中的異常處理
課堂實踐1:創(chuàng)建查詢選課記錄的存儲過程
7.2觸發(fā)器
7.2.1觸發(fā)器概述
7.2.2創(chuàng)建觸發(fā)器
7.2.3管理觸發(fā)器
課堂實踐2:創(chuàng)建一個插入事件觸發(fā)器
7.3事件
7.3.1創(chuàng)建事件
7.3.2管理事件
7.4本章小結
7.5思考與實踐
第8章數(shù)據(jù)庫安全管理
8.1MySQL的安全性
8.1.1MySQL安全性概述
8.1.2MySQL安全管理等級
8.2用戶管理
8.2.1創(chuàng)建用戶
8.2.2修改用戶名和密碼
8.2.3刪除用戶
8.3權限管理
8.3.1權限概述
8.3.2授予權限
8.3.3收回權限
8.3.4查看權限
課堂實踐1:創(chuàng)建數(shù)據(jù)管理員用戶
8.4日志文件
8.4.1二進制日志
8.4.2錯誤日志
8.4.3通用查詢日志
8.4.4慢查詢日志
8.5數(shù)據(jù)備份與恢復
8.5.1數(shù)據(jù)備份
8.5.2數(shù)據(jù)恢復
課堂實踐2:備份教務管理系統(tǒng)數(shù)據(jù)庫
8.6本章小結
8.7思考與實踐
第9章事務與鎖
9.1事務
9.1.1事務概述
9.1.2事務操作
9.2鎖
9.2.1并發(fā)問題
9.2.2事務的隔離級別
9.2.3MySQL中的鎖定
課堂實踐:定義一個學生選課的事務
9.3本章小結
9.4思考與實踐
第10章數(shù)據(jù)庫應用開發(fā)實例
10.1系統(tǒng)分析
10.1.1開發(fā)背景
10.1.2需求分析
10.2系統(tǒng)設計
10.2.1系統(tǒng)功能設計
10.2.2數(shù)據(jù)庫設計
10.2.3開發(fā)環(huán)境選擇
10.3系統(tǒng)實現(xiàn)
10.3.1數(shù)據(jù)庫訪問設計
10.3.2登錄模塊設計
10.3.3圖書借閱管理模塊設計
10.3.4系統(tǒng)主模塊設計
10.4本章小結
10.5思考與實踐
參考文獻