第1篇 Oracle基礎篇
第1章 數據庫入門
1.1 數據庫基礎
1.1.1 什么是關系型數據庫
1.1.2 實體關系模型
1.1.3 數據庫管理系統(tǒng)
1.1.4 使用SQL語言管理數據庫
1.2 理解數據庫范式
1.2.1 什么是數據庫范式
1.2.2第一范式1NF
1.2.3第二范式2NF
1.2.4第三范式3NF
1.2.5 使用數據庫建模工具
1.3 認識Oracle數據庫系統(tǒng)
1.3.1 Oracle數據庫特性
1.3.2 Oracle數據庫術語
1.3.3 Oracle數據庫系統(tǒng)的組成
1.3.4 與SQL Server數據庫的比較
1.4 安裝Oracle數據庫
1.4.1 獲取Oracle數據庫軟件
1.4.2 使用Oracle技術與文檔庫
1.4.3 安裝Oracle數據庫
1.4.4 卸載Oracle數據庫
1.5 小結
1.6 習題
第2章 使用Oracle數據庫
2.1 管理Oracle系統(tǒng)
2.1.1 啟動和停止監(jiān)聽程序
2.1.2 數據庫的啟動和關閉
2.1.3 配置網絡監(jiān)聽程序
2.1.4 使用網絡配置助手工具
2.1.5 Net Manager網絡管理員
2.2 創(chuàng)建Oracle數據庫
2.2.1 使用DBCA創(chuàng)建數據庫
2.2.2 數據庫安裝參數
2.2.3 刪除現(xiàn)有數據庫
2.2.4 手動安裝數據庫
2.3 連接Oracle數據庫
2.3.1 安裝Oracle客戶端
2.3.2 客戶端網絡配置工具
2.3.3 使用Oracle企業(yè)管理器
2.3.4 使用SQL*Plus
2.3.5 使用Oracle SQL Developer
2.3.6 使用PL/SQL Developer
2.3.7 使用Toad
2.4 小結
2.5 習題
第3章 SQL與SQL*Plus
3.1 SQL語言基礎
3.1.1 SQL、SQL*Plus與Oracle的關系
3.1.2 SQL語言的特點
3.1.3 SQL語言的分類
3.1.4 SQL語言的編寫規(guī)則
3.2 認識SQL*Plus
3.2.1 SQL*Plus的功能
3.2.2 啟動SQL *Plus
3.2.3 重新連接數據庫
3.2.4 SQL*Plus運行環(huán)境設置
3.2.5 使用命令幫助
3.3 使用SQL*Plus管理數據庫對象
3.3.1 執(zhí)行SQL語句
3.3.2 了解SQL緩沖區(qū)
3.3.3 運行腳本文件
3.3.4 顯示表結構
3.4 格式化查詢結果
3.4.1 格式化列
3.4.2 清除列格式
3.4.3 限制重復行
3.4.4 使用匯總行
3.5 小結
3.6 習題第2篇 管理Oracle對象篇
第4章 操縱數據表
4.1 表基礎
4.1.1 表和實體
4.1.2 表的分類
4.1.3 表和列命名規(guī)則
4.1.4 內置列數據類型
4.2 創(chuàng)建表
4.2.1 理解表空間
4.2.2 創(chuàng)建標準表
4.2.3 全局臨時表
4.2.4 使用Dual表
4.2.5 查看表信息
4.3 修改表
4.3.1 添加表列
4.3.2 修改表列
4.3.3 刪除表列
4.3.4 重命名表列
4.3.5 刪除數據表
4.4 小結
4.5 習題
第5章 索引和約束
5.1 創(chuàng)建索引
5.1.1 索引的作用
5.1.2 索引的原理
5.1.3 索引的分類
5.1.4 創(chuàng)建B樹索引
5.1.5 創(chuàng)建位圖索引
5.1.6 創(chuàng)建函數索引
5.1.7 修改索引
5.1.8 刪除索引
5.1.9 查看索引信息
5.1.10 索引創(chuàng)建策略
5.2 創(chuàng)建約束
5.2.1 約束的分類
5.2.2 主鍵約束
5.2.3 外鍵約束
5.2.4 檢查約束
5.2.5 唯一性約束
5.3 管理約束
5.3.1 修改約束
5.3.2 禁用和啟用約束
5.3.3 查詢約束信息
5.4 小結
5.5 習題
第6章 視圖
6.1 視圖基礎
6.1.1 什么是視圖
6.1.2 視圖的分類
6.1.3 視圖創(chuàng)建語法
6.1.4 創(chuàng)建簡單視圖
6.1.5 創(chuàng)建復雜視圖
6.1.6 視圖的修改
6.1.7 視圖的刪除
6.2 內聯(lián)視圖
6.2.1 什么是內聯(lián)視圖
6.2.2 內聯(lián)視圖的執(zhí)行順序
6.2.3 內聯(lián)視圖與DML語句
6.3 物化視圖
6.3.1 什么是物化視圖
6.3.2 創(chuàng)建物化視圖
6.3.3 刪除物化視圖
6.4 小結
6.5 習題
第7章 序列和同義詞
7.1 使用序列
7.1.1 序列的作用
7.1.2 創(chuàng)建自增序列
7.1.3 NEXTVAL和CURRVAL偽列
7.1.4 使用序列編號
7.1.5 修改序列
7.1.6 刪除序列
7.2 使用同義詞
7.2.1 同義詞的作用
7.2.2 創(chuàng)建和使用同義詞
7.3 小結
7.4 習題第3篇 使用SQL語言篇
第8章 SQL查詢
8.1 單表查詢
8.1.1 SELECT語法
8.1.2 查詢指定列數據
8.1.3 移除重復列值
8.1.4 表達式查詢
8.1.5 指定查詢條件
8.1.6 BETWEEN、IN和LIKE范圍查詢
8.1.7 處理NULL列值
8.1.8 AND、OR、NOT邏輯運算符
8.1.9 ORDER BY排序
8.1.10 ROWNUM偽列
8.1.11 ROWID偽列
8.1.12 使用CASE表達式
8.2 分組查詢
8.2.1 分組查詢簡介
8.2.2 使用分組函數
8.2.3 使用GROUP BY子句分組
8.2.4 使用HAVING子句分組過濾
8.3 多表查詢
8.3.1 多表查詢分類
8.3.2 內連接
8.3.3 外連接
8.3.4 自引用連接
8.3.5 交叉連接
8.3.6 自然連接
8.4 小結
8.5 習題
第9章 操縱數據表
9.1 插入數據
9.1.1 理解DML語言
9.1.2 使用INSERT語句
9.1.3 DEFAULT和NULL值
9.1.4 使用子查詢插入多行數據
9.1.5 插入多表數據
9.2 更新數據
9.2.1 使用UPDATE語句
9.2.2 使用RETURNING子句
9.2.3 使用子查詢更新多行記錄
9.2.4 使用MERGE合并數據表
9.3 刪除數據
9.3.1 刪除單行記錄
9.3.2 刪除多行記錄
9.3.3 使用TRUNCATE清空表數據
9.4 小結
9.5 習題
第10章 Oracle內置函數
10.1 函數基礎
10.1.1 函數簡介
10.1.2 函數的分類
10.2 字符型函數
10.2.1 字符型函數列表
10.2.2 大小寫轉換函數
10.2.3 字符串處理函數
10.2.4 字符串替代函數
10.3 數字型函數
10.3.1 數字型函數列表
10.3.2 數字型函數示例
10.4 日期時間函數
10.4.1 日期時間函數列表
10.4.2 日期時間函數示例
10.5 類型轉換函數
10.5.1 類型轉換函數列表
10.5.2 TO_CHAR將日期型轉換為字符串
10.5.3 TO_CHAR將數字型轉換為字符串
10.5.4 TO_DATE將字符串轉換為日期
10.5.5 TO_NUMBER將字符串轉換為數字
10.6 通用函數列表
10.7 小結
10.8 習題第4篇 PL/SQL編程篇
第11章 PL/SQL入門
11.1 PL/SQL基礎
11.1.1 結構化程序設計
11.1.2 與SQL語言整合
11.1.3 提高程序性能
11.1.4 模塊化應用程序開發(fā)
11.1.5 面向對象的開發(fā)
11.2 PL/SQL語言概覽
11.2.1 PL/SQL塊
11.2.2 變量和數據類型
11.2.3 程序控制語句
11.2.4 存儲過程、函數與包
11.2.5 觸發(fā)器簡介
11.2.6 結構化異常處理
11.2.7 集合與記錄
11.2.8 游標基礎
11.3 小結
11.4 習題
第12章 存儲子程序和包
12.1 定義子程序
12.1.1 什么是子程序
12.1.2 子程序的調試
12.1.3 創(chuàng)建過程
12.1.4 創(chuàng)建函數
12.1.5 使用RETURN語句
12.1.6 查看子程序
12.1.7 刪除子程序
12.2 子程序參數
12.2.1 形式參數與實際參數
12.2.2 IN、OUT和IN OUT模式
12.2.3 參數調用方式
12.3 定義PL/SQL包
12.3.1 什么是包(Package)
12.3.2 定義包規(guī)范
12.3.3 定義包體
12.3.4 調用包組件
12.4 小結
12.5 習題
第13章 記錄與集合
13.1 使用PL/SQL記錄
13.1.1 什么是記錄
13.1.2 定義記錄類型
13.1.3 記錄類型賦值
13.1.4 在DML中使用記錄
13.2 使用集合類型
13.2.1 集合的分類
13.2.2 定義索引表
13.2.3 操縱索引表
13.2.4 定義嵌套表
13.2.5 操縱嵌套表
13.2.6 數據庫中的嵌套表
13.2.7 定義變長數組
13.2.8 操縱變長數組
13.2.9 數據庫中的變長數組
13.3 小結
13.4 習題
第14章 觸發(fā)器和游標
14.1 理解觸發(fā)器
14.1.1 觸發(fā)器的作用
14.1.2 觸發(fā)器的分類
14.2 DML觸發(fā)器
14.2.1 觸發(fā)器的執(zhí)行順序
14.2.2 定義DML觸發(fā)器
14.2.3 理解:OLD和:NEW謂詞記錄
14.2.4 使用REFERENCING子句
14.2.5 使用WHEN子句
14.2.6 理解自治事務
14.3 替代觸發(fā)器
14.3.1 什么是替代觸發(fā)器
14.3.2 定義替代觸發(fā)器
14.3.3 UPDATE和DELETE替代觸發(fā)器
14.4 系統(tǒng)事件觸發(fā)器
14.4.1 定義系統(tǒng)事件觸發(fā)器
14.4.2 使用DDL觸發(fā)器
14.4.3 使用數據庫觸發(fā)器
14.4.4 SERVERERROR觸發(fā)器
14.5 游標
14.5.1 什么是游標
14.5.2 定義游標
14.5.3 打開游標
14.5.4 提取游標數據
14.5.5 關閉游標
14.6 小結
14.7 習題第5篇 Oracle維護篇
第15章 數據庫安全性管理
15.1 用戶管理
15.1.1 用戶與方案簡介
15.1.2 創(chuàng)建用戶
15.1.3 修改用戶
15.1.4 刪除用戶
15.1.5 查詢用戶
15.1.6 在Oracle SQL Developer中管理用戶
15.2 權限管理
15.2.1 理解權限
15.2.2 分配權限
15.2.3 撤銷權限
15.2.4 查看權限
15.3 角色管理
15.3.1 角色簡介
15.3.2 創(chuàng)建角色
15.3.3 分配權限
15.3.4 管理角色
15.3.5 查看角色
15.4 小結
15.5 習題
第16章 數據庫空間管理
16.1 理解表空間
16.1.1 表空間概述
16.1.2 表空間分類
16.1.3 表空間的創(chuàng)建
16.1.4 創(chuàng)建普通表空間
16.1.5 創(chuàng)建臨時表空間
16.1.6 創(chuàng)建大文件表空間
16.1.7 創(chuàng)建撤銷表空間
16.2 管理表空間
16.2.1 調整表空間大小
16.2.2 調整脫機和聯(lián)機狀態(tài)
16.2.3 調整只讀和只寫狀態(tài)
16.2.4 更改表空間名稱
16.2.5 刪除表空間
16.2.6 查詢表空間信息
16.3 小結
16.4 習題
第17章 備份和恢復數據庫
17.1 理解備份與恢復
17.1.1 什么是備份與恢復
17.1.2 備份與恢復的方法
17.2 脫機備份與恢復
17.2.1 理解脫機狀態(tài)
17.2.2 脫機備份
17.2.3 脫機恢復
17.3 邏輯備份與恢復
17.3.1 理解數據泵
17.3.2 使用expdp導出數據
17.3.3 使用impdp導入數據
17.4 聯(lián)機備份與恢復
17.4.1 設置歸檔日志模式
17.4.2 創(chuàng)建恢復表空間
17.4.3 創(chuàng)建RMAN用戶
17.4.4 創(chuàng)建恢復目錄
17.4.5 注冊目標數據庫
17.4.6 使用RMAN進行備份
17.4.7 使用RMAN進行恢復
17.5 小結
17.6 習題