本書采用項目式設計,循序漸進地講解數(shù)據(jù)庫的基本原理和應用的方法。全書共8個項目,具體內容為數(shù)據(jù)庫系統(tǒng)概述、關系數(shù)據(jù)庫、數(shù)據(jù)庫設計、SQL基礎應用、SQL高級應用、索引和視圖、存儲過程和觸發(fā)器、安全管理。本書實例豐富、內容翔實、操作方法簡單易學,不僅適合作為高等職業(yè)院校計算機與大數(shù)據(jù)相關專業(yè)教材,也可供從事數(shù)據(jù)處理相關工作的專業(yè)人士參考。
遲麗娟,2008年至今在牡丹江大學任教,副高職稱,多年來一直擔任計算機專業(yè)的基礎課教學,科研課題《高職技術技能型人才培養(yǎng)模式的研究與實踐》榮獲省級二等獎,承擔多項重點科研和教研項目。
項目1 數(shù)據(jù)庫系統(tǒng)概述 1
任務1 數(shù)據(jù)庫系統(tǒng) 2
| 任務引入 | 2
| 知識準備 | 2
一、數(shù)據(jù)庫系統(tǒng)的組成 2
二、數(shù)據(jù)庫系統(tǒng)的體系結構 2
任務2 數(shù)據(jù)庫管理系統(tǒng) 4
| 任務引入 | 4
| 知識準備 | 4
一、DBMS的主要功能 4
二、DBMS的組成 5
任務3 數(shù)據(jù)模型 6
| 任務引入 | 6
| 知識準備 | 7
一、數(shù)據(jù)模型的概念 7
二、概念模型 8
三、數(shù)據(jù)庫類型 11
項目總結 14
項目2 關系數(shù)據(jù)庫 15
任務1 關系代數(shù) 16
| 任務引入 | 16
| 知識準備 | 16
一、傳統(tǒng)的集合運算 16
二、專門的關系運算 17
任務2 關系數(shù)據(jù)庫設計基礎 18
| 任務引入 | 18
| 知識準備 | 19
一、關系模式中的問題 19
二、函數(shù)依賴 20
項目總結 21
項目3 數(shù)據(jù)庫設計 22
任務1 數(shù)據(jù)庫設計基礎 23
| 任務引入 | 23
| 知識準備 | 23
一、需求分析 23
二、概念設計 28
三、邏輯設計 30
四、物理設計 31
任務2 創(chuàng)建和使用數(shù)據(jù)庫 31
| 任務引入 | 31
| 知識準備 | 31
一、系統(tǒng)數(shù)據(jù)庫 31
二、創(chuàng)建數(shù)據(jù)庫 33
三、數(shù)據(jù)庫的屬性設置 35
四、刪除數(shù)據(jù)庫 37
任務3 創(chuàng)建和使用表 38
| 任務引入 | 38
| 知識準備 | 38
一、創(chuàng)建表 38
二、修改表的結構 40
三、建立表間關系 41
四、刪除表 43
五、新增和修改記錄 44
項目總結 46
項目實戰(zhàn) 47
實戰(zhàn)一 創(chuàng)建一個名為factory的數(shù)據(jù)庫 47
實戰(zhàn)二 在factory數(shù)據(jù)庫中創(chuàng)建表 48
實戰(zhàn)三 為factory數(shù)據(jù)庫中的3個表建立關系 48
實戰(zhàn)四 為factory數(shù)據(jù)庫中的3個表添加記錄 49
項目4 SQL基礎應用 51
任務1 操作語句 52
| 任務引入 | 52
| 知識準備 | 52
一、數(shù)據(jù)庫的操作語句 52
二、表的操作語句 57
任務2 數(shù)據(jù)查詢 60
| 任務引入 | 60
| 知識準備 | 61
一、投影查詢 61
二、選擇查詢 63
三、排序查詢 64
四、聚合函數(shù) 65
五、表的連接查詢 67
六、子查詢 71
七、相關子查詢 75
八、帶EXISTS測試的子查詢 76
任務3 SQL程序設計基礎 78
| 任務引入 | 78
| 知識準備 | 78
一、標識符 78
二、數(shù)據(jù)類型 81
三、運算符 92
四、變量 98
五、批處理 100
六、注釋 101
七、控制流語句 102
八、函數(shù) 110
項目總結 113
項目實戰(zhàn) 114
實戰(zhàn)一 查詢工資為5000~6000元的職工的職工號、姓名和部門號 114
實戰(zhàn)二 輸出11號職工的平均工資 114
項目5 SQL高級應用 116
任務1 高級查詢 117
| 任務引入 | 117
| 知識準備 | 117
一、數(shù)據(jù)匯總 117
二、連接查詢 120
三、子查詢 125
四、在查詢的基礎上創(chuàng)建新表 130
任務2 事務處理 131
| 任務引入 | 131
| 知識準備 | 131
一、事務分類 132
二、顯式事務 132
三、自動提交事務 136
四、隱式事務 136
任務3 游標 138
| 任務引入 | 138
| 知識準備 | 138
一、使用游標 139
二、游標類型 144
項目總結 145
項目實戰(zhàn) 145
實戰(zhàn)一 插入一條職工記錄,進行完整外部連接、顯示,然后刪除記錄 145
實戰(zhàn)二 啟動一個事務,向depart表中插入一條記錄,然后回滾該事務 146
項目6 索引和視圖 148
任務1 索引 149
| 任務引入 | 149
| 知識準備 | 149
一、索引類型 149
二、創(chuàng)建索引 153
三、查看和刪除索引 157
任務2 視圖 158
| 任務引入 | 158
| 知識準備 | 158
一、創(chuàng)建視圖 159
二、使用視圖 162
三、刪除視圖 166
項目總結 167
項目實戰(zhàn) 168
實戰(zhàn)一 為salary表的“職工號”和“日期”列創(chuàng)建聚集索引,并且強制唯一性 168
實戰(zhàn)二 創(chuàng)建View1視圖,查詢所有職工的職工號、姓名、部門號和工資 168
項目7 存儲過程和觸發(fā)器 170
任務1 存儲過程 171
| 任務引入 | 171
| 知識準備 | 171
一、創(chuàng)建存儲過程 171
二、執(zhí)行存儲過程 173
三、存儲過程的參數(shù) 174
四、查看和刪除存儲過程 176
任務2 觸發(fā)器 177
| 任務引入 | 177
| 知識準備 | 178
一、創(chuàng)建觸發(fā)器 178
二、使用觸發(fā)器 181
三、修改觸發(fā)器 183
四、刪除觸發(fā)器 183
項目總結 184
項目實戰(zhàn) 184
實戰(zhàn)一 創(chuàng)建一個為worker表添加職工記錄的存儲過程Addworker 184
實戰(zhàn)二 在worker表上創(chuàng)建一個觸發(fā)器worker_delete,當刪除職工記錄時同步刪除salary表中對應職工的工資記錄 184
項目8 安全管理 186
任務1 賬號和角色 187
| 任務引入 | 187
| 知識準備 | 187
一、服務器的登錄賬號 187
二、數(shù)據(jù)庫的用戶賬號 190
三、角色 192
任務2 備份和還原數(shù)據(jù)庫 196
| 任務引入 | 196
| 知識準備 | 197
一、備份數(shù)據(jù)庫 197
二、還原數(shù)據(jù)庫 202
項目總結 208
項目實戰(zhàn) 208
實戰(zhàn)一 創(chuàng)建一個登錄賬號ABC,密碼為123456 208
實戰(zhàn)二 在factory數(shù)據(jù)庫中創(chuàng)建一個用戶賬號,并將其關聯(lián)到ABC登錄賬號中 208