出版時間:2012-10 出版社:電子工業(yè)出版社 作者:丁勇 頁數(shù):352 字數(shù):583000
Tag標簽:無
內(nèi)容概要
本書用簡單易懂的實例和大量的圖示,深入淺出地介紹了Oracle數(shù)據(jù)庫的操作與編程方面的知識。作者以實際工作為切入點,詳細介紹了Oracle數(shù)據(jù)庫的基礎知識及PL/SQL程序設計實戰(zhàn)的知識。本書共分為17章,主要介紹了數(shù)據(jù)庫的入門知識、安裝Oracle以及使用Oracle的客戶端工具管理Oracle,Oracle數(shù)據(jù)庫表、索引、約束、視圖、序列和同義詞的創(chuàng)建與使用方法,如何使用DML語句和SELECT語句查詢與管理數(shù)據(jù)庫對象,PL/SQL編程方面的知識,以及用戶與數(shù)據(jù)庫表空間的管理。
書籍目錄
第1篇 Oracle基礎篇
第1章 數(shù)據(jù)庫入門
1.1 數(shù)據(jù)庫基礎
1.1.1 什么是關系型數(shù)據(jù)庫
1.1.2 實體關系模型
1.1.3 數(shù)據(jù)庫管理系統(tǒng)
1.1.4 使用SQL語言管理數(shù)據(jù)庫
1.2 理解數(shù)據(jù)庫范式
1.2.1 什么是數(shù)據(jù)庫范式
1.2.2第一范式1NF
1.2.3第二范式2NF
1.2.4第三范式3NF
1.2.5 使用數(shù)據(jù)庫建模工具
1.3 認識Oracle數(shù)據(jù)庫系統(tǒng)
1.3.1 Oracle數(shù)據(jù)庫特性
1.3.2 Oracle數(shù)據(jù)庫術語
1.3.3 Oracle數(shù)據(jù)庫系統(tǒng)的組成
1.3.4 與SQL Server數(shù)據(jù)庫的比較
1.4 安裝Oracle數(shù)據(jù)庫
1.4.1 獲取Oracle數(shù)據(jù)庫軟件
1.4.2 使用Oracle技術與文檔庫
1.4.3 安裝Oracle數(shù)據(jù)庫
1.4.4 卸載Oracle數(shù)據(jù)庫
1.5 小結
1.6 習題
第2章 使用Oracle數(shù)據(jù)庫
2.1 管理Oracle系統(tǒng)
2.1.1 啟動和停止監(jiān)聽程序
2.1.2 數(shù)據(jù)庫的啟動和關閉
2.1.3 配置網(wǎng)絡監(jiān)聽程序
2.1.4 使用網(wǎng)絡配置助手工具
2.1.5 Net Manager網(wǎng)絡管理員
2.2 創(chuàng)建Oracle數(shù)據(jù)庫
2.2.1 使用DBCA創(chuàng)建數(shù)據(jù)庫
2.2.2 數(shù)據(jù)庫安裝參數(shù)
2.2.3 刪除現(xiàn)有數(shù)據(jù)庫
2.2.4 手動安裝數(shù)據(jù)庫
2.3 連接Oracle數(shù)據(jù)庫
2.3.1 安裝Oracle客戶端
2.3.2 客戶端網(wǎng)絡配置工具
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 重新連接數(shù)據(jù)庫
3.2.4 SQL*Plus運行環(huán)境設置
3.2.5 使用命令幫助
3.3 使用SQL*Plus管理數(shù)據(jù)庫對象
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章 操縱數(shù)據(jù)表
4.1 表基礎
4.1.1 表和實體
4.1.2 表的分類
4.1.3 表和列命名規(guī)則
4.1.4 內(nèi)置列數(shù)據(jù)類型
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 刪除數(shù)據(jù)表
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)建函數(shù)索引
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 內(nèi)聯(lián)視圖
6.2.1 什么是內(nèi)聯(lián)視圖
6.2.2 內(nèi)聯(lián)視圖的執(zhí)行順序
6.2.3 內(nèi)聯(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 查詢指定列數(shù)據(jù)
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 使用分組函數(shù)
8.2.3 使用GROUP BY子句分組
8.2.4 使用HAVING子句分組過濾
8.3 多表查詢
8.3.1 多表查詢分類
8.3.2 內(nèi)連接
8.3.3 外連接
8.3.4 自引用連接
8.3.5 交叉連接
8.3.6 自然連接
8.4 小結
8.5 習題
第9章 操縱數(shù)據(jù)表
9.1 插入數(shù)據(jù)
9.1.1 理解DML語言
9.1.2 使用INSERT語句
9.1.3 DEFAULT和NULL值
9.1.4 使用子查詢插入多行數(shù)據(jù)
9.1.5 插入多表數(shù)據(jù)
9.2 更新數(shù)據(jù)
9.2.1 使用UPDATE語句
9.2.2 使用RETURNING子句
9.2.3 使用子查詢更新多行記錄
9.2.4 使用MERGE合并數(shù)據(jù)表
9.3 刪除數(shù)據(jù)
9.3.1 刪除單行記錄
9.3.2 刪除多行記錄
9.3.3 使用TRUNCATE清空表數(shù)據(jù)
9.4 小結
9.5 習題
第10章 Oracle內(nèi)置函數(shù)
10.1 函數(shù)基礎
10.1.1 函數(shù)簡介
10.1.2 函數(shù)的分類
10.2 字符型函數(shù)
10.2.1 字符型函數(shù)列表
10.2.2 大小寫轉換函數(shù)
10.2.3 字符串處理函數(shù)
10.2.4 字符串替代函數(shù)
10.3 數(shù)字型函數(shù)
10.3.1 數(shù)字型函數(shù)列表
10.3.2 數(shù)字型函數(shù)示例
10.4 日期時間函數(shù)
10.4.1 日期時間函數(shù)列表
10.4.2 日期時間函數(shù)示例
10.5 類型轉換函數(shù)
10.5.1 類型轉換函數(shù)列表
10.5.2 TO_CHAR將日期型轉換為字符串
10.5.3 TO_CHAR將數(shù)字型轉換為字符串
10.5.4 TO_DATE將字符串轉換為日期
10.5.5 TO_NUMBER將字符串轉換為數(shù)字
10.6 通用函數(shù)列表
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 變量和數(shù)據(jù)類型
11.2.3 程序控制語句
11.2.4 存儲過程、函數(shù)與包
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 子程序的調(diào)試
12.1.3 創(chuàng)建過程
12.1.4 創(chuàng)建函數(shù)
12.1.5 使用RETURN語句
12.1.6 查看子程序
12.1.7 刪除子程序
12.2 子程序參數(shù)
12.2.1 形式參數(shù)與實際參數(shù)
12.2.2 IN、OUT和IN OUT模式
12.2.3 參數(shù)調(diào)用方式
12.3 定義PL/SQL包
12.3.1 什么是包(Package)
12.3.2 定義包規(guī)范
12.3.3 定義包體
12.3.4 調(diào)用包組件
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 數(shù)據(jù)庫中的嵌套表
13.2.7 定義變長數(shù)組
13.2.8 操縱變長數(shù)組
13.2.9 數(shù)據(jù)庫中的變長數(shù)組
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 使用數(shù)據(jù)庫觸發(fā)器
14.4.4 SERVERERROR觸發(fā)器
14.5 游標
14.5.1 什么是游標
14.5.2 定義游標
14.5.3 打開游標
14.5.4 提取游標數(shù)據(jù)
14.5.5 關閉游標
14.6 小結
14.7 習題
第5篇 Oracle維護篇
第15章 數(shù)據(jù)庫安全性管理
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章 數(shù)據(jù)庫空間管理
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 調(diào)整表空間大小
16.2.2 調(diào)整脫機和聯(lián)機狀態(tài)
16.2.3 調(diào)整只讀和只寫狀態(tài)
16.2.4 更改表空間名稱
16.2.5 刪除表空間
16.2.6 查詢表空間信息
16.3 小結
16.4 習題
第17章 備份和恢復數(shù)據(jù)庫
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 理解數(shù)據(jù)泵
17.3.2 使用expdp導出數(shù)據(jù)
17.3.3 使用impdp導入數(shù)據(jù)
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 注冊目標數(shù)據(jù)庫
17.4.6 使用RMAN進行備份
17.4.7 使用RMAN進行恢復
17.5 小結
17.6 習題
章節(jié)摘錄
版權頁: 插圖: 這里查詢了user_ind_columns獲取到索引idxjob所對應的列名稱,通過在SQL*Plus中使用DESC可以獲取到更多關于user_ind_columns表的字段信息,以便于查詢。 5.1.10索引創(chuàng)建策略 由于索引不僅要占用物理空間,而且創(chuàng)建和維護索引也要消耗些時間,且時間會隨著數(shù)據(jù)量的增加而增加,在對包含索引的數(shù)據(jù)表進行增加、刪除和修改操作時,也需要動態(tài)地維護索引,因此在考慮創(chuàng)建索引時,需要注意僅在需要的列上創(chuàng)建索引,過度地創(chuàng)建索引不僅不會導致性能的增強,反而會增加Oracle數(shù)據(jù)庫的負擔。 由于索引的創(chuàng)建會帶來一定的性能開銷,因此必須要注意僅在需要的列上創(chuàng)建索引,比如在經(jīng)常要在WHERE子句中進行條件查詢的列上使用索引,下面是創(chuàng)建索引常見的10條原則: 小表不需要建立索引,比如emp表只有數(shù)十行記錄,可以不需要建立索引。 對于大表而言,如果經(jīng)常查詢的記錄數(shù)目少于表中總記錄數(shù)目的15%時,可以創(chuàng)建索引。這個比例并不絕對,它與全表掃描速度成反比。 對于大部分列值不重復的列可以建立索引。 對于基數(shù)大的列,適合建立B樹索引,而對于基數(shù)小的列適合建立位圖索引。 對于列中有許多空值,但經(jīng)常查詢所有的非空值記錄的列,應該建立索引。 LONG和LONG RAW列不能創(chuàng)建索引。 經(jīng)常進行連接查詢的列上應該創(chuàng)建索引。 在使用CREATE INDEX語句創(chuàng)建查詢時,將最常查詢的列放在其他列前面。 維護索引需要開銷,特別是對表進行插入和刪除操作時,因此要限制表中索引的數(shù)量。 對于主要用于讀的表,則索引多就有好處,但是,一個表如果經(jīng)常被更改,則索引應少點。 在表中插入數(shù)據(jù)后創(chuàng)建索引,如果在裝載數(shù)據(jù)之前創(chuàng)建了索引,那么當插入每行時,Oracle都必須更改每個索引。 創(chuàng)建約束 在Oracle中,索引是為了提升數(shù)據(jù)庫系統(tǒng)的性能,而約束是為了完成數(shù)據(jù)庫數(shù)據(jù)的一致性和完整性的一種檢查機制。通過在數(shù)據(jù)庫表中定義約束條件,能夠增強數(shù)據(jù)的完整性,比如限制某個字段不能為空,限制某個列不能出現(xiàn)重復值以及主外鍵約束等。本節(jié)將介紹如何在Oracle中應用約束來增強數(shù)據(jù)庫數(shù)據(jù)的穩(wěn)定性。 5.2.1約束的分類 約束可以定義在字段級別和表級別,根據(jù)約束所完成的功能的分類來說,在Oracle中最常使用的約束分為5類。
編輯推薦
《從零開始學Oracle》技術點豐富,講解手法細膩,不僅適合Oracle初學者,也適合任何對數(shù)據(jù)庫有興趣的相關人員。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載