《Oracle實(shí)用教程(第3版)》以當(dāng)前流行的oracle 11g作為平臺,分別介紹oracle教程、oracle實(shí)驗(yàn)、綜合應(yīng)用實(shí)習(xí)和附錄。oracle教程部分比較系統(tǒng)地介紹了oracle 11g(中文版)的主要功能,并且通過實(shí)驗(yàn)對主要內(nèi)容進(jìn)行操作和編程訓(xùn)練。實(shí)習(xí)部分比較系統(tǒng)地介紹了vb 6.0/oracle、pb 11.5/oracle、asp/oracle、asp.net 3.5(C#)/ oracle和java ee(struts 2)/oracle的應(yīng)用方法。只要閱讀《Oracle實(shí)用教程(第3版)》,結(jié)合上機(jī)操作指導(dǎo)進(jìn)行練習(xí)和實(shí)習(xí)模仿,就能在較短的時(shí)間內(nèi)基本掌握oracle 11g及其應(yīng)用技術(shù)。
《Oracle實(shí)用教程(第3版)》可作為大學(xué)本科、大專和高職有關(guān)課程教材,也可供廣大數(shù)據(jù)庫學(xué)習(xí)、應(yīng)用開發(fā)人員參考。
Oracle是目前最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)之一,廣泛應(yīng)用于信息系統(tǒng)管理、企業(yè)數(shù)據(jù)處理、Internet、電子商務(wù)網(wǎng)站等領(lǐng)域。
2003年,我們結(jié)合教學(xué)和應(yīng)用開發(fā)的經(jīng)驗(yàn)體會,以O(shè)racle 9i為平臺,編寫了《Oracle實(shí)用教程》。教程推出后,得到高校教師、學(xué)生和廣大讀者的廣泛認(rèn)同,在兩年多的時(shí)間里重印了6次。2006年12月,我們推出的《Oracle實(shí)用教程(第2版)》以O(shè)racle 10g為平臺,繼承了《Oracle實(shí)用教程》的成功經(jīng)驗(yàn)。第2版在保留基本內(nèi)容的同時(shí),針對新版本的特點(diǎn)進(jìn)行修改、增減和擴(kuò)充,又獲得了很大的成功,3年多的時(shí)間里已經(jīng)重印了10次。
《Oracle實(shí)用教程(第3版)》以O(shè)racle 11g為平臺,先介紹數(shù)據(jù)庫基礎(chǔ)、Oracle系統(tǒng)環(huán)境,然后分門別類地介紹數(shù)據(jù)庫創(chuàng)建、表數(shù)據(jù)操作、數(shù)據(jù)庫的查詢和視圖、索引與數(shù)據(jù)完整性、PL/SQL語言、存儲過程和觸發(fā)器、大對象數(shù)據(jù)與XML數(shù)據(jù)、系統(tǒng)安全管理、備份恢復(fù)與導(dǎo)入/導(dǎo)出等內(nèi)容。《Oracle實(shí)用教程(第3版)》與上一版相比,主要特點(diǎn)如下。
(1)以O(shè)racle 11g為平臺,基本內(nèi)容的介紹進(jìn)一步加強(qiáng)。
(2)增加了數(shù)據(jù)庫基礎(chǔ)知識,增加用SQL Developer工具操作數(shù)據(jù)庫。
(3)運(yùn)行結(jié)果屏幕化,一般不會出現(xiàn)命令錯(cuò)誤。書中的內(nèi)容層次更加清楚,由淺及深,易于掌握。
(4)增加了Oracle大對象類型和XML類型數(shù)據(jù)的介紹。
(5)實(shí)習(xí)部分包含目前最流行的VB 6.0、PB 11.5、ASP、ASP.NET 3.5(C#)和Java EE(Struts2)等平臺操作Oracle 11g數(shù)據(jù)庫。每個(gè)實(shí)習(xí)都介紹了連接數(shù)據(jù)庫的基本知識,包含了操作數(shù)據(jù)庫的主要功能,并且構(gòu)成了一個(gè)小的應(yīng)用系統(tǒng),讓讀者能夠很快掌握獨(dú)立開發(fā)一個(gè)應(yīng)用系統(tǒng)的方法。
本書經(jīng)過認(rèn)真規(guī)劃,集基礎(chǔ)和應(yīng)用一體。只要閱讀本書,結(jié)合上機(jī)操作指導(dǎo)進(jìn)行練習(xí)和實(shí)習(xí)模仿,就能在較短的時(shí)間內(nèi)基本掌握Oracle 11g及其應(yīng)用技術(shù)。
第1部分 實(shí)用教程
第1章 數(shù)據(jù)庫的基本概念與Oracle環(huán)境
1.1 數(shù)據(jù)庫基本概念
1.1.1 數(shù)據(jù)庫與數(shù)據(jù)庫管理系統(tǒng)
1.1.2 數(shù)據(jù)模型
1.1.3 關(guān)系型數(shù)據(jù)庫語言
1.1.4 數(shù)據(jù)庫設(shè)計(jì)
1.2 數(shù)據(jù)庫應(yīng)用系統(tǒng)
1.2.1 客戶/服務(wù)器C/S模式應(yīng)用系統(tǒng)
1.2.2 三層客戶/服務(wù)器B/S模式應(yīng)用系統(tǒng)
1.3 Oracle數(shù)據(jù)庫環(huán)境
1.3.1 Oracle數(shù)據(jù)庫簡介
1.3.2 Oracle 11g的安裝
1.3.3 企業(yè)管理器oem
1.3.4 SQL*Plus工具
1.3.5 SQL Developer工具
第2章 數(shù)據(jù)庫創(chuàng)建
2.1 Oracle數(shù)據(jù)庫基本概念
2.1.1 內(nèi)部結(jié)構(gòu)
2.1.2 外部結(jié)構(gòu)
2.1.3 實(shí)例
2.2 界面方式創(chuàng)建數(shù)據(jù)庫
2.2.1 數(shù)據(jù)庫的創(chuàng)建與刪除
2.2.2 數(shù)據(jù)庫的修改
2.3 命令方式創(chuàng)建數(shù)據(jù)庫
2.3.1 創(chuàng)建數(shù)據(jù)庫
2.3.2 修改數(shù)據(jù)庫
2.3.3 刪除數(shù)據(jù)庫
第3章 表與表數(shù)據(jù)操作
3.1 表結(jié)構(gòu)和數(shù)據(jù)類型
3.1.1 表和表結(jié)構(gòu)
3.1.2 數(shù)據(jù)類型
3.1.3 表結(jié)構(gòu)設(shè)計(jì)
3.2 創(chuàng)建和管理表空間
3.2.1 界面方式創(chuàng)建表空間
3.2.2 命令方式創(chuàng)建表空間
3.3 界面方式操作表
3.3.1 oem方式操作表
3.3.2 使用SQL Developer操作表
3.4 命令方式操作表
3.4.1 創(chuàng)建表
3.4.2 修改表
3.4.3 刪除表
3.5 界面方式操作表數(shù)據(jù)
3.5.1 插入、刪除和修改表數(shù)據(jù)
3.5.2 從excel表格中導(dǎo)入數(shù)據(jù)
3.6 命令方式操作表數(shù)據(jù)
3.6.1 插入記錄
3.6.2 刪除記錄
3.6.3 修改記錄
3.7 同義詞
3.7.1 創(chuàng)建同義詞
3.7.2 使用同義詞
3.7.3 刪除同義詞
第4章 數(shù)據(jù)庫的查詢和視圖
4.1 連接、選擇和投影
4.1.1 選擇
4.1.2 投影
4.1.3 連接
4.2 數(shù)據(jù)庫的查詢
4.2.1 選擇列
4.2.2 選擇行
4.2.3 查詢對象
4.2.4 連接
4.2.5 匯總
4.2.6 排序
4.2.7 union語句
4.3 數(shù)據(jù)庫視圖
4.3.1 視圖的概念
4.3.2 創(chuàng)建視圖
4.3.3 查詢視圖
4.3.4 更新視圖
4.3.5 修改視圖的定義
4.3.6 刪除視圖
4.4 格式化輸出結(jié)果
4.4.1 替換變量
4.4.2 定制SQL*Plus環(huán)境
第5章 索引與數(shù)據(jù)完整性
5.1 索引
5.1.1 索引的分類
5.1.2 使用索引的原則
5.1.3 創(chuàng)建索引
5.1.4 維護(hù)索引
5.1.5 刪除索引
5.2 數(shù)據(jù)完整性
5.2.1 數(shù)據(jù)完整性的分類
5.2.2 約束的狀態(tài)
5.2.3 域完整性的實(shí)現(xiàn)
5.2.4 實(shí)體完整性的實(shí)現(xiàn)
5.2.5 參照完整性的實(shí)現(xiàn)
第6章 PL/SQL語言介紹
6.1 PL/SQL概述
6.1.1 PL/SQL語言
6.1.2 PL/SQL的特點(diǎn)
6.1.3 PL/SQL的開發(fā)和運(yùn)行環(huán)境
6.2 PL/SQL字符集
6.2.1 合法字符
6.2.2 運(yùn)算符
6.2.3 其他符號
6.3 PL/SQL變量、常量和數(shù)據(jù)類型
6.3.1 變量
6.3.2 常量
6.3.3 常用數(shù)據(jù)類型
6.3.4 對象類型
6.3.5 數(shù)據(jù)類型轉(zhuǎn)換
6.4 PL/SQL基本程序結(jié)構(gòu)和語句
6.4.1 PL/SQL程序塊
6.4.2 條件結(jié)構(gòu)
6.4.3 循環(huán)結(jié)構(gòu)
6.4.4 選擇和跳轉(zhuǎn)語句
6.4.5 異常
6.4.6 空操作和空值
6.5 系統(tǒng)內(nèi)置函數(shù)
6.6 用戶定義函數(shù)
6.6.1 用戶定義函數(shù)的創(chuàng)建與調(diào)用
6.6.2 用戶定義函數(shù)的刪除
6.7 游標(biāo)
6.7.1 顯式游標(biāo)
6.7.2 隱式游標(biāo)
6.7.3 使用游標(biāo)變量
6.7.4 使用游標(biāo)表達(dá)式
6.8 包
6.8.1 SQL語句方式創(chuàng)建
6.8.2 界面方式創(chuàng)建
6.8.3 重載
6.8.4 包的初始化
6.8.5 Oracle內(nèi)置包
6.9 集合
6.9.1 聯(lián)合數(shù)組
6.9.2 嵌套表
6.9.3 可變數(shù)組
6.9.4 集合的屬性和方法
第7章 存儲過程和觸發(fā)器
7.1 存儲過程
7.1.1 存儲過程的創(chuàng)建和執(zhí)行
7.1.2 存儲過程的編輯修改
7.1.3 存儲過程的刪除
7.2 觸發(fā)器
7.2.1 利用SQL語句創(chuàng)建觸發(fā)器
7.2.2 利用界面方式創(chuàng)建觸發(fā)器
7.2.3 啟用和禁用觸發(fā)器
7.2.4 觸發(fā)器的刪除
7.3 事務(wù)
7.3.1 事務(wù)的概念
7.3.2 事務(wù)處理
7.3.3 自治事務(wù)
7.4 鎖
7.4.1 鎖機(jī)制和死鎖
7.4.2 鎖的類型
7.4.3 表鎖和事務(wù)鎖
第8章 高級數(shù)據(jù)類型
8.1 Oracle數(shù)據(jù)庫與大對象數(shù)據(jù)
8.1.1 大對象數(shù)據(jù)類型
8.1.2 Oracle數(shù)據(jù)庫中導(dǎo)入大對象數(shù)據(jù)
8.2 Oracle數(shù)據(jù)庫與xml
8.2.1 xml概述
8.2.2 Oracle xml db概述
8.2.3 Oracle數(shù)據(jù)庫中導(dǎo)入xml數(shù)據(jù)
8.2.4 xquery的基本用法
第9章 系統(tǒng)安全管理
9.1 用戶
9.1.1 創(chuàng)建用戶
9.1.2 管理用戶
9.2 權(quán)限管理
9.2.1 權(quán)限概述
9.2.2 系統(tǒng)權(quán)限管理
9.2.3 對象權(quán)限管理
9.2.4 安全特性
9.3 角色管理
9.3.1 角色概述
9.3.2 創(chuàng)建用戶角色
9.3.3 管理用戶角色
9.4 概要文件和數(shù)據(jù)字典視圖
9.4.1 創(chuàng)建概要文件
9.4.2 管理概要文件
9.4.3 數(shù)據(jù)字典視圖
9.5 審計(jì)
9.5.1 審計(jì)啟用
9.5.2 登錄審計(jì)
9.5.3 操作審計(jì)
9.5.4 對象審計(jì)
9.5.5 權(quán)限審計(jì)
第10章 備份和恢復(fù)
10.1 備份和恢復(fù)概述
10.1.1 備份概述
10.1.2 恢復(fù)概述
10.2 導(dǎo)入/導(dǎo)出
10.2.1 導(dǎo)出
10.2.2 導(dǎo)入
10.3 脫機(jī)備份
10.4 聯(lián)機(jī)備份
10.4.1 以archivelog方式運(yùn)行數(shù)據(jù)庫
10.4.2 執(zhí)行數(shù)據(jù)庫備份
10.5 數(shù)據(jù)庫恢復(fù)
10.6 數(shù)據(jù)泵
10.6.1 概述
10.6.2 數(shù)據(jù)泵的使用
第11章 閃回操作和undo表空間
11.1 閃回操作
11.1.1 基本概念
11.1.2 查詢閃回
11.1.3 表閃回
11.1.4 刪除閃回
11.1.5 數(shù)據(jù)庫閃回
11.1.6 歸檔閃回
11.2 undo表空間
11.2.1 自動undo管理
11.2.2 undo表空間的優(yōu)點(diǎn)
11.2.3 undo表空間管理參數(shù)
11.2.4 創(chuàng)建和管理undo表空間
第12章 其他概念
12.1 數(shù)據(jù)庫鏈接
12.1.1 創(chuàng)建數(shù)據(jù)庫鏈接
12.1.2 使用數(shù)據(jù)庫鏈接
12.1.3 刪除數(shù)據(jù)庫鏈接
12.2 快照
12.2.1 創(chuàng)建快照
12.2.2 修改快照
12.2.3 刪除快照
12.3 序列
12.3.1 創(chuàng)建序列
12.3.2 修改序列
12.3.3 刪除序列
第2部分 實(shí) 驗(yàn)
實(shí)驗(yàn)1 創(chuàng)建數(shù)據(jù)庫和表
目的與要求
實(shí)驗(yàn)準(zhǔn)備
實(shí)驗(yàn)內(nèi)容
實(shí)驗(yàn)2 表數(shù)據(jù)插入、修改和刪除
目的與要求
實(shí)驗(yàn)準(zhǔn)備
實(shí)驗(yàn)內(nèi)容
實(shí)驗(yàn)3 數(shù)據(jù)庫的查詢和視圖
目的與要求
實(shí)驗(yàn)準(zhǔn)備
實(shí)驗(yàn)內(nèi)容
實(shí)驗(yàn)4 索引和完整性
目的與要求
實(shí)驗(yàn)準(zhǔn)備
實(shí)驗(yàn)內(nèi)容
實(shí)驗(yàn)5 PL/SQL編程
目的與要求
實(shí)驗(yàn)準(zhǔn)備
實(shí)驗(yàn)內(nèi)容
實(shí)驗(yàn)6 存儲過程和觸發(fā)器的使用
目的與要求
實(shí)驗(yàn)準(zhǔn)備
實(shí)驗(yàn)內(nèi)容
實(shí)驗(yàn)7 Oracle高級數(shù)據(jù)類型
目的與要求
實(shí)驗(yàn)準(zhǔn)備
實(shí)驗(yàn)內(nèi)容
實(shí)驗(yàn)8 用戶、角色和概要文件
目的與要求
實(shí)驗(yàn)準(zhǔn)備
實(shí)驗(yàn)內(nèi)容
第3部分 實(shí) 習(xí)
實(shí)習(xí)0 綜合應(yīng)用數(shù)據(jù)準(zhǔn)備
p0.1 數(shù)據(jù)庫與基本表
p0.2 視圖
p0.3 觸發(fā)器與完整性約束
p0.4 存儲過程
p0.5 綜合應(yīng)用實(shí)習(xí)功能
實(shí)習(xí)1 vb/Oracle學(xué)生成績管理系統(tǒng)
P1.1 vb 6.0連接Oracle數(shù)據(jù)庫
P1.1.1 使用adodc控件連接Oracle
P1.1.2 使用adodb connection對象連接Oracle
P1.1.3 使用adodb對象執(zhí)行查詢
P1.1.4 使用adodb對象更新數(shù)據(jù)
P1.1.5 使用adodb對象執(zhí)行存儲過程
P1.2 學(xué)生成績管理系統(tǒng)的實(shí)現(xiàn)
P1.2.1 主窗體設(shè)計(jì)
P1.2.2 學(xué)生信息查詢
P1.2.3 學(xué)生信息管理
P1.2.4 學(xué)生成績錄入
實(shí)習(xí)2 pb/Oracle學(xué)生成績管理系統(tǒng)
P2.1 pb 11.5與Oracle 11g數(shù)據(jù)庫連接
P2.2 創(chuàng)建學(xué)生成績管理系統(tǒng)
P2.3 設(shè)計(jì)學(xué)生信息查詢窗體
P2.4 設(shè)計(jì)學(xué)生信息管理窗體
P2.5 設(shè)計(jì)成績信息管理窗體
實(shí)習(xí)3 asp/Oracle學(xué)生成績管理系統(tǒng)
P3.1 使用ado操作Oracle數(shù)據(jù)庫
P3.1.1 綜合應(yīng)用準(zhǔn)備
P3.1.2 使用ado connection對象連接Oracle
P3.1.3 使用ado connection和recordset對象執(zhí)行查詢
P3.1.4 使用ado recordset對象操作記錄
P3.1.5 使用ado command對象執(zhí)行存儲過程
P3.2 學(xué)生成績管理系統(tǒng)的實(shí)現(xiàn)
P3.2.1 主程序界面設(shè)計(jì)
P3.2.2 學(xué)生信息查詢
P3.2.3 學(xué)生信息管理
P3.2.4 學(xué)生成績錄入
實(shí)習(xí)4 asp.net(c#)/Oracle學(xué)生成績管理系統(tǒng)
P4.1 下載并安裝組件
P4.2 創(chuàng)建學(xué)生成績管理系統(tǒng)網(wǎng)站
P4.3 設(shè)計(jì)母版頁
P4.4 設(shè)計(jì)顯示照片頁面
P4.5 設(shè)計(jì)學(xué)生信息管理內(nèi)容頁面
P4.6 設(shè)計(jì)學(xué)生信息查詢內(nèi)容頁面
P4.7 設(shè)計(jì)成績信息管理內(nèi)容頁面
實(shí)習(xí)5 java eestruts 2/Oracle 學(xué)生成績管理系統(tǒng)
P5.1 背景知識
P5.2 系統(tǒng)總體架構(gòu)與工作流程
P5.3 構(gòu)建系統(tǒng)準(zhǔn)備
P5.4 設(shè)計(jì)系統(tǒng)主界面
P5.5 學(xué)生信息錄入
P5.6 學(xué)生信息查詢、修改和刪除
P5.7 學(xué)生成績錄入
P5.8 Oracle與java eestruts 2企業(yè)級應(yīng)用的集成
附錄A Oracle數(shù)據(jù)庫的卸載
附錄B XSCJ數(shù)據(jù)庫樣本數(shù)據(jù)
數(shù)據(jù)庫設(shè)計(jì)是將業(yè)務(wù)對象轉(zhuǎn)換為數(shù)據(jù)表等數(shù)據(jù)庫對象的過程,是數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)過程中首要的和基本的內(nèi)容。
按照規(guī)范設(shè)計(jì)的方法,考慮數(shù)據(jù)庫及其應(yīng)用系統(tǒng)開發(fā)全過程,將關(guān)系型數(shù)據(jù)庫的設(shè)計(jì)分為六個(gè)階段:需求分析、概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物理結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)庫實(shí)施和數(shù)據(jù)庫運(yùn)行與維護(hù)。其中需求分析的任務(wù)是通過詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對象,明確用戶的各種需求,然后在此基礎(chǔ)上確定系統(tǒng)的功能。數(shù)據(jù)庫實(shí)施、運(yùn)行與維護(hù)的任務(wù)是在數(shù)據(jù)庫的結(jié)構(gòu)設(shè)計(jì)完成后由數(shù)據(jù)庫管理員在DBMS上實(shí)現(xiàn)設(shè)計(jì)結(jié)果。這里具體介紹數(shù)據(jù)庫設(shè)計(jì)中的概念結(jié)構(gòu)設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)和物理結(jié)構(gòu)設(shè)計(jì)。
1.概念結(jié)構(gòu)設(shè)計(jì)
通常,把每一類數(shù)據(jù)對象的個(gè)體稱為“實(shí)體”,而每一類對象個(gè)體的集合稱為“實(shí)體集”。例如,在管理學(xué)生所選課程的成績時(shí),主要涉及“學(xué)生”和“課程”兩個(gè)實(shí)體集。
其他非主要的實(shí)體可以很多,例如,班級、班長、任課教師、輔導(dǎo)員等實(shí)體。把每個(gè)實(shí)體集涉及的信息項(xiàng)稱為屬性。就“學(xué)生”實(shí)體集而言,它的屬性有學(xué)號、姓名、性別、出生時(shí)間、專業(yè)、總學(xué)分和備注。“課程”實(shí)體集屬性有課程號、課程名、開課學(xué)期、學(xué)時(shí)和學(xué)分。
實(shí)體集“學(xué)生”和實(shí)體集“課程”之間存在“選課”的關(guān)系,通常把這類關(guān)系稱為“聯(lián)系”。通常將實(shí)體集及實(shí)體集之間聯(lián)系的圖稱為E-R模型。
……