Oracle是數(shù)據(jù)庫領(lǐng)域優(yōu)秀的數(shù)據(jù)庫軟件。隨著云計(jì)算和大數(shù)據(jù)的廣泛應(yīng)用,Oracle公司于2013年推出了Oracle 12c版本。Oracle 12c是基于云計(jì)算、具有高可用性、功能強(qiáng)大的數(shù)據(jù)庫產(chǎn)品。本書以O(shè)racle 12c為平臺(tái),系統(tǒng)地講述了Oracle 12c數(shù)據(jù)庫的概念、管理和應(yīng)用開發(fā)等內(nèi)容。本書以初學(xué)者為對(duì)象,教材內(nèi)容以適量、實(shí)用為基準(zhǔn),注重知識(shí)的循序漸進(jìn)和融會(huì)貫通,著重培養(yǎng)學(xué)生應(yīng)用理論知識(shí)分析和解決實(shí)際問題的能力。全書以學(xué)生選課數(shù)據(jù)庫為例,實(shí)例貫穿整個(gè)教材,書中代碼都在Oracle 12c中運(yùn)行通過。
本書共13章,主要內(nèi)容有:數(shù)據(jù)庫基礎(chǔ),Oracle數(shù)據(jù)庫的安裝與啟動(dòng),Oracle數(shù)據(jù)庫的體系結(jié)構(gòu),數(shù)據(jù)庫的創(chuàng)建和管理,數(shù)據(jù)表的創(chuàng)建和管理,數(shù)據(jù)查詢,視圖,PL/SQL編程,游標(biāo)、存儲(chǔ)過程和觸發(fā)器,Oracle的安全管理,備份與恢復(fù),事務(wù)、鎖和閃回,索引、序列和同義詞。
本書編者來自山東交通學(xué)院從事一線數(shù)據(jù)庫教學(xué)多年的教師,具有豐富的教學(xué)經(jīng)驗(yàn)。本書不僅適用于計(jì)算機(jī)相關(guān)專業(yè)的本科、?萍案呗殞W(xué)生的教學(xué),還適合Oracle的各類培訓(xùn)及用Oracle進(jìn)行應(yīng)用程序開發(fā)的用戶學(xué)習(xí)和參考。
本書第1章由仝春靈編寫,第2、3章由張?jiān)谰帉懀?、5章由焦忭忭編寫,第6、7章由黃衛(wèi)東編寫,第8~13章由劉麗編寫。全書由劉麗擔(dān)任主編,完成全書的修改及統(tǒng)稿。同時(shí),感謝倪翠、劉泉?jiǎng)P、宮家樂、曹顏芳、姜美玉等對(duì)本書編寫過程中的建議和幫助。本書在編寫過程中得到山東交通學(xué)院信息科學(xué)與電氣工程學(xué)院(人工智能學(xué)院)的大力支持,在此表示衷心的感謝。
由于編者水平有限,書中不當(dāng)之處在所難免,歡迎廣大同行和讀者批評(píng)指正。
編者
2020年2月
第1章數(shù)據(jù)庫基礎(chǔ)
1.1數(shù)據(jù)庫基本概念
1.1.1數(shù)據(jù)庫系統(tǒng)
1.1.2數(shù)據(jù)模型
1.1.3數(shù)據(jù)庫邏輯數(shù)據(jù)模型
1.2關(guān)系數(shù)據(jù)庫
1.2.1二維表
1.2.2完整性
1.2.3范式理論
1.2.4關(guān)系數(shù)據(jù)庫語言
1.3數(shù)據(jù)庫設(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ù)庫安裝與啟動(dòng)
2.1Oracle 12c簡介
2.1.1Oracle數(shù)據(jù)庫的發(fā)展歷程
2.1.2Oracle 12c的新特征
2.1.3Oracle的管理工具
2.2Oracle 12c的安裝
2.2.1安裝前的準(zhǔn)備
2.2.2數(shù)據(jù)庫實(shí)例安裝
2.3Oracle數(shù)據(jù)庫的啟動(dòng)和登錄
2.3.1Oracle的啟動(dòng)管理
2.3.2登錄Oracle數(shù)據(jù)庫
2.4卸載Oracle 12c
2.5本章小結(jié)
習(xí)題2
第3章Oracle數(shù)據(jù)庫的體系結(jié)構(gòu)
3.1Oracle數(shù)據(jù)的庫基本結(jié)構(gòu)
3.2Oracle的數(shù)據(jù)庫結(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ù)庫應(yīng)用教程
目錄
第4章數(shù)據(jù)庫的創(chuàng)建和管理
4.1使用DBCA創(chuàng)建和管理數(shù)據(jù)庫
4.1.1使用DBCA創(chuàng)建數(shù)據(jù)庫
4.1.2新建數(shù)據(jù)庫的連接
4.1.3使用DBCA刪除數(shù)據(jù)庫
4.1.4啟動(dòng)和關(guān)閉數(shù)據(jù)庫
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控制文件簡介
4.3.2控制文件的查看和更新
4.3.3多路復(fù)用控制文件
4.4日志文件
4.4.1日志文件簡介
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ù)庫表
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基本查詢語句
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條件控制語句
8.3.3CASE條件控制語句
8.3.4LOOP循環(huán)控制語句
8.4異常處理
8.4.1預(yù)定義異常
8.4.2用戶定義異常
8.5PL/SQL中使用DML和DDL語言
8.5.1DML語言的使用
8.5.2DDL語言的使用
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ǔ)過程和觸發(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ǔ)過程
9.2.1什么是存儲(chǔ)過程
9.2.2創(chuàng)建存儲(chǔ)過程
9.2.3調(diào)用存儲(chǔ)過程
9.2.4查看存儲(chǔ)過程
9.2.5修改、刪除存儲(chǔ)過程
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ù)庫的備份與恢復(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ù)庫閃回
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)