本書以當前*主流的Oracle 11g(中文版)為平臺,分別介紹Oracle基礎和在流行平臺上開發Oracle數據庫應用系統。Oracle基礎部分比較系統地介紹了Oracle 11g的主要功能,語法格式為中文,實例數據庫表字段名為漢字,方便教學。實習部分使用的流行平臺包括PHP 5、JavaEE 7和ASP.NET 4,用不同平臺操作同樣的數據庫,實現同樣功能,可給讀者應用帶來極大的方便。
本書可作為大學本科、高職高專有關課程教材,也可供廣大Oracle數據庫應用開發人員使用或參考。
江蘇省優秀教學成果獎__eol__中國電子教育學會 教材評審 一等獎江蘇省優秀教學成果獎__eol__中國電子教育學會 教材評審 一等獎江蘇省優秀教學成果獎__eol__中國電子教育學會 教材評審 一等獎
第1部分 實 用 教 程
第1章 數據庫基礎1
1.1 數據庫基本概念1
1.1.1 數據庫系統1
1.1.2 數據模型2
1.1.3 關系型數據庫語言4
1.2 數據庫設計5
1.2.1 概念數據模型5
1.2.2 邏輯數據模型6
1.2.3 物理數據模型7
1.3 數據庫應用系統8
1.3.1 應用系統的數據接口8
1.3.2 C/S架構的應用系統8
1.3.3 B/S架構的應用系統9
第2章 Oracle 11g數據庫介紹10
2.1 Oracle 11g簡介與安裝10
2.1.1 Oracle 11g數據庫簡介10
2.1.2 Oracle 11g的安裝10
2.2 Oracle數據庫的基本結構14
2.2.1 內部結構14
2.2.2 外部結構17
2.2.3 數據庫實例18
2.3 Oracle 11g數據庫工具21
第3章 數據庫的創建和操作24
3.1 以界面方式創建數據庫
(采用DBCA)24
3.2 以界面方式操作數據庫
(采用SQL Developer)28
3.2.1 表操作28
3.2.2 表數據操作34
3.2.3 執行SQL命令36
3.3 以命令方式操作數據庫
(采用SQL*Plus)37
3.3.1 創建表37
3.3.2 修改表39
3.3.3 刪除表42
3.3.4 插入記錄42
3.3.5 刪除記錄46
3.3.6 修改記錄46
第4章 數據庫的查詢和視圖49
4.1 選擇、投影和連接49
4.1.1 選擇49
4.1.2 投影49
4.1.3 連接50
4.2 數據庫的查詢51
4.2.1 選擇列51
4.2.2 選擇行55
4.2.3 查詢對象62
4.2.4 連接63
4.2.5 匯總66
4.2.6 排序70
4.2.7 合并71
4.3 數據庫視圖72
4.3.1 視圖的概念72
4.3.2 創建視圖72
4.3.3 查詢視圖74
4.3.4 更新視圖75
4.3.5 修改視圖的定義77
4.3.6 刪除視圖77
4.4 含替換變量的查詢78
4.4.1 &替換變量78
4.4.2 &&替換變量80
4.4.3 DEFINE和ACCEPT命令80
第5章 索引與數據完整性83
5.1 索引83
5.1.1 索引的分類83
5.1.2 使用索引的原則84
5.1.3 創建索引85
5.1.4 維護索引87
5.1.5 刪除索引88
5.2 數據完整性88
5.2.1 數據完整性的分類89
5.2.2 域完整性的實現91
5.2.3 實體完整性的實現93
5.2.4 參照完整性的實現97
第6章 PL/SQL語言100
6.1 PL/SQL概述100
6.1.1 PL/SQL的組成100
6.1.2 PL/SQL的特點101
6.1.3 PL/SQL的開發和運行環境103
6.2 PL/SQL字符集103
6.2.1 合法字符103
6.2.2 運算符103
6.2.3 其他符號105
6.3 PL/SQL變量、常量和數據類型106
6.3.1 變量106
6.3.2 常量108
6.3.3 常用數據類型108
6.3.4 對象類型109
6.3.5 數據類型轉換110
6.4 PL/SQL基本程序結構和語句110
6.4.1 PL/SQL程序塊110
6.4.2 條件結構111
6.4.3 循環結構114
6.4.4 選擇和跳轉語句117
6.4.5 異常119
6.5 系統內置函數122
6.6 用戶定義函數125
6.6.1 創建函數126
6.6.2 調用函數128
6.6.3 刪除函數128
6.7 游標128
6.7.1 顯式游標128
6.7.2 隱式游標131
6.7.3 游標FOR循環131
6.7.4 游標變量133
6.8 包134
6.8.1 包的創建135
6.8.2 包的初始化138
6.8.3 重載138
6.8.4 Oracle 11g內置包139
6.9 集合140
6.9.1 聯合數組140
6.9.2 嵌套表141
6.9.3 可變數組142
6.9.4 集合的屬性和方法143
第7章 存儲過程和觸發器147
7.1 存儲過程147
7.1.1 存儲過程的創建147
7.1.2 存儲過程的調用149
7.1.3 存儲過程的修改150
7.1.4 存儲過程的刪除151
7.2 觸發器151
7.2.1 以命令方式創建觸發器152
7.2.2 以界面方式創建觸發器156
7.2.3 啟用和禁用觸發器157
7.2.4 觸發器的刪除157
第8章 系統安全管理158
8.1 用戶158
8.1.1 創建用戶158
8.1.2 管理用戶163
8.2 權限管理164
8.2.1 權限概述164
8.2.2 系統權限管理164
8.2.3 對象權限管理170
8.2.4 安全特性171
8.3 角色管理172
8.3.1 角色概述172
8.3.2 創建用戶角色174
8.3.3 管理用戶角色174
8.4 概要文件和數據字典視圖175
8.4.1 創建概要文件176
8.4.2 修改概要文件177
8.4.3 數據字典視圖177
8.5 審計179
8.5.1 登錄審計179
8.5.2 操作審計180
8.5.3 對象審計181
8.5.4 權限審計182
第9章 表空間、備份和恢復183
9.1 表空間183
9.1.1 創建表空間183
9.1.2 管理表空間185
9.1.3 刪除表空間186
9.2 備份和恢復概述187
9.2.1 備份概述187
9.2.2 恢復概述189
9.3 導入/導出190
9.3.1 導出191
9.3.2 導入193
9.4 脫機備份196
9.5 聯機備份196
9.5.1 以ARCHIVELOG方式運行
數據庫197
9.5.2 執行數據庫聯機備份197
9.6 數據泵198
9.6.1 概述198
9.6.2 EXPDP導出198
9.6.3 IMPDP導入200
第10章 事務、鎖、閃回和Undo表空間202
10.1 事務202
10.1.1 事務的概念202
10.1.2 事務處理203
10.1.3 自治事務206
10.2 鎖208
10.2.1 鎖機制和死鎖208
10.2.2 鎖的類型209
10.2.3 表鎖和事務鎖209
10.3 閃回操作210
10.3.1 基本概念210
10.3.2 查詢閃回211
10.3.3 表閃回212
10.3.4 刪除閃回214
10.3.5 數據庫閃回215
10.3.6 歸檔閃回218
10.4 Undo表空間220
10.4.1 自動Undo管理220
10.4.2 Undo表空間的優點220
10.4.3 Undo表空間管理參數220
10.4.4 創建和管理Undo表空間221
第11章 其他概念223
11.1 同義詞223
11.1.1 創建同義詞223
11.1.2 使用同義詞224
11.1.3 刪除同義詞224
11.2 數據庫鏈接225
11.2.1 創建數據庫鏈接225
11.2.2 使用數據庫鏈接227
11.2.3 刪除數據庫鏈接227
11.3 快照228
11.3.1 創建快照228
11.3.2 修改快照231
11.3.3 刪除快照232
11.4 序列233
11.4.1 創建序列233
11.4.2 修改序列234
11.4.3 刪除序列235
第2部分 實 驗
實驗1 創建數據庫和表236
目的與要求236
實驗準備236
實驗內容236
實驗2 表數據插入、修改和刪除239
目的與要求239
實驗準備239
實驗內容240
實驗3 數據庫的查詢和視圖242
目的與要求242
實驗準備243
實驗內容243
實驗4 索引和完整性249
目的與要求249
實驗準備249
實驗內容250
實驗5 PL/SQL編程252
目的與要求252
實驗準備252
實驗內容252
實驗6 存儲過程和觸發器的使用253
目的與要求253
實驗準備253
實驗內容253
實驗7 用戶、角色與安全性256
目的與要求256
實驗準備256
實驗內容256
第3部分 Oracle 11g綜合應用
實習0 創建實習數據庫258
實習0.1 創建數據庫及其對象258
實習0.2 功能和界面261
實習1 PHP 5/Oracle 11g學生成績
管理系統264
實習1.1 PHP開發平臺搭建264
實習1.1.1 創建PHP環境264
實習1.1.2 Eclipse安裝與配置267
實習1.2 PHP開發入門268
實習1.2.1 PHP項目的建立268
實習1.2.2 PHP項目的運行269
實習1.2.3