本書根據(jù)應用型人才教育培養(yǎng)的特點,結(jié)合教學改革和企業(yè)實踐編寫而成。教材以企業(yè)實踐項目——“新聞發(fā)布系統(tǒng)”的開發(fā)過程為主線,以數(shù)據(jù)庫開發(fā)技術為中心,結(jié)合常用的開發(fā)語言,貫通如下內(nèi)容:MySQL的安裝部署、數(shù)據(jù)模型、數(shù)據(jù)庫與數(shù)據(jù)表、運算符與函數(shù)、索引、數(shù)據(jù)完整性、數(shù)據(jù)查詢、視圖、存儲過程、觸發(fā)器、用戶和數(shù)據(jù)安全、編程接口等。
第1 章 MySQL管理環(huán)境的建立 1
1.1 數(shù)據(jù)庫課程定位 1
1.1.1 崗位需求 1
1.1.2 課程定位 2
1.2 數(shù)據(jù)庫的基礎知識 3
1.2.1 數(shù)據(jù)庫與數(shù)據(jù)庫管理系統(tǒng) 3
1.2.2 數(shù)據(jù)庫技術的發(fā)展史 3
1.2.3 數(shù)據(jù)庫系統(tǒng)模型 6
1.2.4 常見數(shù)據(jù)庫簡介 6
1.3 MySQL環(huán)境的建立 8
1.3.1 Windows平臺下安裝配置MySQL 8
1.3.2 界面工具MySQL GUI Tools 10
1.3.3 界面工具phpMyAdmin 10
實訓1 11
課后習題1 15
第2 章 數(shù)據(jù)模型的設計 16
2.1 數(shù)據(jù)庫建模技術 16
2.1.1 數(shù)據(jù)模型 16
2.1.2 軟件項目開發(fā)周期 17
2.2 數(shù)據(jù)庫概念模型設計 19
2.2.1 概念模型 19
2.2.2 概念設計應用實例 21
2.3 數(shù)據(jù)庫邏輯設計 22
2.3.1 將E-R圖轉(zhuǎn)換為關系模型 23
2.3.2 優(yōu)化關系模型 24
實訓2 24
課后習題2 26
第3 章 創(chuàng)建新聞發(fā)布系統(tǒng)的數(shù)據(jù)庫和表 27
3.1 使用SQL語句操作數(shù)據(jù)庫 28
3.1.1 創(chuàng)建數(shù)據(jù)庫 28
3.1.2 查看數(shù)據(jù)庫 28
3.1.3 選擇數(shù)據(jù)庫 29
3.1.4 修改數(shù)據(jù)庫 29
3.1.5 刪除數(shù)據(jù)庫 29
3.2 使用SQL語句創(chuàng)建數(shù)據(jù)表 30
3.2.1 數(shù)據(jù)表的基礎知識 30
3.2.2 使用SQL語句創(chuàng)建數(shù)據(jù)表 32
3.3 使用SQL語句操作數(shù)據(jù)表 34
3.3.1 修改數(shù)據(jù)表 34
3.3.2 修改表名 34
3.3.3 刪除數(shù)據(jù)表 35
3.4 管理數(shù)據(jù)表數(shù)據(jù) 35
3.4.1 插入記錄 35
3.4.2 修改記錄 37
3.4.3 刪除記錄 37
實訓3 39
課后習題3 40
第4 章 MySQL運算符與函數(shù) 42
4.1 MySQL運算符 43
4.1.1 算術運算符 43
4.1.2 比較運算符 43
4.1.3 邏輯運算符 47
4.1.4 位運算符 48
4.1.5 運算符的優(yōu)先級 48
4.2 系統(tǒng)內(nèi)置函數(shù) 48
4.2.1 數(shù)學函數(shù) 49
4.2.2 字符串函數(shù) 51
4.2.3 日期和時間函數(shù) 54
4.2.4 系統(tǒng)信息函數(shù) 57
4.2.5 其他函數(shù) 58
實訓4 58
課后習題4 59
第5 章 新聞發(fā)布系統(tǒng)的索引與完整性約束 61
5.1 創(chuàng)建與管理索引 61
5.1.1 索引概念 62
5.1.2 索引分類 62
5.1.3 創(chuàng)建索引 62
5.1.4 刪除索引 64
5.2 數(shù)據(jù)完整性約束 64
5.2.1 主鍵約束 65
5.2.2 外鍵約束 66
5.2.3 非空約束 67
5.2.4 唯一約束 67
5.2.5 自動增長約束 68
5.2.6 默認值約束 68
5.2.7 刪除完整性約束 69
實訓5 69
課后習題5 70
第6 章 新聞發(fā)布系統(tǒng)的數(shù)據(jù)查詢和視圖查詢 72
6.1 使用SELECT語句查詢數(shù)據(jù) 73
6.1.1 簡單查詢 73
6.1.2 條件查詢 76
6.1.3 使用ORDER BY查詢排序 78
6.1.4 使用GROUP BY子句分組查詢 80
6.1.5 使用LIMIT子句 81
6.2 多表連接查詢 82
6.2.1 內(nèi)連接 82
6.2.2 外連接 83
6.2.3 自連接 85
6.3 嵌套查詢 86
6.3.1 嵌套查詢概述 86
6.3.2 單值嵌套 86
6.3.3 多值嵌套 87
6.3.4 [NOT] EXISTS子查詢 88
6.4 視圖 89
6.4.1 視圖的概念與特點 89
6.4.2 視圖應用實例 92
6.4.3 管理視圖 94
實訓6 95
課后習題6 96
第7 章 存儲過程和觸發(fā)器 98
7.1 存儲過程 99
7.1.1 認識存儲過程 99
7.1.2 創(chuàng)建存儲過程 100
7.1.3 局部變量的使用 101
7.1.4 流程控制的使用 101
7.2 操作存儲過程 105
7.2.1 調(diào)用存儲過程 105
7.2.2 修改存儲過程 105
7.2.3 刪除存儲過程 106
7.3 觸發(fā)器 106
7.3.1 認識觸發(fā)器 106
7.3.2 觸發(fā)器基本操作 107
7.3.3 觸發(fā)器應用實例 109
實訓7 112
課后習題7 113
第8 章 用戶和數(shù)據(jù)安全 115
8.1 添加和刪除用戶 115
8.1.1 添加用戶 115
8.1.2 刪除用戶 116
8.1.3 修改用戶名 117
8.1.4 修改密碼 117
8.2 權限管理 117
8.2.1 權限 118
8.2.2 授予權限 119
8.2.3 回收權限 121
實訓8 122
課后習題8 123
第9 章 訪問MySQL數(shù)據(jù)庫 124
9.1 Java訪問MySQL數(shù)據(jù)庫 124
9.1.1 JDBC驅(qū)動的下載與安裝 124
9.1.2 連接MySQL的Java類和接口 127
9.1.3 Java訪問MySQL應用實例 129
9.2 C#訪問MySQL數(shù)據(jù)庫 134
9.2.1 C#驅(qū)動的下載與安裝 134
9.2.2 C#訪問MySQL基本操作 136
9.2.3 C#訪問MySQL實例 141
實訓9 149
課后習題9 150
第10 章 PHP+MySQL開發(fā)企業(yè)新聞系統(tǒng) 151
10.1 企業(yè)新聞系統(tǒng)設計 152
10.1.1 新聞發(fā)布系統(tǒng)概述 152
10.1.2 安裝AppServ軟件 152
10.1.3 新聞數(shù)據(jù)庫設計 156
10.1.4 定義news站點 157
10.1.5 設置數(shù)據(jù)庫連接 159
10.2 新聞管理系統(tǒng)后臺開發(fā) 159
10.2.1 后臺整體規(guī)劃 160
10.2.2 用戶登錄 160
10.2.3 發(fā)布新聞 161
10.2.4 操作新聞 167
10.3 企業(yè)新聞系統(tǒng)前臺設計 172
10.3.1 網(wǎng)站前臺基本設置 172
10.3.2 新聞列表頁設計 173
10.3.3 新聞內(nèi)容頁設計 175
10.3.4 新聞分類頁設計 176
10.3.5 熱門新聞和最新動態(tài) 177
參考文獻 179
前言
經(jīng)過多年課程建設、校企合作和教學改革的反復探索,我們的數(shù)據(jù)庫課程教學模式也在不斷發(fā)展之中,現(xiàn)正朝著“教學做一體化、工作過程系統(tǒng)化、教學項目真實化”的方向前進。本教材在編寫過程中突出職業(yè)能力的培養(yǎng),通過一個企業(yè)的真實項目——“新聞發(fā)布系統(tǒng)”的完整實施過程,將MySQL數(shù)據(jù)庫開發(fā)的相關內(nèi)容有條不紊地組織起來。全書按照“新聞管理系統(tǒng)”開發(fā)的工作順序組織內(nèi)容,使學習過程與工作過程保持一致;內(nèi)容由易到難,循序漸進,符合人類認知規(guī)律;各章都配備了實訓和課后練習題,能激發(fā)學生的學習熱情和動力,并從中體會到學習和“工作”的雙重樂趣。
本書的內(nèi)容組織如下表所示。
項目
\\t名稱
\\t工作目標
\\t涉及主要知識
1
\\tMySQL管理環(huán)境的建立
\\t在現(xiàn)有環(huán)境(Windows 或Linux)中安裝配置MySQL
\\tMySQL的下載、安裝、配置
2
\\t數(shù)據(jù)模型的設計
\\t進行關系模型設計
\\tE-R圖、概念設計、邏輯設計
3
\\t創(chuàng)建新聞發(fā)布系統(tǒng)的數(shù)據(jù)庫和表
\\t創(chuàng)建新聞發(fā)布系統(tǒng)數(shù)據(jù)庫和表
\\t數(shù)據(jù)類型、表、數(shù)據(jù)庫
4
\\tMySQL運算符與函數(shù)
\\t掌握運算符和函數(shù)
\\t運算符、函數(shù)
5
\\t新聞發(fā)布系統(tǒng)的索引與完整性約束
\\t使用約束和觸發(fā)器實現(xiàn)數(shù)據(jù)完整性
\\t約束、數(shù)據(jù)完整性、觸發(fā)器
6
\\t新聞發(fā)布系統(tǒng)的數(shù)據(jù)查詢和視圖查詢
\\t使用查詢或視圖完成新聞檢索
\\t查詢、視圖
7
\\t存儲過程和觸發(fā)器
\\t使用存儲過程和觸發(fā)器實現(xiàn)新聞管理
\\t存儲過程、觸發(fā)器
8
\\t用戶和數(shù)據(jù)安全
\\t保護數(shù)據(jù)安全
\\t安全、權限
9
\\t訪問MySQL數(shù)據(jù)庫
\\t開發(fā)應用系統(tǒng)
\\tJava、C#連接MySQL
10
\\tPHP+MySQL開發(fā)企業(yè)新聞系統(tǒng)
\\t使用PHP開發(fā)新聞發(fā)布系統(tǒng)
\\tPHP開發(fā)動態(tài)網(wǎng)站
本書由廣東輕工職業(yè)技術學院副教授、高級工程師王躍勝進行總體策劃和設計,其中項目1由蔡文銳老師編寫,項目3、4、5、8、10由黃龍泉老師編寫,項目9由曾凡濤老師編寫,項目2、6由王躍勝編寫。在本書編寫過程中,編者得到學院領導、企業(yè)實習單位、同事、朋友的幫助和支持,在此表示衷心的感謝!
本教材提供教學課件,并提供全部調(diào)試通過的源代碼。相關資源請登錄華信教育資源網(wǎng)(www.hxedu.com.cn)免費下載。
由于編者水平有限,書中難免有疏漏和錯誤之處,懇請廣大讀者批評指正。
編 者
2014年5月