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