出版時(shí)間:2012-10 出版社:電子工業(yè)出版社 作者:丁勇 頁(yè)數(shù):352 字?jǐn)?shù):583000
Tag標(biāo)簽:無(wú)
內(nèi)容概要
本書(shū)用簡(jiǎn)單易懂的實(shí)例和大量的圖示,深入淺出地介紹了Oracle數(shù)據(jù)庫(kù)的操作與編程方面的知識(shí)。作者以實(shí)際工作為切入點(diǎn),詳細(xì)介紹了Oracle數(shù)據(jù)庫(kù)的基礎(chǔ)知識(shí)及PL/SQL程序設(shè)計(jì)實(shí)戰(zhàn)的知識(shí)。本書(shū)共分為17章,主要介紹了數(shù)據(jù)庫(kù)的入門(mén)知識(shí)、安裝Oracle以及使用Oracle的客戶端工具管理Oracle,Oracle數(shù)據(jù)庫(kù)表、索引、約束、視圖、序列和同義詞的創(chuàng)建與使用方法,如何使用DML語(yǔ)句和SELECT語(yǔ)句查詢與管理數(shù)據(jù)庫(kù)對(duì)象,PL/SQL編程方面的知識(shí),以及用戶與數(shù)據(jù)庫(kù)表空間的管理。
書(shū)籍目錄
第1篇 Oracle基礎(chǔ)篇
第1章 數(shù)據(jù)庫(kù)入門(mén)
1.1 數(shù)據(jù)庫(kù)基礎(chǔ)
1.1.1 什么是關(guān)系型數(shù)據(jù)庫(kù)
1.1.2 實(shí)體關(guān)系模型
1.1.3 數(shù)據(jù)庫(kù)管理系統(tǒng)
1.1.4 使用SQL語(yǔ)言管理數(shù)據(jù)庫(kù)
1.2 理解數(shù)據(jù)庫(kù)范式
1.2.1 什么是數(shù)據(jù)庫(kù)范式
1.2.2第一范式1NF
1.2.3第二范式2NF
1.2.4第三范式3NF
1.2.5 使用數(shù)據(jù)庫(kù)建模工具
1.3 認(rèn)識(shí)Oracle數(shù)據(jù)庫(kù)系統(tǒng)
1.3.1 Oracle數(shù)據(jù)庫(kù)特性
1.3.2 Oracle數(shù)據(jù)庫(kù)術(shù)語(yǔ)
1.3.3 Oracle數(shù)據(jù)庫(kù)系統(tǒng)的組成
1.3.4 與SQL Server數(shù)據(jù)庫(kù)的比較
1.4 安裝Oracle數(shù)據(jù)庫(kù)
1.4.1 獲取Oracle數(shù)據(jù)庫(kù)軟件
1.4.2 使用Oracle技術(shù)與文檔庫(kù)
1.4.3 安裝Oracle數(shù)據(jù)庫(kù)
1.4.4 卸載Oracle數(shù)據(jù)庫(kù)
1.5 小結(jié)
1.6 習(xí)題
第2章 使用Oracle數(shù)據(jù)庫(kù)
2.1 管理Oracle系統(tǒng)
2.1.1 啟動(dòng)和停止監(jiān)聽(tīng)程序
2.1.2 數(shù)據(jù)庫(kù)的啟動(dòng)和關(guān)閉
2.1.3 配置網(wǎng)絡(luò)監(jiān)聽(tīng)程序
2.1.4 使用網(wǎng)絡(luò)配置助手工具
2.1.5 Net Manager網(wǎng)絡(luò)管理員
2.2 創(chuàng)建Oracle數(shù)據(jù)庫(kù)
2.2.1 使用DBCA創(chuàng)建數(shù)據(jù)庫(kù)
2.2.2 數(shù)據(jù)庫(kù)安裝參數(shù)
2.2.3 刪除現(xiàn)有數(shù)據(jù)庫(kù)
2.2.4 手動(dòng)安裝數(shù)據(jù)庫(kù)
2.3 連接Oracle數(shù)據(jù)庫(kù)
2.3.1 安裝Oracle客戶端
2.3.2 客戶端網(wǎng)絡(luò)配置工具
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 小結(jié)
2.5 習(xí)題
第3章 SQL與SQL*Plus
3.1 SQL語(yǔ)言基礎(chǔ)
3.1.1 SQL、SQL*Plus與Oracle的關(guān)系
3.1.2 SQL語(yǔ)言的特點(diǎn)
3.1.3 SQL語(yǔ)言的分類
3.1.4 SQL語(yǔ)言的編寫(xiě)規(guī)則
3.2 認(rèn)識(shí)SQL*Plus
3.2.1 SQL*Plus的功能
3.2.2 啟動(dòng)SQL *Plus
3.2.3 重新連接數(shù)據(jù)庫(kù)
3.2.4 SQL*Plus運(yùn)行環(huán)境設(shè)置
3.2.5 使用命令幫助
3.3 使用SQL*Plus管理數(shù)據(jù)庫(kù)對(duì)象
3.3.1 執(zhí)行SQL語(yǔ)句
3.3.2 了解SQL緩沖區(qū)
3.3.3 運(yùn)行腳本文件
3.3.4 顯示表結(jié)構(gòu)
3.4 格式化查詢結(jié)果
3.4.1 格式化列
3.4.2 清除列格式
3.4.3 限制重復(fù)行
3.4.4 使用匯總行
3.5 小結(jié)
3.6 習(xí)題
第2篇 管理Oracle對(duì)象篇
第4章 操縱數(shù)據(jù)表
4.1 表基礎(chǔ)
4.1.1 表和實(shí)體
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)建標(biāo)準(zhǔn)表
4.2.3 全局臨時(shí)表
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 小結(jié)
4.5 習(xí)題
第5章 索引和約束
5.1 創(chuàng)建索引
5.1.1 索引的作用
5.1.2 索引的原理
5.1.3 索引的分類
5.1.4 創(chuàng)建B樹(shù)索引
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 小結(jié)
5.5 習(xí)題
第6章 視圖
6.1 視圖基礎(chǔ)
6.1.1 什么是視圖
6.1.2 視圖的分類
6.1.3 視圖創(chuàng)建語(yǔ)法
6.1.4 創(chuàng)建簡(jiǎn)單視圖
6.1.5 創(chuàng)建復(fù)雜視圖
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語(yǔ)句
6.3 物化視圖
6.3.1 什么是物化視圖
6.3.2 創(chuàng)建物化視圖
6.3.3 刪除物化視圖
6.4 小結(jié)
6.5 習(xí)題
第7章 序列和同義詞
7.1 使用序列
7.1.1 序列的作用
7.1.2 創(chuàng)建自增序列
7.1.3 NEXTVAL和CURRVAL偽列
7.1.4 使用序列編號(hào)
7.1.5 修改序列
7.1.6 刪除序列
7.2 使用同義詞
7.2.1 同義詞的作用
7.2.2 創(chuàng)建和使用同義詞
7.3 小結(jié)
7.4 習(xí)題
第3篇 使用SQL語(yǔ)言篇
第8章 SQL查詢
8.1 單表查詢
8.1.1 SELECT語(yǔ)法
8.1.2 查詢指定列數(shù)據(jù)
8.1.3 移除重復(fù)列值
8.1.4 表達(dá)式查詢
8.1.5 指定查詢條件
8.1.6 BETWEEN、IN和LIKE范圍查詢
8.1.7 處理NULL列值
8.1.8 AND、OR、NOT邏輯運(yùn)算符
8.1.9 ORDER BY排序
8.1.10 ROWNUM偽列
8.1.11 ROWID偽列
8.1.12 使用CASE表達(dá)式
8.2 分組查詢
8.2.1 分組查詢簡(jiǎn)介
8.2.2 使用分組函數(shù)
8.2.3 使用GROUP BY子句分組
8.2.4 使用HAVING子句分組過(guò)濾
8.3 多表查詢
8.3.1 多表查詢分類
8.3.2 內(nèi)連接
8.3.3 外連接
8.3.4 自引用連接
8.3.5 交叉連接
8.3.6 自然連接
8.4 小結(jié)
8.5 習(xí)題
第9章 操縱數(shù)據(jù)表
9.1 插入數(shù)據(jù)
9.1.1 理解DML語(yǔ)言
9.1.2 使用INSERT語(yǔ)句
9.1.3 DEFAULT和NULL值
9.1.4 使用子查詢插入多行數(shù)據(jù)
9.1.5 插入多表數(shù)據(jù)
9.2 更新數(shù)據(jù)
9.2.1 使用UPDATE語(yǔ)句
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 小結(jié)
9.5 習(xí)題
第10章 Oracle內(nèi)置函數(shù)
10.1 函數(shù)基礎(chǔ)
10.1.1 函數(shù)簡(jiǎn)介
10.1.2 函數(shù)的分類
10.2 字符型函數(shù)
10.2.1 字符型函數(shù)列表
10.2.2 大小寫(xiě)轉(zhuǎn)換函數(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í)間函數(shù)
10.4.1 日期時(shí)間函數(shù)列表
10.4.2 日期時(shí)間函數(shù)示例
10.5 類型轉(zhuǎn)換函數(shù)
10.5.1 類型轉(zhuǎn)換函數(shù)列表
10.5.2 TO_CHAR將日期型轉(zhuǎn)換為字符串
10.5.3 TO_CHAR將數(shù)字型轉(zhuǎn)換為字符串
10.5.4 TO_DATE將字符串轉(zhuǎn)換為日期
10.5.5 TO_NUMBER將字符串轉(zhuǎn)換為數(shù)字
10.6 通用函數(shù)列表
10.7 小結(jié)
10.8 習(xí)題
第4篇 PL/SQL編程篇
第11章 PL/SQL入門(mén)
11.1 PL/SQL基礎(chǔ)
11.1.1 結(jié)構(gòu)化程序設(shè)計(jì)
11.1.2 與SQL語(yǔ)言整合
11.1.3 提高程序性能
11.1.4 模塊化應(yīng)用程序開(kāi)發(fā)
11.1.5 面向?qū)ο蟮拈_(kāi)發(fā)
11.2 PL/SQL語(yǔ)言概覽
11.2.1 PL/SQL塊
11.2.2 變量和數(shù)據(jù)類型
11.2.3 程序控制語(yǔ)句
11.2.4 存儲(chǔ)過(guò)程、函數(shù)與包
11.2.5 觸發(fā)器簡(jiǎn)介
11.2.6 結(jié)構(gòu)化異常處理
11.2.7 集合與記錄
11.2.8 游標(biāo)基礎(chǔ)
11.3 小結(jié)
11.4 習(xí)題
第12章 存儲(chǔ)子程序和包
12.1 定義子程序
12.1.1 什么是子程序
12.1.2 子程序的調(diào)試
12.1.3 創(chuàng)建過(guò)程
12.1.4 創(chuàng)建函數(shù)
12.1.5 使用RETURN語(yǔ)句
12.1.6 查看子程序
12.1.7 刪除子程序
12.2 子程序參數(shù)
12.2.1 形式參數(shù)與實(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 小結(jié)
12.5 習(xí)題
第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ù)庫(kù)中的嵌套表
13.2.7 定義變長(zhǎng)數(shù)組
13.2.8 操縱變長(zhǎng)數(shù)組
13.2.9 數(shù)據(jù)庫(kù)中的變長(zhǎng)數(shù)組
13.3 小結(jié)
13.4 習(xí)題
第14章 觸發(fā)器和游標(biāo)
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 理解自治事務(wù)
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ù)庫(kù)觸發(fā)器
14.4.4 SERVERERROR觸發(fā)器
14.5 游標(biāo)
14.5.1 什么是游標(biāo)
14.5.2 定義游標(biāo)
14.5.3 打開(kāi)游標(biāo)
14.5.4 提取游標(biāo)數(shù)據(jù)
14.5.5 關(guān)閉游標(biāo)
14.6 小結(jié)
14.7 習(xí)題
第5篇 Oracle維護(hù)篇
第15章 數(shù)據(jù)庫(kù)安全性管理
15.1 用戶管理
15.1.1 用戶與方案簡(jiǎn)介
15.1.2 創(chuàng)建用戶
15.1.3 修改用戶
15.1.4 刪除用戶
15.1.5 查詢用戶
15.1.6 在Oracle SQL Developer中管理用戶
15.2 權(quán)限管理
15.2.1 理解權(quán)限
15.2.2 分配權(quán)限
15.2.3 撤銷權(quán)限
15.2.4 查看權(quán)限
15.3 角色管理
15.3.1 角色簡(jiǎn)介
15.3.2 創(chuàng)建角色
15.3.3 分配權(quán)限
15.3.4 管理角色
15.3.5 查看角色
15.4 小結(jié)
15.5 習(xí)題
第16章 數(shù)據(jù)庫(kù)空間管理
16.1 理解表空間
16.1.1 表空間概述
16.1.2 表空間分類
16.1.3 表空間的創(chuàng)建
16.1.4 創(chuàng)建普通表空間
16.1.5 創(chuàng)建臨時(shí)表空間
16.1.6 創(chuàng)建大文件表空間
16.1.7 創(chuàng)建撤銷表空間
16.2 管理表空間
16.2.1 調(diào)整表空間大小
16.2.2 調(diào)整脫機(jī)和聯(lián)機(jī)狀態(tài)
16.2.3 調(diào)整只讀和只寫(xiě)狀態(tài)
16.2.4 更改表空間名稱
16.2.5 刪除表空間
16.2.6 查詢表空間信息
16.3 小結(jié)
16.4 習(xí)題
第17章 備份和恢復(fù)數(shù)據(jù)庫(kù)
17.1 理解備份與恢復(fù)
17.1.1 什么是備份與恢復(fù)
17.1.2 備份與恢復(fù)的方法
17.2 脫機(jī)備份與恢復(fù)
17.2.1 理解脫機(jī)狀態(tài)
17.2.2 脫機(jī)備份
17.2.3 脫機(jī)恢復(fù)
17.3 邏輯備份與恢復(fù)
17.3.1 理解數(shù)據(jù)泵
17.3.2 使用expdp導(dǎo)出數(shù)據(jù)
17.3.3 使用impdp導(dǎo)入數(shù)據(jù)
17.4 聯(lián)機(jī)備份與恢復(fù)
17.4.1 設(shè)置歸檔日志模式
17.4.2 創(chuàng)建恢復(fù)表空間
17.4.3 創(chuàng)建RMAN用戶
17.4.4 創(chuàng)建恢復(fù)目錄
17.4.5 注冊(cè)目標(biāo)數(shù)據(jù)庫(kù)
17.4.6 使用RMAN進(jìn)行備份
17.4.7 使用RMAN進(jìn)行恢復(fù)
17.5 小結(jié)
17.6 習(xí)題
章節(jié)摘錄
版權(quán)頁(yè): 插圖: 這里查詢了user_ind_columns獲取到索引idxjob所對(duì)應(yīng)的列名稱,通過(guò)在SQL*Plus中使用DESC可以獲取到更多關(guān)于user_ind_columns表的字段信息,以便于查詢。 5.1.10索引創(chuàng)建策略 由于索引不僅要占用物理空間,而且創(chuàng)建和維護(hù)索引也要消耗些時(shí)間,且時(shí)間會(huì)隨著數(shù)據(jù)量的增加而增加,在對(duì)包含索引的數(shù)據(jù)表進(jìn)行增加、刪除和修改操作時(shí),也需要?jiǎng)討B(tài)地維護(hù)索引,因此在考慮創(chuàng)建索引時(shí),需要注意僅在需要的列上創(chuàng)建索引,過(guò)度地創(chuàng)建索引不僅不會(huì)導(dǎo)致性能的增強(qiáng),反而會(huì)增加Oracle數(shù)據(jù)庫(kù)的負(fù)擔(dān)。 由于索引的創(chuàng)建會(huì)帶來(lái)一定的性能開(kāi)銷,因此必須要注意僅在需要的列上創(chuàng)建索引,比如在經(jīng)常要在WHERE子句中進(jìn)行條件查詢的列上使用索引,下面是創(chuàng)建索引常見(jiàn)的10條原則: 小表不需要建立索引,比如emp表只有數(shù)十行記錄,可以不需要建立索引。 對(duì)于大表而言,如果經(jīng)常查詢的記錄數(shù)目少于表中總記錄數(shù)目的15%時(shí),可以創(chuàng)建索引。這個(gè)比例并不絕對(duì),它與全表掃描速度成反比。 對(duì)于大部分列值不重復(fù)的列可以建立索引。 對(duì)于基數(shù)大的列,適合建立B樹(shù)索引,而對(duì)于基數(shù)小的列適合建立位圖索引。 對(duì)于列中有許多空值,但經(jīng)常查詢所有的非空值記錄的列,應(yīng)該建立索引。 LONG和LONG RAW列不能創(chuàng)建索引。 經(jīng)常進(jìn)行連接查詢的列上應(yīng)該創(chuàng)建索引。 在使用CREATE INDEX語(yǔ)句創(chuàng)建查詢時(shí),將最常查詢的列放在其他列前面。 維護(hù)索引需要開(kāi)銷,特別是對(duì)表進(jìn)行插入和刪除操作時(shí),因此要限制表中索引的數(shù)量。 對(duì)于主要用于讀的表,則索引多就有好處,但是,一個(gè)表如果經(jīng)常被更改,則索引應(yīng)少點(diǎn)。 在表中插入數(shù)據(jù)后創(chuàng)建索引,如果在裝載數(shù)據(jù)之前創(chuàng)建了索引,那么當(dāng)插入每行時(shí),Oracle都必須更改每個(gè)索引。 創(chuàng)建約束 在Oracle中,索引是為了提升數(shù)據(jù)庫(kù)系統(tǒng)的性能,而約束是為了完成數(shù)據(jù)庫(kù)數(shù)據(jù)的一致性和完整性的一種檢查機(jī)制。通過(guò)在數(shù)據(jù)庫(kù)表中定義約束條件,能夠增強(qiáng)數(shù)據(jù)的完整性,比如限制某個(gè)字段不能為空,限制某個(gè)列不能出現(xiàn)重復(fù)值以及主外鍵約束等。本節(jié)將介紹如何在Oracle中應(yīng)用約束來(lái)增強(qiáng)數(shù)據(jù)庫(kù)數(shù)據(jù)的穩(wěn)定性。 5.2.1約束的分類 約束可以定義在字段級(jí)別和表級(jí)別,根據(jù)約束所完成的功能的分類來(lái)說(shuō),在Oracle中最常使用的約束分為5類。
編輯推薦
《從零開(kāi)始學(xué)Oracle》技術(shù)點(diǎn)豐富,講解手法細(xì)膩,不僅適合Oracle初學(xué)者,也適合任何對(duì)數(shù)據(jù)庫(kù)有興趣的相關(guān)人員。
圖書(shū)封面
圖書(shū)標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載
250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版