本書以一個人力資源管理系統案例開發與管理為主線,深入淺出地介紹Oracle 11g數據庫系統開發與管理的基礎知識。全書包括4個部分。第一部分介紹Oracle數據庫系統的構建,包括數據庫服務器的安裝與配置、數據庫常用管理與開發工具和數據庫體系結構等;第二部分介紹人力資源管理系統數據庫開發,包括數據庫的創建、數據庫存儲結構設置、數據庫對象的創建與應用、利用SQL語句與數據庫交互、利用PL/SQL進行數據庫功能模塊開發等;第三部分介紹Oracle數據庫的管理與維護,包括安全性管理、備份與恢復管理、數據庫閃回管理等;第四部分介紹基于Oracle數據庫的應用開發,包括人力資源管理應用開發、圖書管理系統設計與開發和餐飲評價系統設計與開發等。附錄A為實驗部分,提供8個實驗,供學生實踐、練習。
本書面向Oracle數據庫的初學者和入門級用戶,可以使讀者從Oracle知識零起點開始逐漸全面地了解Oracle數據庫的基本原理和相關應用開發,為將來深入學習Oracle數據庫奠定基礎。
孫風棟,大連東軟軟件信息學院副教授,一直從事數據庫方面的教學及科研工作,出版過多部有關數據庫方面的教材及科技圖書。
第1章 Oracle 11g數據庫安裝與配置
1.1 安裝準備
1.1.1 軟件與硬件需求
1.1.2 注意事項
1.2 安裝Oracle 11g數據庫服務器
1.3 檢查數據庫服務器的安裝結果
1.3.1 系統服務
1.3.2 文件體系結構
1.3.3 網絡配置
1.4 Oracle 11g客戶機安裝與配置
1.5 卸載Oracle 11g產品
練習題1
第2章 Oracle數據庫管理與開發工具
2.1 Oracle企業管理器 第1章 Oracle 11g數據庫安裝與配置
1.1 安裝準備
1.1.1 軟件與硬件需求
1.1.2 注意事項
1.2 安裝Oracle 11g數據庫服務器
1.3 檢查數據庫服務器的安裝結果
1.3.1 系統服務
1.3.2 文件體系結構
1.3.3 網絡配置
1.4 Oracle 11g客戶機安裝與配置
1.5 卸載Oracle 11g產品
練習題1
第2章 Oracle數據庫管理與開發工具
2.1 Oracle企業管理器
2.1.1 Oracle企業管理器簡介
2.1.2 啟動數據庫控制OEM
2.1.3 數據庫控制OEM功能界面介紹
2.1.4 OEM控制臺首選項設置
2.2 SQL Plus
2.2.1 SQL Plus簡介
2.2.2 啟動SQL Plus
2.2.3 SQL Plus常用命令
2.3 SQL Developer
2.3.1 SQL Developer簡介
2.3.2 創建數據庫連接
2.4 網絡配置與管理工具
2.4.1 網絡配置助手ONCA
2.4.2 網絡管理工具ONM
練習題2
第3章 Oracle數據庫系統結構
3.1 Oracle數據庫系統結構概述
3.2 Oracle數據庫存儲結構
3.2.1 存儲結構概述
3.2.2 物理存儲結構概述
3.2.3 邏輯存儲結構概述
3.3 Oracle數據庫內存結構
3.3.1 Oracle內存結構概述
3.3.2 SGA
3.3.3 PGA
3.4 Oracle數據庫后臺進程
3.4.1 Oracle進程概述
3.4.2 Oracle后臺進程
練習題3
第4章 案例數據庫的創建與客戶端的連接
4.1 案例數據庫分析與設計
4.1.1 案例數據庫的分析
4.1.2 案例數據庫概念結構設計
4.1.3 案例數據庫邏輯結構設計
4.2 案例數據庫的創建
4.3 客戶端與案例數據庫的連接配置
練習題4
第5章 數據庫存儲設置與管理
5.1 數據庫存儲設置與管理概述
5.2 表空間的設置與管理
5.2.1 表空間介紹
5.2.2 創建表空間
5.2.3 修改表空間大小
5.2.4 修改表空間的可用性
5.2.5 修改表空間的讀寫性
5.2.6 設置默認表空間
5.2.7 表空間的備份
5.2.8 刪除表空間
5.2.9 查詢表空間信息
5.3 數據文件的設置與管理
5.3.1 數據文件介紹
5.3.2 創建數據文件
5.3.3 修改數據文件的大小
5.3.4 改變數據文件的可用性
5.3.5 改變數據文件的名稱或位置
5.3.6 查詢數據文件信息
5.4 控制文件的設置與管理
5.4.1 控制文件介紹
5.4.2 創建控制文件
5.4.3 添加多路復用控制文件
5.4.4 備份控制文件
5.4.5 刪除控制文件
5.4.6 查詢控制文件信息
5.5 重做日志文件設置與管理
5.5.1 重做日志文件介紹
5.5.2 查詢重做日志文件信息
5.5.3 創建重做日志文件組及其成員
5.5.4 重做日志文件切換
5.5.5 修改重做日志文件的名稱或位置
5.5.6 刪除重做日志文件組及其成員
5.6 歸檔日志文件設置與管理
5.6.1 歸檔日志文件介紹
5.6.2 數據庫歸檔模式的設置3
5.6.3 歸檔目標設置
5.6.4 查詢歸檔信息
練習題5
第6章 數據庫對象的創建與管理
6.1 Oracle數據庫對象概述
6.1.1 模式的概念
6.1.2 案例數據庫模式的創建
6.2 表的創建與管理
6.2.1 利用CREATE TABLE語句創建表
6.2.2 案例數據庫中表的創建
6.2.3 利用子查詢創建表
6.2.4 修改表
6.2.5 修改約束
6.2.6 查詢表
6.2.7 刪除表
6.3 索引的創建與管理
6.3.1 索引概述
6.3.2 使用CREATE INDEX語句創建索引
6.3.3 案例數據庫中索引的創建
6.3.4 刪除索引
6.3.5 查詢索引
6.4 視圖的創建與管理
6.4.1 視圖概述
6.4.2 使用CREATE VIEW語句創建視圖
6.4.3 案例數據庫中視圖的創建
6.4.4 視圖操作的限制
6.4.5 修改視圖定義
6.4.6 刪除視圖
6.4.7 查詢視圖信息
6.5 序列
6.5.1 序列的概念
6.5.2 使用CREATE SEQUENCE語句創建序列
6.5.3 案例數據庫中序列的創建
6.5.4 序列的使用
6.5.5 修改序列
6.5.6 查看序列信息
6.5.7 刪除序列
6.6 分區表與分區索引
6.6.1 分區的概念
6.6.2 分區方法
6.6.3 創建分區表
6.6.4 創建分區索引
練習題6
第7章 數據操縱與事務處理
7.1 數據插入
7.1.1 利用INSERT INTO語句插入數據
7.1.2 利用子查詢插入數據
7.1.3 向案例數據庫表插入初始數據
7.1.4 向多個表中插入數據
7.2 數據修改
7.3 數據合并
7.4 數據刪除
7.5 事務控制
7.5.1 事務概念
7.5.2 Oracle事務的隔離級別
7.5.3 Oracle事務處理
練習題7
第8章 數據查詢
8.1 SELECT語句介紹
8.2 簡單查詢
8.2.1 無條件查詢
8.2.2 有條件查詢
8.2.3 查詢排序
8.2.4 查詢統計
8.3 分組查詢
8.4 多表查詢
8.4.1 交叉連接
8.4.2 內連接
8.4.3 外連接
8.5 子查詢
8.5.1 無關子查詢
8.5.2 相關子查詢
8.5.3 FROM子句中的子查詢
8.5.4 DDL語句中的子查詢
8.5.5 使用WITH子句的子查詢
8.6 合并操作
8.6.1 并集運算
8.6.2 交集運算
8.6.3 差集運算
8.7 SQL內置函數
8.7.1 數值函數
8.7.2 字符函數
8.7.3 日期函數
8.7.4 轉換函數
8.7.5 其他函數
練習題8
第9章 PL/SQL語言基礎
9.1 PL/SQL語言簡介
9.2 PL/SQL程序結構
9.3 詞法單元
9.4 數據類型、變量與常量
9.4.1 數據類型
9.4.2 變量與常量
9.5 PL/SQL中的SQL語句
9.6 控制結構
9.6.1 選擇結構
9.6.2 循環結構
9.6.3 跳轉結構
9.7 游標
9.7.1 游標的概念與分類
9.7.2 顯式游標操作過程
9.7.3 顯式游標屬性
9.7.4 顯式游標的檢索
9.7.5 隱式游標
9.7.6 游標變量
9.8 異常處理
9.8.1 異常概述
9.8.2 異常處理過程
9.8.3 異常的傳播
練習題9
第10章 PL/SQL程序開發
10.1 存儲過程
10.1.1 創建存儲過程
10.1.2 調用存儲過程
10.1.3 案例數據庫中存儲過程的創建
10.2 函數
10.2.1 創建函數
10.2.2 調用函數
10.2.3 案例數據庫中函數的創建
10.3 包
10.3.1 創建包
10.3.2 調用包
10.4 觸發器
10.4.1 觸發器概述
10.4.2 DML觸發器概述
10.4.3 創建DML觸發器
10.4.4 變異表觸發器
10.4.5 案例數據庫觸發器的創建
練習題10
第11章 PL/SQL高級應用
11.1 集合
11.1.1 索引表
11.1.2 嵌套表
11.1.3 可變數組
11.1.4 集合類型在數據庫中的應用
11.2 批綁定
11.2.1 批綁定概述
11.2.2 批DML操作
11.2.3 批查詢
11.2.4 批綁定屬性
11.3 動態SQL
11.3.1 動態SQL概述
11.3.2 動態非查詢語句及單行查詢語句
11.3.3 動態多行查詢語句
11.4 利用PL/SQL實現分頁查詢
11.4.1 利用集合實現分頁查詢
11.4.2 利用游標變量實現分頁查詢
11.4.3 分頁查詢在Java開發中的應用
練習題11
第12章 安全管理
12.1 用戶管理
12.1.1 用戶管理概述
12.1.2 創建用戶
12.1.3 修改用戶
12.1.4 用戶的鎖定與解鎖
12.1.5 刪除用戶
12.1.6 查詢用戶信息
12.2 權限管理
12.2.1 權限管理概述
12.2.2 系統權限的授予與回收
12.2.3 對象權限的授予與回收
12.2.4 查詢權限信息
12.3 角色管理
12.3.1 角色概念
12.3.2 系統預定義角色
12.3.3 自定義角色
12.3.4 利用角色進行權限管理
13.3.5 查詢角色信息
12.4 概要文件管理
12.4.1 概要文件概述
12.4.2 概要文件中參數介紹
12.4.3 創建概要文件
12.4.4 修改概要文件
12.4.5 刪除概要文件
12.4.6 查詢概要文件
12.5 審計
12.5.1 審計介紹
12.5.2 啟動審計
12.5.3 語句審計
12.5.4 權限審計
12.5.5 對象審計
12.5.6 網絡審計
12.6 案例數據庫安全控制的實現
練習題12
第13章 備份與恢復
13.1 備份與恢復概述
13.1.1 備份與恢復的概念
13.1.2 Oracle數據庫備份類型
13.1.3 Oracle數據庫恢復類型
13.2 物理備份數據庫
13.2.1 冷備份
13.2.2 熱備份
13.3 物理恢復數據庫
13.3.1 非歸檔模式下數據庫的恢復
13.3.2 歸檔模式下數據庫的完全恢復
13.3.3 歸檔模式下數據庫的不完全恢復
13.4 利用RMAN備份與恢復數據庫
13.4.1 RMAN介紹
13.4.2 RMAN基本操作
13.4.3 RMAN備份與恢復概述
13.4.4 利用RMAN備份數據庫
13.4.5 利用RMAN恢復數據庫
13.5 邏輯備份與恢復數據庫
13.5.1 邏輯備份與恢復概述
13.5.2 使用EXPDP導出數據
13.5.3 利用IMPDP導入數據
練習題13
第14章 閃回技術
14.1 閃回技術概述
14.1.1 閃回技術介紹
14.1.2 閃回技術分類
14.2 閃回查詢
14.2.1 閃回查詢概述
14.2.2 撤銷表空間相關參數配置
14.2.3 閃回查詢操作
14.3 閃回版本查詢
14.4 閃回事務查詢
14.5 閃回表
14.6 閃回刪除
14.6.1 閃回刪除概述
14.6.2 回收站的管理
14.6.3 閃回刪除操作
14.7 閃回數據庫
14.7.1 閃回數據庫概述
14.7.2 閃回數據庫的配置
14.7.3 閃回數據庫操作
14.8 閃回數據歸檔
14.8.1 閃回數據歸檔概念
14.8.2 創建閃回數據歸檔區
14.8.3 啟用表的閃回數據歸檔
14.8.4 閃回數據歸檔操作案例
練習題14
第15章 基于Oracle數據庫的應用開發
15.1 人力資源管理系統應用開發
15.1.1 主要界面設計
15.1.2 建立數據庫連接
15.1.3 員工管理功能的實現
15.1.4 函數調用
15.1.5 存儲過程調用
15.2 圖書管理系統設計與開發
15.2.1 圖書管理系統需求分析
15.2.2 數據庫設計
15.2.3 圖書管理系統數據庫實現
15.2.4 圖書管理系統主要界面設計
15.2.5 圖書管理系統主要功能實現
15.3 餐飲評價系統設計與開發
15.3.1 餐飲評價系統需求分析
15.3.2 數據庫設計
15.3.3 系統主要界面設計
15.3.4 系統主要功能實現
練習題15
附錄A 實驗
實驗1 Oracle數據庫安裝與配置
實驗2 Oracle數據庫物理存儲結構管理
實驗3 Oracle數據庫邏輯存儲結構管理
實驗4 Oracle數據庫模式對象管理
實驗5 SQL語句應用
實驗6 PL/SQL程序設計
實驗7 Oracle數據庫安全管理
實驗8 Oracle數據庫備份與恢復
參考文獻
1.編寫背景
Oracle數據庫是當前應用最廣泛的關系型數據庫產品,其市場占有率達50%左右,遠遠領先于其他關系型數據庫產品。從工業領域到商業領域,從大型機到微型機,從UNIX操作系統到Windows操作系統,從幾個人的軟件作坊到世界500強的跨國公司,到處都可以看到Oracle數據庫的應用。
在激烈競爭的人才市場,具有一定Oracle數據庫管理與開發經驗的人不但容易找到工作,而且還能獲得很好的職位和優厚的待遇。為了適應企業的需求,提高學生的就業率,越來越多的大專院校,開設了Oracle數據庫管理與開發的相關課程。正是基于上述情況,作者積累多年一線Oracle教學與開發經驗,根據教學與自學的規律,總結之前出版的《Oracle數據庫基礎教程》、《Oracle 10g數據庫基礎教程》兩本教材的經驗及讀者的意見反饋與建議,編寫了本教材。
2.內容構成
全書共由15章構成。第1~3章介紹Oracle數據庫開發與管理基礎,包括Oracle 11g數據庫安裝與配置、常用的開發與管理工具以及Oracle數據庫的系統結構;第4章對全書使用的人力資源管理系統數據庫進行分析與設計;第5章介紹人力資源管理系統數據庫存儲設置與管理;第6~11章介紹人力資源管理系統數據庫的開發,包括數據庫對象的創建與管理、利用SQL語句進行數據的操縱與查詢、利用PL/SQL進行命名功能模塊的創建等;第12~14章介紹對人力資源管理系統數據庫的管理,包括數據庫安全性管理、數據庫備份與恢復管理、數據庫閃回技術等;第15章介紹基于Oracle數據庫的應用開發,包括人力資源管理系統應用開發、圖書管理系統設計與開發及餐飲評價系統設計與開發等。此外,根據教學需要,教材附錄部分提供了8個實驗,供學生練習、實踐。
3.組織架構
與傳統教材以知識點為中心進行內容組織不同,本教材以一個人力資源管理系統數據庫開發與管理為主線進行組織,強調“做中學”和“學中做”的緊密結合。整個教材包括下列4個部分:
構建數據庫系統:安裝與配置數據庫服務器。
數據庫開發:設置數據庫存儲結構、創建數據庫對象、利用SQL語句與數據庫交互、利用PL/SQL程序進行功能模塊開發等。
數據庫管理與維護:包括安全控制、備份與恢復等。
應用程序開發:開發應用程序,構建完整的應用系統。
本書的具體組織架構如圖1所示。
4.致謝
首先感謝我的合作者,謝謝他們為本書出版所付出的努力。本書第1~10章由孫風棟編寫,第11~15章及附錄A由王瀾編寫。此外,參與本書編寫和審稿的人員還有閆海珍、李緒成、李祥坤、劉蕾、張冬青、鄧麗、宋曉慧、王紅、張陽、樊曉勇、劉筱蕓、姜敏、李寧寧、李鶴、李慧、周興恩、駱偉、楊永虎、馬李昕、陳明華、曹玉琳、鄭東霞等。全書由孫風棟統稿,王瀾主審。
此外,本書在編寫過程中還得到了很多讀者的建議,在此向他們表示感謝。最后,還要感謝電子工業出版社凌毅編輯為本書出版提供的幫助和支持。
由于Oracle數據庫知識繁雜,作者水平有限,以及編寫時間倉促,本書錯誤或不妥之處難免,敬請讀者批評指正。QQ交流群2012330,歡迎大家一起探討。
孫風棟
2013年12月于大連
E-mail:sunfengdong@neusoft.edu.cn