《數據庫應用與設計:基于案例驅動的oracle 實現》從工程應用的角度出發,以“城市公交行車安全管理系統”的數據庫為案例,結合目前流行的oracle數據庫系統,詳細講解了數據庫應用和數據庫設計兩方面的知識。本書內容豐富,在每章章首提出問題,并在該章節中解決問題。主要內容分為三大部分,第一部分介紹引入的案例;第二部分介紹oracle數據庫應用方面的知識,包括oracle數據庫歷史介紹和特點,體系結構,基本工具介紹,手動安裝數據庫,存儲管理,數據字典,安全管理,備份和恢復等數據庫日常維護方面的內容;第三部分介紹oracle數據庫設計方面的知識,以第一部分案例的分析和設計為驅動,講述了表的創建和數據管理、數據完整性、查詢構建、pl/sql編程基礎和進階等。為方便讀者學習,本書還提供了精品學習網站,該網站提供學習視頻、電子教案、習題測試、優秀設計范例供讀者參考。
《數據庫應用與設計:基于案例驅動的oracle 實現》適合軟件工程、計算機應用、信息工程等計算機相關專業的本科生、研究生和數據庫愛好者學習使用。
前言
教學建議
第一部分 案例引入
第0章 案例介紹及分析 2
0.1 案例介紹 2
0.1.1 城市公交行車安全管理系統 2
0.1.2 事故信息管理系統 2
0.2 系統需求分析 3
0.2.1 系統設計的目標及原則 3
0.2.2 系統業務分析 4
0.2.3 系統用例分析 5
0.2.4 系統流程分析 7
第二部分 Oracle數據庫應用
第1章 Oracle數據庫簡介 10
1.1 Oracle數據庫產品發展史 10
1.2 Oracle 11g新特性 11
1.3 相關術語 12
第2章 Oracle數據庫體系結構 13
2.1 概述 13
2.2 實例 14
2.2.1 系統全局區 14
2.2.2 程序全局區 16
2.2.3 用戶全局區 16
2.3 Oracle數據庫邏輯存儲結構 16
2.3.1 表空間 16
2.3.2 段 17
2.3.3 區 18
2.3.4 數據塊 18
2.4 Oracle數據庫物理存儲結構 18
2.4.1 數據文件 18
2.4.2 重做日志文件 19
2.4.3 控制文件 19
2.4.4 歸檔重做日志文件 20
2.4.5 參數文件 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章 數據庫管理工具入門 24
3.1 Oracle 11g軟件安裝 24
3.1.1 安裝Oracle 11g軟件的系統需求 24
3.1.2 Oracle 11g 軟件安裝過程 24
3.2 Oracle 11g工具介紹 29
3.2.1 SQL*Plus的使用 29
3.2.2 數據庫配置工具 31
3.2.3 Oracle 企業管理器簡介 32
3.2.4 網絡配置工具 34
第4章 創建Oracle數據庫 35
4.1 創建數據庫 35
4.1.1 創建數據庫的準備工作 35
4.1.2 使用DBCA創建和刪除數據庫 36
4.1.3 手動方式創建數據庫 44
4.1.4 網絡配置管理 48
4.2 啟動和關閉數據庫 57
4.2.1 初始化參數文件管理 57
4.2.2 啟動數據庫 60
4.2.3 關閉數據庫 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 創建表空間 76
5.4.3 查詢表空間信息 80
5.4.4 表空間狀態管理 81
5.4.5 刪除表空間 82
5.5 數據文件管理 82
5.5.1 數據文件概述 82
5.5.2 創建、修改、移動和刪除數據文件 83
第6章 數據字典 86
6.1 數據字典簡介 86
6.2 數據字典的組成 87
6.2.1 數據字典表 87
6.2.2 數據字典視圖 87
第7章 安全管理 91
7.1 Oracle認證方法 91
7.1.1 操作系統身份認證 91
7.1.2 Oracle數據庫身份認證 91
7.1.3 數據庫管理員認證 91
7.2 用戶管理 92
7.2.1 創建用戶 92
7.2.2 修改用戶密碼 93
7.2.3 鎖定用戶和解除用戶鎖定 93
7.2.4 修改用戶的默認表空間 94
7.2.5 查看用戶信息 94
7.2.6?刪除用戶 95
7.3 系統權限管理 95
7.3.1 為用戶授予系統權限 96
7.3.2?查看用戶的系統權限 97
7.3.3 收回授予的系統權限 97
7.4 對象權限管理 99
7.4.1 對象權限授予 99
7.4.2 對象權限查看 101
7.4.3 撤銷對象權限 101
7.5 角色管理 102
7.5.1 創建角色 102
7.5.2?為角色和用戶授予權限 102
7.5.3 查看角色信息 103
7.5.4 撤銷角色權限 103
7.5.5 刪除角色 104
第8章 數據庫備份與恢復 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 數據泵 114
8.3 用戶管理的備份與恢復 122
8.3.1 用戶管理的脫機備份與恢復 122
8.3.2 歸檔模式設置 124
8.3.3 用戶管理的聯機備份與恢復 127
8.4 閃回技術和撤銷表空間 131
8.4.1 閃回技術概述 131
8.4.2 閃回查詢 131
8.4.3 閃回表 134
8.4.4 閃回刪除 136
8.4.5 閃回數據庫 139
8.4.6 閃回數據歸檔 142
8.4.7 撤銷表空間管理 143
8.5 恢復管理器(RMAN) 145
8.5.1 RMAN概述 145
8.5.2 創建恢復目錄 146
8.5.3 連接目標數據庫 147
8.5.4 RMAN配置參數和常用命令 148
8.5.5 RMAN備份數據庫 152
8.5.6 RMAN恢復數據庫 155
第三部分 Oracle數據庫設計
第9章 案例分析和設計 160
9.1 數據庫設計模式 160
9.1.1 數據字典通用模式設計 160
9.1.2 樹形結構通用模式設計 161
9.2 數據庫概念結構設計 162
9.2.1 公共信息管理部分數據庫概念結構設計 163
9.2.2 事故處理管理部分數據庫概念結構設計 164
9.3 數據庫邏輯結構設計 166
9.3.1 將E-R圖轉換成關系模式 166
9.3.2 關系模式優化 167
第10章 表的創建及數據管理 170
10.1 SQL概述 170
10.2 數據類型 171
10.3 表的管理 173
10.3.1 表類型 173
10.3.2 創建表 173
10.3.3 更改表 174
10.3.4 刪除表 175
10.4 表數據維護 176
10.4.1 插入數據 176
10.4.2 更新數據 177
10.4.3 刪除數據 177
10.4.4 合并數據 178
10.5 索引管理 180
10.5.1 索引概述 180
10.5.2 索引的分類 180
10.5.3 創建索引 182
10.5.4 查詢索引信息 183
10.5.5 更改索引 184
10.5.6 刪除索引 184
第11章 數據完整性 185
11.1 數據完整性簡介 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 約束狀態 190
第12章 查詢構建 191
12.1 數據查詢 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 常用函數介紹 198
12.2.1 數值處理函數 198
12.2.2 字符函數 199
12.2.3 日期函數 200
12.2.4 轉換函數 201
12.2.5 使用CASE 203
12.3 視圖管理 203
12.3.1 視圖的概念 203
12.3.2 創建和修改視圖 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 循環控制 220
13.3.3 其他控制 222
13.4 PL/SQL的子程序和包 223
13.4.1 創建子程序 223
13.4.2 子程序參數 227
13.4.3 過程和函數的差異 231
13.4.4 包的創建 231
13.4.5 包的使用 234
13.4.6 刪除過程、函數和包 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 觸發器 252
14.3.1 觸發器的作用 252
14.3.2 觸發器的創建和使用 254
14.3.3 變異表的處理 263
14.4 案例的解答 267
附錄A PL/SQL Developer工具簡介 270
附錄B 事故信息管理系統數據庫表結構 280
參考文獻 288