《數(shù)據(jù)庫應用與設計:基于案例驅動的oracle 實現(xiàn)》從工程應用的角度出發(fā),以“城市公交行車安全管理系統(tǒng)”的數(shù)據(jù)庫為案例,結合目前流行的oracle數(shù)據(jù)庫系統(tǒng),詳細講解了數(shù)據(jù)庫應用和數(shù)據(jù)庫設計兩方面的知識。本書內(nèi)容豐富,在每章章首提出問題,并在該章節(jié)中解決問題。主要內(nèi)容分為三大部分,第一部分介紹引入的案例;第二部分介紹oracle數(shù)據(jù)庫應用方面的知識,包括oracle數(shù)據(jù)庫歷史介紹和特點,體系結構,基本工具介紹,手動安裝數(shù)據(jù)庫,存儲管理,數(shù)據(jù)字典,安全管理,備份和恢復等數(shù)據(jù)庫日常維護方面的內(nèi)容;第三部分介紹oracle數(shù)據(jù)庫設計方面的知識,以第一部分案例的分析和設計為驅動,講述了表的創(chuàng)建和數(shù)據(jù)管理、數(shù)據(jù)完整性、查詢構建、pl/sql編程基礎和進階等。為方便讀者學習,本書還提供了精品學習網(wǎng)站,該網(wǎng)站提供學習視頻、電子教案、習題測試、優(yōu)秀設計范例供讀者參考。
《數(shù)據(jù)庫應用與設計:基于案例驅動的oracle 實現(xiàn)》適合軟件工程、計算機應用、信息工程等計算機相關專業(yè)的本科生、研究生和數(shù)據(jù)庫愛好者學習使用。
前言
教學建議
第一部分 案例引入
第0章 案例介紹及分析 2
0.1 案例介紹 2
0.1.1 城市公交行車安全管理系統(tǒng) 2
0.1.2 事故信息管理系統(tǒng) 2
0.2 系統(tǒng)需求分析 3
0.2.1 系統(tǒng)設計的目標及原則 3
0.2.2 系統(tǒng)業(yè)務分析 4
0.2.3 系統(tǒng)用例分析 5
0.2.4 系統(tǒng)流程分析 7
第二部分 Oracle數(shù)據(jù)庫應用
第1章 Oracle數(shù)據(jù)庫簡介 10
1.1 Oracle數(shù)據(jù)庫產(chǎn)品發(fā)展史 10
1.2 Oracle 11g新特性 11
1.3 相關術語 12
第2章 Oracle數(shù)據(jù)庫體系結構 13
2.1 概述 13
2.2 實例 14
2.2.1 系統(tǒng)全局區(qū) 14
2.2.2 程序全局區(qū) 16
2.2.3 用戶全局區(qū) 16
2.3 Oracle數(shù)據(jù)庫邏輯存儲結構 16
2.3.1 表空間 16
2.3.2 段 17
2.3.3 區(qū) 18
2.3.4 數(shù)據(jù)塊 18
2.4 Oracle數(shù)據(jù)庫物理存儲結構 18
2.4.1 數(shù)據(jù)文件 18
2.4.2 重做日志文件 19
2.4.3 控制文件 19
2.4.4 歸檔重做日志文件 20
2.4.5 參數(shù)文件 20
2.4.6 口令文件 20
2.5 Oracle關鍵進程 20
2.5.1 PMON 21
2.5.2 SMON 21
2.5.3 DBWn 21
2.5.4 LGWR 22
2.5.5 CKPT 22
2.5.6 ARCn 23
2.5.7 Dnnn 23
2.5.8 RECO 23
2.5.9 LCKn 23
第3章 數(shù)據(jù)庫管理工具入門 24
3.1 Oracle 11g軟件安裝 24
3.1.1 安裝Oracle 11g軟件的系統(tǒng)需求 24
3.1.2 Oracle 11g 軟件安裝過程 24
3.2 Oracle 11g工具介紹 29
3.2.1 SQL*Plus的使用 29
3.2.2 數(shù)據(jù)庫配置工具 31
3.2.3 Oracle 企業(yè)管理器簡介 32
3.2.4 網(wǎng)絡配置工具 34
第4章 創(chuàng)建Oracle數(shù)據(jù)庫 35
4.1 創(chuàng)建數(shù)據(jù)庫 35
4.1.1 創(chuàng)建數(shù)據(jù)庫的準備工作 35
4.1.2 使用DBCA創(chuàng)建和刪除數(shù)據(jù)庫 36
4.1.3 手動方式創(chuàng)建數(shù)據(jù)庫 44
4.1.4 網(wǎng)絡配置管理 48
4.2 啟動和關閉數(shù)據(jù)庫 57
4.2.1 初始化參數(shù)文件管理 57
4.2.2 啟動數(shù)據(jù)庫 60
4.2.3 關閉數(shù)據(jù)庫 62
第5章 存儲管理 64
5.1 存儲管理概述 64
5.2 控制文件管理 65
5.2.1 控制文件概述 65
5.2.2 查詢控制文件信息 66
5.2.3 添加、移動和刪除控制文件 67
5.2.4 備份控制文件 69
5.3 重做日志文件管理 69
5.3.1 重做日志文件概述 69
5.3.2 查詢重做日志文件組和成員 71
5.3.3 添加重做日志文件組和成員 72
5.3.4 刪除重做日志文件組和成員 74
5.4 表空間管理 76
5.4.1 表空間概述 76
5.4.2 創(chuàng)建表空間 76
5.4.3 查詢表空間信息 80
5.4.4 表空間狀態(tài)管理 81
5.4.5 刪除表空間 82
5.5 數(shù)據(jù)文件管理 82
5.5.1 數(shù)據(jù)文件概述 82
5.5.2 創(chuàng)建、修改、移動和刪除數(shù)據(jù)文件 83
第6章 數(shù)據(jù)字典 86
6.1 數(shù)據(jù)字典簡介 86
6.2 數(shù)據(jù)字典的組成 87
6.2.1 數(shù)據(jù)字典表 87
6.2.2 數(shù)據(jù)字典視圖 87
第7章 安全管理 91
7.1 Oracle認證方法 91
7.1.1 操作系統(tǒng)身份認證 91
7.1.2 Oracle數(shù)據(jù)庫身份認證 91
7.1.3 數(shù)據(jù)庫管理員認證 91
7.2 用戶管理 92
7.2.1 創(chuàng)建用戶 92
7.2.2 修改用戶密碼 93
7.2.3 鎖定用戶和解除用戶鎖定 93
7.2.4 修改用戶的默認表空間 94
7.2.5 查看用戶信息 94
7.2.6?刪除用戶 95
7.3 系統(tǒng)權限管理 95
7.3.1 為用戶授予系統(tǒng)權限 96
7.3.2?查看用戶的系統(tǒng)權限 97
7.3.3 收回授予的系統(tǒng)權限 97
7.4 對象權限管理 99
7.4.1 對象權限授予 99
7.4.2 對象權限查看 101
7.4.3 撤銷對象權限 101
7.5 角色管理 102
7.5.1 創(chuàng)建角色 102
7.5.2?為角色和用戶授予權限 102
7.5.3 查看角色信息 103
7.5.4 撤銷角色權限 103
7.5.5 刪除角色 104
第8章 數(shù)據(jù)庫備份與恢復 105
8.1 備份與恢復概述 105
8.1.1 備份概述 105
8.1.2?恢復概述 106
8.1.3 常見備份與恢復方法 107
8.2 邏輯導出/導入 108
8.2.1 Export/Import 108
8.2.2 數(shù)據(jù)泵 114
8.3 用戶管理的備份與恢復 122
8.3.1 用戶管理的脫機備份與恢復 122
8.3.2 歸檔模式設置 124
8.3.3 用戶管理的聯(lián)機備份與恢復 127
8.4 閃回技術和撤銷表空間 131
8.4.1 閃回技術概述 131
8.4.2 閃回查詢 131
8.4.3 閃回表 134
8.4.4 閃回刪除 136
8.4.5 閃回數(shù)據(jù)庫 139
8.4.6 閃回數(shù)據(jù)歸檔 142
8.4.7 撤銷表空間管理 143
8.5 恢復管理器(RMAN) 145
8.5.1 RMAN概述 145
8.5.2 創(chuàng)建恢復目錄 146
8.5.3 連接目標數(shù)據(jù)庫 147
8.5.4 RMAN配置參數(shù)和常用命令 148
8.5.5 RMAN備份數(shù)據(jù)庫 152
8.5.6 RMAN恢復數(shù)據(jù)庫 155
第三部分 Oracle數(shù)據(jù)庫設計
第9章 案例分析和設計 160
9.1 數(shù)據(jù)庫設計模式 160
9.1.1 數(shù)據(jù)字典通用模式設計 160
9.1.2 樹形結構通用模式設計 161
9.2 數(shù)據(jù)庫概念結構設計 162
9.2.1 公共信息管理部分數(shù)據(jù)庫概念結構設計 163
9.2.2 事故處理管理部分數(shù)據(jù)庫概念結構設計 164
9.3 數(shù)據(jù)庫邏輯結構設計 166
9.3.1 將E-R圖轉換成關系模式 166
9.3.2 關系模式優(yōu)化 167
第10章 表的創(chuàng)建及數(shù)據(jù)管理 170
10.1 SQL概述 170
10.2 數(shù)據(jù)類型 171
10.3 表的管理 173
10.3.1 表類型 173
10.3.2 創(chuàng)建表 173
10.3.3 更改表 174
10.3.4 刪除表 175
10.4 表數(shù)據(jù)維護 176
10.4.1 插入數(shù)據(jù) 176
10.4.2 更新數(shù)據(jù) 177
10.4.3 刪除數(shù)據(jù) 177
10.4.4 合并數(shù)據(jù) 178
10.5 索引管理 180
10.5.1 索引概述 180
10.5.2 索引的分類 180
10.5.3 創(chuàng)建索引 182
10.5.4 查詢索引信息 183
10.5.5 更改索引 184
10.5.6 刪除索引 184
第11章 數(shù)據(jù)完整性 185
11.1 數(shù)據(jù)完整性簡介 185
11.2 約束 185
11.2.1 主鍵約束 186
11.2.2 外鍵約束 186
11.2.3 非空約束 187
11.2.4 檢查約束 188
11.2.5 唯一約束 188
11.2.6 默認值 189
11.3 添加約束 189
11.4 刪除約束 190
11.5 約束狀態(tài) 190
第12章 查詢構建 191
12.1 數(shù)據(jù)查詢 191
12.1.1 基本語法 191
12.1.2 基本查詢 192
12.1.3 分組查詢 193
12.1.4 連接查詢 194
12.1.5 子查詢 196
12.1.6 集合查詢 197
12.2 常用函數(shù)介紹 198
12.2.1 數(shù)值處理函數(shù) 198
12.2.2 字符函數(shù) 199
12.2.3 日期函數(shù) 200
12.2.4 轉換函數(shù) 201
12.2.5 使用CASE 203
12.3 視圖管理 203
12.3.1 視圖的概念 203
12.3.2 創(chuàng)建和修改視圖 204
12.3.3 查詢和更新視圖 205
12.3.4 刪除視圖 206
第13章 PL/SQL編程基礎 207
13.1 序列簡介 207
13.1.1 序列的定義 207
13.1.2 序列的使用 209
13.2 PL/SQL編程體系結構 210
13.2.1 PL/SQL簡介 210
13.2.2 PL/SQL體系結構 211
13.2.3 PL/SQL中的變量和常量 213
13.2.4 PL/SQL中的運算符和表達式 217
13.3 PL/SQL的控制結構 217
13.3.1 條件控制 217
13.3.2 循環(huán)控制 220
13.3.3 其他控制 222
13.4 PL/SQL的子程序和包 223
13.4.1 創(chuàng)建子程序 223
13.4.2 子程序參數(shù) 227
13.4.3 過程和函數(shù)的差異 231
13.4.4 包的創(chuàng)建 231
13.4.5 包的使用 234
13.4.6 刪除過程、函數(shù)和包 237
第14章 PL/SQL編程進階 238
14.1 PL/SQL中的異常處理 238
14.1.1 什么是異常 238
14.1.2 為何使用異常 239
14.1.3 異常的使用 239
14.2 游標 245
14.2.1 游標的定義 245
14.2.2 隱式游標的使用 246
14.2.3 顯式游標的使用 247
14.3 觸發(fā)器 252
14.3.1 觸發(fā)器的作用 252
14.3.2 觸發(fā)器的創(chuàng)建和使用 254
14.3.3 變異表的處理 263
14.4 案例的解答 267
附錄A PL/SQL Developer工具簡介 270
附錄B 事故信息管理系統(tǒng)數(shù)據(jù)庫表結構 280
參考文獻 288