Oracle是數(shù)據(jù)庫(kù)領(lǐng)域優(yōu)秀的數(shù)據(jù)庫(kù)軟件。隨著云計(jì)算和大數(shù)據(jù)的廣泛應(yīng)用,Oracle公司于2013年推出了Oracle 12c版本。Oracle 12c是基于云計(jì)算、具有高可用性、功能強(qiáng)大的數(shù)據(jù)庫(kù)產(chǎn)品。本書(shū)以O(shè)racle 12c為平臺(tái),系統(tǒng)地講述了Oracle 12c數(shù)據(jù)庫(kù)的概念、管理和應(yīng)用開(kāi)發(fā)等內(nèi)容。本書(shū)以初學(xué)者為對(duì)象,教材內(nèi)容以適量、實(shí)用為基準(zhǔn),注重知識(shí)的循序漸進(jìn)和融會(huì)貫通,著重培養(yǎng)學(xué)生應(yīng)用理論知識(shí)分析和解決實(shí)際問(wèn)題的能力。全書(shū)以學(xué)生選課數(shù)據(jù)庫(kù)為例,實(shí)例貫穿整個(gè)教材,書(shū)中代碼都在Oracle 12c中運(yùn)行通過(guò)。
本書(shū)共13章,主要內(nèi)容有:數(shù)據(jù)庫(kù)基礎(chǔ),Oracle數(shù)據(jù)庫(kù)的安裝與啟動(dòng),Oracle數(shù)據(jù)庫(kù)的體系結(jié)構(gòu),數(shù)據(jù)庫(kù)的創(chuàng)建和管理,數(shù)據(jù)表的創(chuàng)建和管理,數(shù)據(jù)查詢,視圖,PL/SQL編程,游標(biāo)、存儲(chǔ)過(guò)程和觸發(fā)器,Oracle的安全管理,備份與恢復(fù),事務(wù)、鎖和閃回,索引、序列和同義詞。
本書(shū)編者來(lái)自山東交通學(xué)院從事一線數(shù)據(jù)庫(kù)教學(xué)多年的教師,具有豐富的教學(xué)經(jīng)驗(yàn)。本書(shū)不僅適用于計(jì)算機(jī)相關(guān)專業(yè)的本科、?萍案呗殞W(xué)生的教學(xué),還適合Oracle的各類培訓(xùn)及用Oracle進(jìn)行應(yīng)用程序開(kāi)發(fā)的用戶學(xué)習(xí)和參考。
本書(shū)第1章由仝春靈編寫(xiě),第2、3章由張?jiān)谰帉?xiě),第4、5章由焦忭忭編寫(xiě),第6、7章由黃衛(wèi)東編寫(xiě),第8~13章由劉麗編寫(xiě)。全書(shū)由劉麗擔(dān)任主編,完成全書(shū)的修改及統(tǒng)稿。同時(shí),感謝倪翠、劉泉?jiǎng)P、宮家樂(lè)、曹顏芳、姜美玉等對(duì)本書(shū)編寫(xiě)過(guò)程中的建議和幫助。本書(shū)在編寫(xiě)過(guò)程中得到山東交通學(xué)院信息科學(xué)與電氣工程學(xué)院(人工智能學(xué)院)的大力支持,在此表示衷心的感謝。
由于編者水平有限,書(shū)中不當(dāng)之處在所難免,歡迎廣大同行和讀者批評(píng)指正。
編者
2020年2月
第1章數(shù)據(jù)庫(kù)基礎(chǔ)
1.1數(shù)據(jù)庫(kù)基本概念
1.1.1數(shù)據(jù)庫(kù)系統(tǒng)
1.1.2數(shù)據(jù)模型
1.1.3數(shù)據(jù)庫(kù)邏輯數(shù)據(jù)模型
1.2關(guān)系數(shù)據(jù)庫(kù)
1.2.1二維表
1.2.2完整性
1.2.3范式理論
1.2.4關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言
1.3數(shù)據(jù)庫(kù)設(shè)計(jì)
1.3.1概念結(jié)構(gòu)設(shè)計(jì)
1.3.2邏輯結(jié)構(gòu)設(shè)計(jì)
1.3.3物理結(jié)構(gòu)設(shè)計(jì)
1.4本章小結(jié)
習(xí)題1
第2章Oracle數(shù)據(jù)庫(kù)安裝與啟動(dòng)
2.1Oracle 12c簡(jiǎn)介
2.1.1Oracle數(shù)據(jù)庫(kù)的發(fā)展歷程
2.1.2Oracle 12c的新特征
2.1.3Oracle的管理工具
2.2Oracle 12c的安裝
2.2.1安裝前的準(zhǔn)備
2.2.2數(shù)據(jù)庫(kù)實(shí)例安裝
2.3Oracle數(shù)據(jù)庫(kù)的啟動(dòng)和登錄
2.3.1Oracle的啟動(dòng)管理
2.3.2登錄Oracle數(shù)據(jù)庫(kù)
2.4卸載Oracle 12c
2.5本章小結(jié)
習(xí)題2
第3章Oracle數(shù)據(jù)庫(kù)的體系結(jié)構(gòu)
3.1Oracle數(shù)據(jù)的庫(kù)基本結(jié)構(gòu)
3.2Oracle的數(shù)據(jù)庫(kù)結(jié)構(gòu)
3.2.1Oracle的物理存儲(chǔ)結(jié)構(gòu)
3.2.2Oracle的邏輯存儲(chǔ)結(jié)構(gòu)
3.3Oracle實(shí)例
3.3.1內(nèi)存結(jié)構(gòu)
3.3.2進(jìn)程結(jié)構(gòu)
3.4Oracle 12c多租戶架構(gòu)
3.5本章小結(jié)
習(xí)題3
Oracle 12c數(shù)據(jù)庫(kù)應(yīng)用教程
目錄
第4章數(shù)據(jù)庫(kù)的創(chuàng)建和管理
4.1使用DBCA創(chuàng)建和管理數(shù)據(jù)庫(kù)
4.1.1使用DBCA創(chuàng)建數(shù)據(jù)庫(kù)
4.1.2新建數(shù)據(jù)庫(kù)的連接
4.1.3使用DBCA刪除數(shù)據(jù)庫(kù)
4.1.4啟動(dòng)和關(guān)閉數(shù)據(jù)庫(kù)
4.2表空間
4.2.1表空間
4.2.2創(chuàng)建表空間
4.2.3修改表空間
4.2.4刪除表空間
4.2.5創(chuàng)建臨時(shí)表空間
4.2.6創(chuàng)建撤銷表空間
4.2.7查看表空間
4.2.8使用OEM操作表空間
4.3控制文件
4.3.1控制文件簡(jiǎn)介
4.3.2控制文件的查看和更新
4.3.3多路復(fù)用控制文件
4.4日志文件
4.4.1日志文件簡(jiǎn)介
4.4.2管理日志文件
4.5本章小結(jié)
習(xí)題4
第5章數(shù)據(jù)表的創(chuàng)建和管理
5.1數(shù)據(jù)類型
5.1.1數(shù)值數(shù)據(jù)類型
5.1.2日期/時(shí)間類型
5.1.3字符串?dāng)?shù)據(jù)類型
5.2數(shù)據(jù)表的創(chuàng)建、修改和刪除
5.2.1創(chuàng)建數(shù)據(jù)表
5.2.2修改數(shù)據(jù)表
5.2.3刪除數(shù)據(jù)表
5.3數(shù)據(jù)完整性約束
5.3.1數(shù)據(jù)完整性類型
5.3.2使用非空約束
5.3.3使用默認(rèn)值約束
5.3.4使用主鍵約束
5.3.5使用唯一性約束
5.3.6使用檢查約束
5.3.7使用外鍵約束
5.3.8設(shè)置表的屬性值自動(dòng)增加
5.4創(chuàng)建案例數(shù)據(jù)庫(kù)表
5.5數(shù)據(jù)操作
5.5.1插入數(shù)據(jù)
5.5.2更新數(shù)據(jù)
5.5.3刪除數(shù)據(jù)
5.6使用SQL Developer工具管理數(shù)據(jù)表
5.6.1數(shù)據(jù)表的管理
5.6.2數(shù)據(jù)導(dǎo)入
5.7本章小結(jié)
習(xí)題5
第6章數(shù)據(jù)查詢
6.1單表查詢
6.1.1基本查詢語(yǔ)句
6.1.2選擇列
6.1.3條件查詢
6.1.4使用集合函數(shù)查詢
6.1.5分組查詢
6.1.6對(duì)查詢結(jié)果排序
6.1.7使用ROWNUM限制查詢結(jié)果數(shù)量
6.2連接查詢
6.2.1連接謂詞引導(dǎo)的連接
6.2.2JOIN關(guān)鍵字指定的連接
6.2.3合并結(jié)果集
6.3子查詢
6.3.1IN子查詢
6.3.2比較子查詢
6.3.3EXISTS子查詢
6.3.4查詢對(duì)象
6.4使用正則表達(dá)式查詢
6.5含替換變量的查詢
6.5.1&替換變量
6.5.2&&替換變量
6.6本章小結(jié)
習(xí)題6
第7章視圖
7.1視圖概述
7.2視圖的創(chuàng)建和查看
7.2.1視圖的創(chuàng)建
7.2.2視圖的查詢
7.2.3視圖的查看
7.3視圖的修改和更新
7.3.1修改視圖
7.3.2視圖的更新
7.4視圖的刪除
7.5本章小結(jié)
習(xí)題7
第8章PL/SQL編程
8.1PL/SQL概述
8.1.1什么是PL/SQL
8.1.2PL/SQL基本結(jié)構(gòu)
8.1.3PL/SQL的編程規(guī)范
8.2PL/SQL變量和數(shù)據(jù)類型
8.2.1常量和變量
8.2.2數(shù)據(jù)類型
8.3PL/SQL程序結(jié)構(gòu)
8.3.1基本處理流程
8.3.2IF條件控制語(yǔ)句
8.3.3CASE條件控制語(yǔ)句
8.3.4LOOP循環(huán)控制語(yǔ)句
8.4異常處理
8.4.1預(yù)定義異常
8.4.2用戶定義異常
8.5PL/SQL中使用DML和DDL語(yǔ)言
8.5.1DML語(yǔ)言的使用
8.5.2DDL語(yǔ)言的使用
8.6自定義函數(shù)
8.6.1函數(shù)的創(chuàng)建
8.6.2函數(shù)的查看
8.6.3修改、刪除函數(shù)
8.7本章小結(jié)
習(xí)題8
第9章游標(biāo)、存儲(chǔ)過(guò)程和觸發(fā)器
9.1游標(biāo)
9.1.1游標(biāo)的概念
9.1.2顯式游標(biāo)
9.1.3游標(biāo)與循環(huán)
9.1.4隱式游標(biāo)
9.2存儲(chǔ)過(guò)程
9.2.1什么是存儲(chǔ)過(guò)程
9.2.2創(chuàng)建存儲(chǔ)過(guò)程
9.2.3調(diào)用存儲(chǔ)過(guò)程
9.2.4查看存儲(chǔ)過(guò)程
9.2.5修改、刪除存儲(chǔ)過(guò)程
9.3觸發(fā)器
9.3.1什么是觸發(fā)器
9.3.2創(chuàng)建觸發(fā)器
9.3.3啟用、禁用觸發(fā)器
9.3.4查看觸發(fā)器
9.3.5修改、刪除觸發(fā)器
9.4本章小結(jié)
習(xí)題9
第10章系統(tǒng)安全性管理
10.1用戶管理
10.1.1Oracle安全性機(jī)制
10.1.2用戶的創(chuàng)建
10.1.3用戶的修改
10.1.4用戶的刪除
10.2權(quán)限管理
10.2.1系統(tǒng)權(quán)限的管理
10.2.2對(duì)象權(quán)限的管理
10.3角色管理
10.3.1角色的創(chuàng)建
10.3.2角色的管理
10.4審計(jì)
10.4.1登錄審計(jì)
10.4.2操作審計(jì)
10.4.3對(duì)象審計(jì)
10.5本章小結(jié)
習(xí)題10
第11章數(shù)據(jù)庫(kù)的備份與恢復(fù)
11.1備份與恢復(fù)概述
11.1.1備份
11.1.2恢復(fù)
11.2數(shù)據(jù)備份
11.2.1冷備份
11.2.2熱備份
11.3數(shù)據(jù)恢復(fù)
11.4數(shù)據(jù)導(dǎo)出與導(dǎo)入
11.4.1用EXP工具導(dǎo)出數(shù)據(jù)
11.4.2用IMP工具導(dǎo)入數(shù)據(jù)
11.4.3用EXPDP導(dǎo)出數(shù)據(jù)
11.4.4用IMPDP導(dǎo)入數(shù)據(jù)
11.5本章小結(jié)
習(xí)題11
第12章事務(wù)、鎖和閃回
12.1事務(wù)
12.1.1事務(wù)的概念
12.1.2事務(wù)處理
12.1.3自治事務(wù)
12.2鎖
12.2.1鎖機(jī)制和死鎖
12.2.2鎖的類型
12.2.3表鎖和事務(wù)鎖
12.3閃回
12.3.1基本概念
12.3.2查詢閃回
12.3.3表閃回
12.3.4刪除閃回
12.3.5數(shù)據(jù)庫(kù)閃回
12.3.6歸檔閃回
12.4本章小結(jié)
習(xí)題12
第13章索引、序列和同義詞
13.1索引
13.1.1索引的分類
13.1.2索引的創(chuàng)建
13.1.3索引的維護(hù)和刪除
13.2序列
13.2.1序列的創(chuàng)建與應(yīng)用
13.2.2序列的維護(hù)和刪除
13.3同義詞
13.3.1同義詞的創(chuàng)建
13.3.2同義詞的刪除
13.4本章小結(jié)
習(xí)題13
參考文獻(xiàn)