站在數(shù)據(jù)庫(kù)管理員和數(shù)據(jù)庫(kù)程序開(kāi)發(fā)人員的角度理解數(shù)據(jù)庫(kù)的應(yīng)用、設(shè)計(jì)和管理需求,在認(rèn)真分析職業(yè)崗位需求和學(xué)習(xí)者能力現(xiàn)狀的基礎(chǔ)上,全面規(guī)劃和重構(gòu)教材內(nèi)容,合理安排教學(xué)單元的順序。按照“Oracle軟件→Oracle數(shù)據(jù)庫(kù)及對(duì)象→數(shù)據(jù)操作與處理→數(shù)據(jù)庫(kù)管理→數(shù)據(jù)庫(kù)應(yīng)用程序設(shè)計(jì)”的5個(gè)層次對(duì)教材內(nèi)容進(jìn)行重構(gòu),分為8個(gè)教學(xué)單元:搭建與試用Oracle 12C使用環(huán)境→創(chuàng)建與使用Oracle數(shù)據(jù)庫(kù)→創(chuàng)建與維護(hù)Oracle表空間→創(chuàng)建與維護(hù)Oracle數(shù)據(jù)表→檢索與操作Oracle數(shù)據(jù)表的數(shù)據(jù)→編寫(xiě)PL/SQL程序處理Oracle數(shù)據(jù)庫(kù)的數(shù)據(jù)→維護(hù)Oracle數(shù)據(jù)庫(kù)系統(tǒng)和數(shù)據(jù)的安全→設(shè)計(jì)Oracle數(shù)據(jù)庫(kù)及應(yīng)用程序。以真實(shí)工作任務(wù)為載體組織教學(xué)內(nèi)容,強(qiáng)化操作技能訓(xùn)練,提升動(dòng)手能力。教、學(xué)、評(píng)一體化設(shè)計(jì),每一個(gè)單元都設(shè)置了考核評(píng)價(jià)環(huán)節(jié)。教材圍繞2個(gè)數(shù)據(jù)庫(kù)及應(yīng)用程序設(shè)計(jì),120個(gè)操作任務(wù)展開(kāi),采用“任務(wù)驅(qū)動(dòng)、精講多練、理論實(shí)踐一體化”的教學(xué)方法,全方向促進(jìn)Oracle數(shù)據(jù)庫(kù)設(shè)計(jì)與管理技能的提升。每個(gè)教學(xué)單元巧妙地設(shè)置了三條主線:教學(xué)流程主線、理論知識(shí)主線和操作任務(wù)主線,形成獨(dú)具特色的復(fù)合結(jié)構(gòu)的體例。每個(gè)教學(xué)單元面向教學(xué)全過(guò)程設(shè)置了完整的教學(xué)環(huán)節(jié),按照“教學(xué)導(dǎo)航→前導(dǎo)知識(shí)→操作演練→考核實(shí)戰(zhàn)→歸納總結(jié)→單元習(xí)題”6個(gè)環(huán)節(jié)有效組織教學(xué),引導(dǎo)學(xué)習(xí)者主動(dòng)學(xué)習(xí)、高效學(xué)習(xí)、快樂(lè)學(xué)習(xí)。
陳承歡,男,1967年生人,本科畢業(yè)于湖南大學(xué),碩士研究生畢業(yè)于湖南工業(yè)大學(xué),現(xiàn)任職于湖南鐵道職業(yè)技術(shù)學(xué)院,先后擔(dān)任企業(yè)技術(shù)員8年,擔(dān)任計(jì)算機(jī)專任教師9年,擔(dān)任教學(xué)副主任4年、系主任4年、教務(wù)處長(zhǎng)2年。國(guó)家三級(jí)教授。
單元1 登錄Oracle數(shù)據(jù)庫(kù)與試用Oracle的常用工具 1
教學(xué)導(dǎo)航 1
前導(dǎo)知識(shí)―心中有數(shù) 2
操作實(shí)戰(zhàn)―循序漸進(jìn) 10
1.1 查看與啟動(dòng)Oracle的服務(wù) 10
【任務(wù)1-1】 查看與啟動(dòng)Oracle的相關(guān)服務(wù) 10
1.2 登錄Oracle數(shù)據(jù)庫(kù)與查看Oracle數(shù)據(jù)庫(kù)實(shí)例的信息 13
【任務(wù)1-2】 以多種方式嘗試登錄Oracle數(shù)據(jù)庫(kù) 15
【任務(wù)1-3】 查看Oracle數(shù)據(jù)庫(kù)實(shí)例的信息 18
1.3 使用Oracle的常用工具 20
【任務(wù)1-4】 使用SQL Plus命令行管理工具實(shí)現(xiàn)多項(xiàng)操作 24
【任務(wù)1-5】 使用Oracle SQL Developer瀏覽數(shù)據(jù)表 28
【任務(wù)1-6】 使用Oracle Enterprise Manager企業(yè)管理器工具 30
1.4 認(rèn)知Oracle數(shù)據(jù)庫(kù)的體系結(jié)構(gòu) 32
1.4.1 認(rèn)知Oracle數(shù)據(jù)庫(kù)的物理結(jié)構(gòu) 32
【任務(wù)1-7】 使用數(shù)據(jù)字典認(rèn)知Oracle數(shù)據(jù)庫(kù)的物理結(jié)構(gòu) 35
1.4.2 認(rèn)知Oracle數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu) 39
【任務(wù)1-8】 使用數(shù)據(jù)字典認(rèn)知Oracle數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu) 41
1.4.3 認(rèn)知Oracle的內(nèi)存結(jié)構(gòu) 42
【任務(wù)1-9】 使用數(shù)據(jù)字典查看數(shù)據(jù)庫(kù)實(shí)例的內(nèi)存結(jié)構(gòu)信息 44
1.4.4 認(rèn)知Oracle的進(jìn)程結(jié)構(gòu) 46
【任務(wù)1-10】 使用數(shù)據(jù)字典查看Oracle系統(tǒng)的后臺(tái)進(jìn)程和數(shù)據(jù)庫(kù)中的會(huì)話信息 48
自主訓(xùn)練―熟能生巧 49
【任務(wù)1-11】 使用Oracle 12c常用工具 49
【任務(wù)1-12】 認(rèn)知Oracle數(shù)據(jù)庫(kù)的體系結(jié)構(gòu) 50
單元小結(jié) 50
單元習(xí)題 51
單元2 創(chuàng)建與維護(hù)Oracle數(shù)據(jù)庫(kù) 53
教學(xué)導(dǎo)航 53
前導(dǎo)知識(shí)―心中有數(shù) 53
操作實(shí)戰(zhàn)―循序漸進(jìn) 56
2.1 啟動(dòng)與關(guān)閉Oracle數(shù)據(jù)庫(kù) 56
【任務(wù)2-1】 啟動(dòng)與關(guān)閉數(shù)據(jù)庫(kù)orcl 58
2.2 創(chuàng)建與配置Oracle監(jiān)聽(tīng)器 61
【任務(wù)2-2】 使用netCA圖形界面配置Oracle監(jiān)聽(tīng)器 63
2.3 創(chuàng)建Oracle數(shù)據(jù)庫(kù) 67
【任務(wù)2-3】 使用Database Configuration Assistant工具創(chuàng)建數(shù)據(jù)庫(kù) 67
2.4 刪除Oracle數(shù)據(jù)庫(kù) 71
自主訓(xùn)練―熟能生巧 75
【任務(wù)2-5】 創(chuàng)建與操作Oracle數(shù)據(jù)庫(kù)myBook 75
單元小結(jié) 75
單元習(xí)題 75
單元3 創(chuàng)建與維護(hù)Oracle表空間 77
教學(xué)導(dǎo)航 77
前導(dǎo)知識(shí)―心中有數(shù) 77
操作實(shí)戰(zhàn)―循序漸進(jìn) 81
3.1 認(rèn)識(shí)Oracle系統(tǒng)的表空間 81
【任務(wù)3-1】 查看Oracle數(shù)據(jù)庫(kù)默認(rèn)的表空間 82
【任務(wù)3-2】 查看Oracle用戶及其相關(guān)數(shù)據(jù)表信息 84
3.2 創(chuàng)建表空間 86
【任務(wù)3-3】 在【SQL Plus】中使用命令方式創(chuàng)建表空間 89
3.3 維護(hù)與刪除表空間 91
【任務(wù)3-4】 在【SQL Plus】中使用命令方式維護(hù)與刪除表空間 95
【任務(wù)3-5】 管理與使用PDB的表空間 99
3.4 使用Oracle Enterprise Manager創(chuàng)建用戶 102
【任務(wù)3-6】 使用Oracle Enterprise Manager創(chuàng)建用戶commerce 102
自主訓(xùn)練―熟能生巧 105
【任務(wù)3-7】 創(chuàng)建Oracle的表空間和用戶 105
單元小結(jié) 105
單元習(xí)題 106
單元4 創(chuàng)建與維護(hù)Oracle數(shù)據(jù)表 107
教學(xué)導(dǎo)航 107
前導(dǎo)知識(shí)―心中有數(shù) 107
操作實(shí)戰(zhàn)―循序漸進(jìn) 111
4.1 查看Oracle數(shù)據(jù)表的結(jié)構(gòu)和記錄 111
【任務(wù)4-1】 使用SQL Plus查看PDB中數(shù)據(jù)表EMPLOYEES 111
【任務(wù)4-2】 使用Oracle SQL Developer查看方案HR中的數(shù)據(jù)表
DEPARTMENTS 113
4.2 使用Oracle SQL Developer創(chuàng)建與維護(hù)Oracle數(shù)據(jù)表 115
【任務(wù)4-3】 使用Oracle SQL Developer創(chuàng)建“客戶信息表”和“商品信息表” 115
【任務(wù)4-4】 使用Oracle SQL Developer修改 “商品信息表”和“客戶信息表”的結(jié)構(gòu) 120
【任務(wù)4-5】在【Oracle SQL Developer】中刪除Oracle數(shù)據(jù)表 123
【任務(wù)4-6】 在【Oracle SQL Developer】中新增與修改“客戶信息表”的記錄 125
4.3 導(dǎo)入與導(dǎo)出數(shù)據(jù) 126
【任務(wù)4-7】 使用【Oracle SQL Developer】從Excel文件中導(dǎo)入指定數(shù)據(jù)表中的數(shù)據(jù) 126
4.4 使用命令方式創(chuàng)建與維護(hù)Oracle數(shù)據(jù)表 130
【任務(wù)4-8】 在SQL Plus中使用命令方式創(chuàng)建“用戶類(lèi)型表” 132
【任務(wù)4-9】 在SQL Plus中執(zhí)行SQL腳本創(chuàng)建“用戶表” 132
【任務(wù)4-10】 在Oracle SQL Developer中使用命令方式創(chuàng)建“購(gòu)物車(chē)商品表” 134
【任務(wù)4-11】 在Oracle SQL Developer中使用命令方式修改“用戶表”的結(jié)構(gòu) 135
【任務(wù)4-12】 在Oracle SQL Developer中使用命令方式刪除Oracle數(shù)據(jù)表 136
4.5 使用命令方式操縱Oracle數(shù)據(jù)表的記錄 136
【任務(wù)4-13】 在Oracle SQL Developer中使用命令方式新增“用戶表”的記錄 138
【任務(wù)4-14】 在Oracle SQL Developer中使用命令方式修改“商品信息表”和“用戶表”的記錄 138
【任務(wù)4-15】 在Oracle SQL Developer中使用命令方式刪除Oracle數(shù)據(jù)表的記錄 138
4.6 創(chuàng)建與使用Oracle的序列 139
【任務(wù)4-16】 在Oracle SQL Developer中使用命令方式創(chuàng)建與維護(hù)“用戶ID”序列 140
【任務(wù)4-17】 向“用戶表”添加記錄時(shí)應(yīng)用“用戶ID”序列生成自動(dòng)編號(hào) 142
4.7 實(shí)施數(shù)據(jù)表的數(shù)據(jù)完整性約束 142
【任務(wù)4-18】 在SQL Plus中創(chuàng)建數(shù)據(jù)表并實(shí)施數(shù)據(jù)表的數(shù)據(jù)完整性 146
【任務(wù)4-19】 在Oracle SQL Developer中創(chuàng)建“部門(mén)信息表”并實(shí)施數(shù)據(jù)完整性約束 148
【任務(wù)4-20】 在Oracle SQL Developer中使用命令方式創(chuàng)建數(shù)據(jù)表并實(shí)施數(shù)據(jù)表的數(shù)據(jù)完整性 151
4.8 創(chuàng)建與使用Oracle的同義詞 155
【任務(wù)4-21】 在SQL Plus中創(chuàng)建“用戶表”的同義詞 156
【任務(wù)4-22】 在Oracle SQL Developer中使用命令方式創(chuàng)建與維護(hù)序列“userID_seq”的同義詞 156
【任務(wù)4-23】 在SQL Plus中利用同義詞查詢指定用戶信息 157
自主訓(xùn)練―熟能生巧 157
【任務(wù)4-24】 在數(shù)據(jù)庫(kù)myBook中創(chuàng)建與維護(hù)Oracle數(shù)據(jù)表 157
單元小結(jié) 161
單元習(xí)題 161
單元5 檢索與操作Oracle數(shù)據(jù)表的數(shù)據(jù) 162
教學(xué)導(dǎo)航 162
前導(dǎo)知識(shí)―心中有數(shù) 163
操作實(shí)戰(zhàn)―循序漸進(jìn) 164
5.1 創(chuàng)建與使用基本查詢 164
5.1.1 查詢時(shí)選擇與設(shè)置字段 164
【任務(wù)5-1】 選擇數(shù)據(jù)表所有的字段 164
【任務(wù)5-2】 選擇數(shù)據(jù)表指定的字段 165
【任務(wù)5-3】 查詢時(shí)更改列標(biāo)題 166
【任務(wù)5-4】 查詢時(shí)使用計(jì)算字段 167
【任務(wù)5-5】 使用dual表查詢系統(tǒng)變量或表達(dá)式值 167
5.1.2 查詢時(shí)選擇記錄行 168
【任務(wù)5-6】 使用Distinct選擇不重復(fù)的記錄行 169
【任務(wù)5-7】 使用Rownum獲取數(shù)據(jù)表中前面若干行 169
【任務(wù)5-8】 使用Where子句實(shí)現(xiàn)條件查詢 170
【任務(wù)5-9】 使用聚合函數(shù)實(shí)現(xiàn)查詢 174
5.1.3 對(duì)查詢結(jié)果排序 175
【任務(wù)5-10】 使用Order By子句對(duì)查詢結(jié)果排序 175
5.1.4 查詢時(shí)數(shù)據(jù)的分組與匯總 177
【任務(wù)5-11】 查詢時(shí)使用Group By子句進(jìn)行分組 177
【任務(wù)5-12】 查詢時(shí)使用Having子句進(jìn)行分組統(tǒng)計(jì) 177
5.2 創(chuàng)建與使用連接查詢 178
5.2.1 創(chuàng)建基本連接查詢 179
【任務(wù)5-13】 創(chuàng)建兩個(gè)數(shù)據(jù)表之間的連接查詢 179
【任務(wù)5-14】 創(chuàng)建多個(gè)數(shù)據(jù)表之間的連接查詢 180
5.2.2 創(chuàng)建內(nèi)連接查詢 181
【任務(wù)5-15】 創(chuàng)建等值內(nèi)連接查詢 181
【任務(wù)5-16】 創(chuàng)建非等值連接查詢和自連接查詢 182
5.2.3 創(chuàng)建外連接查詢 183
【任務(wù)5-17】 創(chuàng)建左外連接查詢 183
【任務(wù)5-18】 創(chuàng)建右外連接查詢 183
【任務(wù)5-19】 創(chuàng)建完全外連接查詢 184
5.3 創(chuàng)建與使用子查詢 185
【任務(wù)5-20】 創(chuàng)建單值子查詢 185
【任務(wù)5-21】 創(chuàng)建多值子查詢 187
【任務(wù)5-22】 創(chuàng)建相關(guān)子查詢 188
5.4 創(chuàng)建與使用聯(lián)合查詢 189
【任務(wù)5-23】 創(chuàng)建聯(lián)合查詢 189
5.5 在SQL Developer中創(chuàng)建與維護(hù)視圖 190
【任務(wù)5-24】 創(chuàng)建基于多個(gè)數(shù)據(jù)表的視圖 191
【任務(wù)5-25】 創(chuàng)建包含計(jì)算字段的視圖“商品金額_view” 192
5.5.3 使用視圖實(shí)現(xiàn)數(shù)據(jù)查詢和新增數(shù)據(jù)的操作 193
【任務(wù)5-26】 通過(guò)視圖“商品金額_view”獲取符合指定條件的商品數(shù)據(jù) 193
【任務(wù)5-27】 通過(guò)視圖“商品信息_view”插入與修改商品數(shù)據(jù) 193
5.6 創(chuàng)建與維護(hù)索引 194
【任務(wù)5-28】 在SQL Developer中使用命令方式創(chuàng)建與維護(hù)索引 196
自主訓(xùn)練―熟能生巧 196
【任務(wù)5-29】 檢查與操作myBook數(shù)據(jù)庫(kù)中各個(gè)數(shù)據(jù)表的數(shù)據(jù) 196
單元小結(jié) 197
單元習(xí)題 198
單元6 編寫(xiě)PL/SQL程序處理Oracle數(shù)據(jù)庫(kù)的數(shù)據(jù) 199
教學(xué)導(dǎo)航 199
前導(dǎo)知識(shí)―心中有數(shù) 200
操作實(shí)戰(zhàn)―循序漸進(jìn) 219
6.1 應(yīng)用Oracle的系統(tǒng)函數(shù)編寫(xiě)PL/SQL程序 219
【任務(wù)6-1】 編寫(xiě)PL/SQL程序計(jì)算商品優(yōu)惠價(jià)格 219
【任務(wù)6-2】 編寫(xiě)PL/SQL程序限制密碼長(zhǎng)度不得少于6個(gè)字符 220
6.2 創(chuàng)建與操作游標(biāo) 222
【任務(wù)6-4】 使用游標(biāo)從“員工信息表”中讀取指定部門(mén)的員工信息 225
【任務(wù)6-5】 使用游標(biāo)從“用戶表”中讀取全部用戶信息 226
6.3 創(chuàng)建與使用自定義函數(shù) 227
【任務(wù)6-6】 創(chuàng)建且調(diào)用計(jì)算密碼已使用天數(shù)的函數(shù)getGap 228
【任務(wù)6-7】 創(chuàng)建并調(diào)用返回登錄提示信息的函數(shù)out_info 229
6.4 創(chuàng)建與使用存儲(chǔ)過(guò)程 231
【任務(wù)6-8】 創(chuàng)建通過(guò)類(lèi)型名稱獲取商品數(shù)據(jù)的存儲(chǔ)過(guò)程 233
【任務(wù)6-9】 創(chuàng)建在購(gòu)物車(chē)中更新數(shù)量或新增商品的存儲(chǔ)過(guò)程 234
【任務(wù)6-10】 創(chuàng)建獲取已有訂單中最新訂單編號(hào)的存儲(chǔ)過(guò)程 235
【任務(wù)6-11】 創(chuàng)建計(jì)算購(gòu)物車(chē)中指定客戶的總金額的存儲(chǔ)過(guò)程 236
6.5 創(chuàng)建與執(zhí)行觸發(fā)器 236
【任務(wù)6-12】 使用觸發(fā)器自動(dòng)為“用戶表”主鍵列賦值 239
【任務(wù)6-13】 創(chuàng)建更新型觸發(fā)器限制無(wú)效數(shù)據(jù)的更新 240
【任務(wù)6-14】 創(chuàng)建作用在視圖上的Instead Of觸發(fā)器 242
【任務(wù)6-15】 為記錄當(dāng)前用戶的操作情況創(chuàng)建語(yǔ)句級(jí)觸發(fā)器 242
【任務(wù)6-16】 創(chuàng)建記錄對(duì)象創(chuàng)建日期和操作者的DDL觸發(fā)器 243
【任務(wù)6-17】 為System用戶創(chuàng)建一個(gè)記錄用戶登錄信息的系統(tǒng)事件觸發(fā)器 244
6.6 使用事務(wù)與鎖 244
6.6.1 事務(wù)處理 244
【任務(wù)6-18】 使用事務(wù)提交訂單和刪除購(gòu)物車(chē)中的相關(guān)數(shù)據(jù) 246
6.6.2 使用鎖 248
【任務(wù)6-19】 演示鎖等待和死鎖的發(fā)生 249
6.7 創(chuàng)建與使用程序包 252
【任務(wù)6-20】 創(chuàng)建程序包增加指定類(lèi)型的商品信息 253
自主訓(xùn)練―熟能生巧 255
【任務(wù)6-21】 編寫(xiě)PL/SQL程序處理myBook數(shù)據(jù)庫(kù)的數(shù)據(jù) 255
單元小結(jié) 256
單元習(xí)題 256
單元7 維護(hù)Oracle數(shù)據(jù)庫(kù)的安全性 258
教學(xué)導(dǎo)航 258
前導(dǎo)知識(shí)―心中有數(shù) 259
操作實(shí)戰(zhàn)―循序漸進(jìn) 264
7.1 用戶管理 264
【任務(wù)7-1】 創(chuàng)建數(shù)據(jù)庫(kù)用戶C##happy 266
7.2 角色管理與權(quán)限管理 269
【任務(wù)7-2】 創(chuàng)建角色C##green_role并授權(quán) 273
【任務(wù)7-3】 為用戶“C##happy”授予新角色 277
7.3 備份與恢復(fù)數(shù)據(jù) 279
【任務(wù)7-4】 使用命令方式備份數(shù)據(jù)庫(kù)的控制文件 280
自主訓(xùn)練―熟能生巧 281
【任務(wù)7-5】 創(chuàng)建用戶cheer 281
【任務(wù)7-6】 創(chuàng)建與授予角色cheer_role 281
單元小結(jié) 281
單元習(xí)題 281
單元8 分析與設(shè)計(jì)Oracle數(shù)據(jù)庫(kù) 283
教學(xué)導(dǎo)航 283
前導(dǎo)知識(shí)―心中有數(shù) 283
操作實(shí)戰(zhàn)―循序漸進(jìn) 288
8.1 數(shù)據(jù)庫(kù)設(shè)計(jì)的需求分析 288
【任務(wù)8-1】 網(wǎng)上購(gòu)物數(shù)據(jù)庫(kù)設(shè)計(jì)的需求分析 288
8.2 數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)設(shè)計(jì) 290
【任務(wù)8-2】 網(wǎng)上購(gòu)物數(shù)據(jù)庫(kù)的概念結(jié)構(gòu)設(shè)計(jì) 290
8.3 數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)設(shè)計(jì) 292
【任務(wù)8-3】 網(wǎng)上購(gòu)物數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)設(shè)計(jì) 292
8.4 數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)設(shè)計(jì) 293
【任務(wù)8-4】 網(wǎng)上購(gòu)物數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)設(shè)計(jì) 293
8.5 數(shù)據(jù)庫(kù)的優(yōu)化與創(chuàng)建 299
【任務(wù)8-5】 網(wǎng)上購(gòu)物數(shù)據(jù)庫(kù)的優(yōu)化與創(chuàng)建 299
自主訓(xùn)練―熟能生巧 300
【任務(wù)8-6】 分析與設(shè)計(jì)圖書(shū)管理系統(tǒng)的數(shù)據(jù)庫(kù)及數(shù)據(jù)表 300
單元小結(jié) 300
單元習(xí)題 300
單元A 下載與安裝Oracle 12c 302
單元B 命令格式說(shuō)明 312
單元C 崗位需求分析與課程教學(xué)設(shè)計(jì) 313
參考文獻(xiàn) 320