本書以Oracle 21c數(shù)據(jù)庫為基礎,系統(tǒng)、完整地介紹Oracle應用開發(fā)與系統(tǒng)管理的基礎知識。全書共分15章,內容包括Oracle起步入門,表及其管理,使用SELECT查詢,常用內置函數(shù),模式對象管理,PL/SQL編程基礎,函數(shù)、過程、程序包和觸發(fā)器,Oracle體系結構,用戶與權限管理,事務與并發(fā)控制,Oracle存儲管理,備份與恢復,閃回技術,多租戶體系結構,最后介紹一個項目開發(fā)案例,附錄中給出了SQL Plus的常用命令及使用說明。 本書結構編排合理,內容循序漸進,語言通俗易懂,講解了Oracle數(shù)據(jù)庫核心基礎知識。本書通過大量精選例題和實踐練習,使讀者快速掌握知識并提升動手實踐能力。本書可作為高等院校學生學習 Oracle 數(shù)據(jù)庫應用開發(fā)及數(shù)據(jù)庫課程的輔助教材和教學參考書,也可作為DBA的入門參考資料。
本書基于新版Oracle 21c數(shù)據(jù)庫軟件,詳細介紹Oracle數(shù)據(jù)庫的基礎知識,重點介紹Oracle SQL的使用和Oracle數(shù)據(jù)庫的管理知識。
Oracle數(shù)據(jù)庫是美國甲骨文公司開發(fā)的以分布式數(shù)據(jù)庫為核心的一組軟件產品,是流行的客戶/服務器體系結構的數(shù)據(jù)庫。它是世界上應用較為廣泛的數(shù)據(jù)庫管理系統(tǒng)。作為一個通用的數(shù)據(jù)庫系統(tǒng),它具有完整的數(shù)據(jù)管理功能。
本書基于新版Oracle 21c數(shù)據(jù)庫軟件,詳細介紹Oracle數(shù)據(jù)庫的基礎知識,重點介紹Oracle SQL的使用和Oracle數(shù)據(jù)庫的管理知識。
主要內容
本書第1~7章介紹Oracle基礎知識,第8~14章介紹Oracle數(shù)據(jù)庫管理基礎,第15章介紹一個基于Oracle數(shù)據(jù)庫的應用項目。
第1章介紹Oracle 21c數(shù)據(jù)庫軟件安裝及常用工具的使用,包括SQL Plus、SQL Developer以及Database Express的使用,最后介紹使用DBCA管理數(shù)據(jù)庫。
第2章介紹用戶與模式的概念,數(shù)據(jù)類型,表的創(chuàng)建、修改、刪除,約束定義以及表的更新操作等。
第3章介紹使用SQL的SELECT實現(xiàn)數(shù)據(jù)查詢,包括簡單查詢、帶分組函數(shù)的查詢、連接查詢、子查詢及復合查詢等。
第4章介紹Oracle數(shù)據(jù)庫的常用內置函數(shù),包括數(shù)值函數(shù)、字符函數(shù)、日期時間函數(shù)、轉換函數(shù)及條件函數(shù)等。
第5章分別介紹視圖、索引、序列和同義詞等模式對象的創(chuàng)建和使用,還介紹了數(shù)據(jù)字典和動態(tài)性能視圖。
第6章介紹PL/SQL的塊結構、常量和變量、各種數(shù)據(jù)類型、控制結構、游標和游標變量、PL/SQL異常處理等。
第7章主要介紹用PL/SQL編寫各種程序,包括函數(shù)和存儲過程、程序包和觸發(fā)器的開發(fā)和使用。
第8章介紹Oracle的體系結構,包括實例的內存結構、進程結構,Oracle數(shù)據(jù)庫的物理存儲結構和邏輯結構,數(shù)據(jù)庫實例管理及網(wǎng)絡管理等。
第9章介紹Oracle 用戶賬戶的創(chuàng)建與管理、權限管理、角色管理、配置文件管理等。
第10章介紹事務與并發(fā)控制,包括事務的概念及ACID特性、事務與還原管理、鎖與并發(fā)控制的概念。
第11章主要介紹Oracle的存儲管理,包括表空間與數(shù)據(jù)文件、重做日志文件以及控制文件的管理。
第12章介紹備份與恢復的基本概念,重點介紹使用RMAN工具備份數(shù)據(jù)庫、數(shù)據(jù)文件、表空間等以及如何恢復數(shù)據(jù)庫。本章還介紹了數(shù)據(jù)傳輸與加載。
第13章介紹Oracle的常用閃回技術,包括閃回查詢、閃回表、閃回刪除、閃回數(shù)據(jù)歸檔和閃回數(shù)據(jù)庫等。
第14章介紹Oracle的多租戶體系結構,包括容器數(shù)據(jù)庫和可插入數(shù)據(jù)庫的連接、管理等。
第15章通過一個電力系統(tǒng)營銷人員技能競賽項目的案例,講解如何使用Oracle作為后端數(shù)據(jù)存儲開發(fā)的一個Web應用。
附錄中給出了SQL Plus的常用命令及使用說明。
Oracle 21c數(shù)據(jù)庫基礎入門(微課視頻版)
前言
本書特點
本書以新版的Oracle 21c為基礎,介紹Oracle數(shù)據(jù)庫的基本知識。書中通過大量精心設計的例題和實踐練習,深入淺出地介紹了Oracle應用開發(fā)方法和相關技術。
本書結構安排合理,用通俗易懂的語言、簡短精練的示例代碼,力求讓讀者快速入門。書中除第15章外每章均提供若干實踐練習和習題供讀者學習、提高綜合應用能力。
讀者對象
本書可作為高等院校學生學習 Oracle 數(shù)據(jù)庫應用開發(fā)及數(shù)據(jù)庫課程的輔助教材和教學參考書,也可作為DBA的入門參考資料。
教學資源
為便于教學,本書提供豐富的配套資源,包括教學大綱、教學課件、程序源碼、習題答案和微課視頻。
資源下載提示
課件等資源: 用手機掃描封底的課件下載二維碼,在公眾號書圈下載。
視頻等資源: 用手機掃描封底的文泉云盤防盜碼,再掃描書中相應章節(jié)中的二維碼,可以在線學習。
致謝
本書由沈澤剛、趙緒輝任主編,劉允峰、趙震任副主編,劉中杰、孫蕾、趙立雙、胡斌等參加了本書的編寫工作。本書寫作參考了大量文獻,向這些文獻作者表示感謝。由于作者水平有限,書中難免有不足之處,懇請同行和讀者批評指正。
編者2023年5月
第1章Oracle起步入門
1.1關系數(shù)據(jù)庫
1.1.1關系術語
1.1.2數(shù)據(jù)庫軟件
1.1.3SQL數(shù)據(jù)庫語言
1.2Oracle 21c數(shù)據(jù)庫安裝
1.2.1Oracle 21c環(huán)境要求
1.2.2安裝Oracle 21c數(shù)據(jù)庫軟件
1.2.3服務器的啟動和關閉
1.2.4卸載Oracle數(shù)據(jù)庫軟件
1.3SQL Plus客戶工具
1.3.1用SQL Plus連接數(shù)據(jù)庫
1.3.2SQL Plus連接錯誤
1.3.3SQL語句編輯命令
1.3.4腳本文件操作命令
1.3.5格式化列
1.3.6常用SET設置命令
1.3.7使用變量
1.4SQL Developer
1.4.1SQL Developer界面
1.4.2創(chuàng)建數(shù)據(jù)庫連接
1.4.3SQL Developer管理模式對象
1.5Database Express
1.6使用DBCA管理數(shù)據(jù)庫
本章小結
習題與實踐
第2章表及其管理
2.1用戶與模式
2.1.1創(chuàng)建C##WEBSTORE模式
2.1.2模式對象
2.2數(shù)據(jù)類型
2.2.1字符類型
2.2.2數(shù)值類型
2.2.3日期和時間類型
2.2.4LOB數(shù)據(jù)類型
目錄
2.3約束條件
2.3.1非空約束
2.3.2主鍵約束
2.3.3檢查約束
2.3.4唯一約束
2.3.5外鍵約束
2.4創(chuàng)建、修改和刪除表
2.4.1創(chuàng)建簡單的表
2.4.2使用子查詢創(chuàng)建表
2.4.3修改表的定義
2.4.4刪除表
2.5更新操作
2.5.1INSERT語句插入行
2.5.2UPDATE語句更新行
2.5.3DELETE語句刪除行
2.5.4事務簡介
2.6使用SQL Developer操作表
2.6.1創(chuàng)建表
2.6.2修改和刪除表
2.6.3更新表數(shù)據(jù)
2.7創(chuàng)建和使用臨時表
本章小結
習題與實踐
第3章使用SELECT查詢
3.1SELECT語句基礎
3.1.1查看表結構
3.1.2簡單查詢
3.1.3用WHERE子句限定行
3.1.4行標識符和行號
3.1.5查詢結果排序
3.1.6TOP N查詢
3.1.7使用CASE表達式
3.2帶分組函數(shù)的查詢
3.2.1常用分組函數(shù)
3.2.2使用GROUP BY子句分組
3.2.3使用HAVING子句限制分組結果
3.2.4組合使用WHERE、GROUP BY和HAVING子句
3.3連接查詢
3.3.1內連接
3.3.2自然連接
3.3.3外連接
3.3.4交叉連接
3.3.5自連接
3.3.6Oracle傳統(tǒng)連接
3.4子查詢
3.4.1帶比較運算符的子查詢
3.4.2帶IN運算符的子查詢
3.4.3帶SOME或ALL謂詞的子查詢
3.4.4帶EXISTS謂詞的子查詢
3.4.5DML語句中的子查詢
3.5復合查詢
3.5.1UNION ALL運算符
3.5.2UNION運算符
3.5.3INTERSECT運算符
3.5.4MINUS運算符
3.5.5控制返回行的順序
本章小結
習題與實踐
第4章常用內置函數(shù)
4.1函數(shù)概述
4.2數(shù)值函數(shù)
4.3字符函數(shù)
4.4日期時間函數(shù)
4.5轉換函數(shù)
4.5.1數(shù)據(jù)類型轉換
4.5.2常用的轉換函數(shù)
4.6條件函數(shù)
本章小結
習題與實踐
第5章模式對象管理
5.1視圖
5.1.1創(chuàng)建并使用視圖
5.1.2修改視圖
5.1.3刪除視圖
5.2索引
5.2.1索引及其作用
5.2.2索引的類型
5.2.3創(chuàng)建索引
5.2.4獲取有關索引的信息
5.2.5重建和刪除索引
5.2.6監(jiān)視索引的使用
5.2.7位圖索引
5.3序列
5.3.1創(chuàng)建序列
5.3.2使用序列
5.3.3修改和刪除序列
5.3.4查看序列信息
5.4同義詞
5.4.1創(chuàng)建同義詞
5.4.2查看同義詞信息
5.4.3刪除同義詞
5.5數(shù)據(jù)字典和動態(tài)性能視圖
5.5.1數(shù)據(jù)字典
5.5.2動態(tài)性能視圖
本章小結
習題與實踐
第6章PL/SQL編程基礎
6.1PL/SQL基礎
6.1.1程序類型和結構
6.1.2變量和數(shù)據(jù)類型
6.1.3變量的賦值
6.1.4用查詢?yōu)樽兞抠x值
6.1.5使用%TYPE和%ROWTYPE屬性
6.2PL/SQL控制結構
6.2.1條件控制語句
6.2.2循環(huán)控制語句
6.2.3GOTO語句的使用
6.2.4空語句
6.3游標和游標變量
6.3.1顯式游標
6.3.2隱式游標
6.3.3游標屬性
6.3.4帶參數(shù)游標
6.3.5游標FOR循環(huán)
6.3.6使用游標更新或刪除數(shù)據(jù)
6.3.7記錄類型和表類型
6.3.8游標變量
6.4PL/SQL異常處理
6.4.1錯誤及錯誤類型
6.4.2預定義的異常錯誤
6.4.3用戶定義的異常
本章小結
習題與實踐
第7章函數(shù)、過程、程序包和觸發(fā)器
7.1函數(shù)
7.1.1創(chuàng)建和使用函數(shù)
7.1.2參數(shù)傳遞
7.1.3參數(shù)默認值
7.1.4刪除函數(shù)
7.1.5在匿名塊中定義函數(shù)
7.2過程
7.2.1創(chuàng)建和執(zhí)行過程
7.2.2刪除過程
7.2.3在匿名塊中定義過程
7.3程序包
7.3.1創(chuàng)建包規(guī)范
7.3.2創(chuàng)建包體
7.3.3調用包的函數(shù)和過程
7.3.4刪除包
7.3.5Oracle預定義程序包
7.4觸發(fā)器
7.4.1觸發(fā)器概述
7.4.2創(chuàng)建觸發(fā)器
7.4.3DML觸發(fā)器
7.4.4INSTEAD OF替代觸發(fā)器
7.4.5系統(tǒng)事件觸發(fā)器
7.4.6禁用與啟用觸發(fā)器
7.4.7修改和刪除觸發(fā)器
本章小結
習題與實踐
第8章Oracle體系結構
8.1體系結構概述
8.2實例內存結構
8.2.1實例緩沖區(qū)緩存
8.2.2重做日志緩沖區(qū)
8.2.3共享池
8.2.4大型池和Java池
8.3實例進程結構
8.3.1DBWn
8.3.2LGWR
8.3.3ARCn
8.3.4CKPT
8.3.5SMON
8.3.6PMON
8.4物理存儲結構
8.4.1數(shù)據(jù)文件
8.4.2重做日志文件
8.4.3控制文件
8.4.4歸檔日志文件
8.4.5其他數(shù)據(jù)庫文件
8.5邏輯結構
8.5.1表空間
8.5.2段
8.5.3區(qū)間
8.5.4數(shù)據(jù)塊
8.6管理數(shù)據(jù)庫實例
8.6.1啟動數(shù)據(jù)庫實例
8.6.2關閉數(shù)據(jù)庫實例
8.6.3數(shù)據(jù)庫初始化參數(shù)
8.7Oracle網(wǎng)絡管理
8.7.1Oracle Net及主要功能
8.7.2Oracle Net網(wǎng)絡配置
8.7.3配置監(jiān)聽器
8.7.4啟動監(jiān)聽器
8.7.5服務名解析方法和配置
本章小結
習題與實踐
第9章用戶與權限管理
9.1創(chuàng)建和管理用戶賬戶
9.1.1用戶賬戶屬性
9.1.2創(chuàng)建、修改和刪除用戶
9.2授予與回收權限
9.2.1系統(tǒng)權限
9.2.2對象權限
9.3創(chuàng)建和管理角色
9.3.1創(chuàng)建并授予角色權限
9.3.2預定義的角色
9.3.3用戶默認角色及角色啟用
9.4配置文件管理
9.4.1資源限制
9.4.2口令管理
9.4.3配置文件的創(chuàng)建和分配
本章小結
習題與實踐
第10章事務與并發(fā)控制
10.1事務
10.1.1事務的概念
10.1.2事務處理
10.1.3保存點
10.1.4事務的ACID特性
10.2事務與還原
10.2.1還原段
10.2.2SQL語句執(zhí)行與還原段
10.2.3還原保留與閃回查詢
10.2.4事務隔離級別
10.3鎖與并發(fā)控制
10.3.1鎖及其類型
10.3.2表級鎖
10.3.3LOCK TABLE命令
10.3.4鎖爭用與死鎖
本章小結
習題與實踐
第11章Oracle存儲管理
11.1表空間與數(shù)據(jù)文件
11.1.1數(shù)據(jù)庫常用表空間
11.1.2表空間的類型和屬性
11.1.3數(shù)據(jù)文件
11.1.4創(chuàng)建和管理表空間
11.1.5修改表空間
11.1.6刪除表空間
11.1.7還原表空間管理
11.2重做日志文件
11.2.1重做日志組和重做日志文件
11.2.2日志切換操作
11.2.3增加日志組及其成員
11.2.4刪除重做日志組和日志文件
11.3控制文件
11.3.1查看控制文件
11.3.2控制文件復用
11.3.3備份和恢復控制文件
11.3.4刪除控制文件
本章小結
習題與實踐
第12章備份與恢復
12.1備份與恢復概述
12.1.1備份與恢復的概念
12.1.2備份的類型
12.2備份與恢復的配置
12.2.1歸檔日志模式和歸檔進程
12.2.2配置快速恢復區(qū)
12.2.3配置歸檔日志模式
12.3使用RMAN實現(xiàn)備份
12.3.1恢復管理器RMAN
12.3.2啟動RMAN連接到目標數(shù)據(jù)庫
12.3.3使用BACKUP命令備份數(shù)據(jù)庫
12.3.4歸檔日志模式下備份
12.3.5備份表空間和數(shù)據(jù)文件
12.3.6備份歸檔日志文件
12.3.7創(chuàng)建映像副本
12.3.8創(chuàng)建增量備份
12.3.9LIST、REPORT和DELETE命令
12.3.10配置RMAN參數(shù)值
12.4使用RMAN實現(xiàn)恢復
12.4.1還原與恢復
12.4.2完整恢復不重要的數(shù)據(jù)文件
12.4.3完整恢復重要的數(shù)據(jù)文件
12.5數(shù)據(jù)傳輸與加載
12.5.1創(chuàng)建和使用Oracle目錄
12.5.2使用數(shù)據(jù)泵EXPDP導出數(shù)據(jù)
12.5.3使用數(shù)據(jù)泵IMPDP導入數(shù)據(jù)
12.5.4用SQL*Loader工具加載外部數(shù)據(jù)
本章小結
習題與實踐
第13章閃回技術
13.1閃回技術概述
13.2閃回查詢
13.2.1基本閃回查詢
13.2.2閃回版本查詢
13.2.3閃回事務查詢
13.3閃回表
13.4閃回刪除
13.4.1執(zhí)行閃回刪除
13.4.2管理回收站
13.5閃回數(shù)據(jù)歸檔
13.5.1創(chuàng)建與管理閃回數(shù)據(jù)歸檔區(qū)
13.5.2為表指定閃回數(shù)據(jù)歸檔區(qū)
13.5.3使用閃回數(shù)據(jù)歸檔
13.6閃回數(shù)據(jù)庫
13.6.1配置閃回數(shù)據(jù)庫
13.6.2使用閃回數(shù)據(jù)庫
本章小結
習題與實踐
第14章多租戶體系結構
14.1多租戶數(shù)據(jù)庫體系結構
14.1.1多租戶概念
14.1.2CDB和根容器
14.1.3PDB: 可插入數(shù)據(jù)庫
14.2建立到CDB和PDB的連接
14.2.1理解CDB和PDB服務名
14.2.2連接到CDB和PDB
14.3CDB的啟動和關閉、PDB的打開和關閉
14.3.1關閉CDB實例
14.3.2啟動CDB實例
14.3.3打開和關閉PDB
14.4管理可插入數(shù)據(jù)庫
14.4.1使用PDB$SEED創(chuàng)建新PDB
14.4.2克隆PDB創(chuàng)建新PDB
14.4.3拔出、插入和刪除PDB
14.5用戶、角色和權限管理
14.5.1公共用戶和本地用戶
14.5.2在CDB中創(chuàng)建公共用戶
14.5.3在PDB中創(chuàng)建本地用戶
14.5.4公共授權和本地授權
14.5.5管理公共角色和本地角色
本章小結
習題與實踐
第15章技能競賽平臺實例
15.1系統(tǒng)設計
15.1.1系統(tǒng)功能需求說明
15.1.2系統(tǒng)模塊劃分
15.2數(shù)據(jù)庫設計
15.2.1數(shù)據(jù)庫概念結構設計
15.2.2數(shù)據(jù)庫邏輯結構設計
15.2.3數(shù)據(jù)庫實現(xiàn)
15.3系統(tǒng)管理
15.3.1導入相關的jar包
15.3.2頁面組織
15.3.3組件與Servlet管理
15.4組件設計
15.4.1數(shù)據(jù)庫連接
15.4.2過濾器
15.4.3實體模型
15.5前臺參賽者系統(tǒng)實現(xiàn)
15.5.1參賽者登錄
15.5.2不定項選擇答題
15.6后臺管理系統(tǒng)實現(xiàn)
15.6.1不定項選擇試題管理
15.6.2不定項選擇試題添加
15.6.3不定項選擇試題刪除
本章小結
附錄SQL Plus常用命令
參考文獻