第一篇 Oracle管理配置
第1章 Oracle安裝配置
1.1 Oracle簡介 1
1.1.1 數據庫術語 1
1.1.2 主流數據庫簡介 2
1.1.3 Oracle數據庫的特點 2
1.2 安裝Oracle數據庫 3
1.2.1 Oracle數據庫的版本變遷及安裝環境 3
1.2.2 安裝過程 4
1.2.3 安裝中需要注意的問題 9
1.3 本章小結 9
1.4 習題 9
第2章 Oracle常用工具
2.1 Net Configuration Assistant(網絡配置助手) 10
2.1.1 監聽程序配置 10
2.1.2 命名方法配置 13
2.1.3 本地網絡服務名配置 15
2.2 Net Manager(網絡管理員) 17
2.3 本章實例 19
2.4 本章小結 21
2.5 習題 21
第3章 SQL Plus和PL/SQL
3.1 SQL Plus與PL/SQL簡介 22
3.2 使用SQL Plus 23
3.2.1 登錄SQL Plus 23
3.2.2 SQL Plus輸齣結果的格式化 24
3.2.3 SQL Plus小結 29
3.3 PL/SQL 29
3.3.1 PL/SQL常用開發工具 29
3.3.2 開發一個簡單的PL/SQL程序 30
3.4 本章實例 31
3.5 本章小結 32
3.6 習題 32
第二篇 Oracle數據庫對象
第4章 Oracle數據庫
4.1 創建Oracle數據庫 33
4.2 Oracle數據庫的相關術語 35
4.2.1 數據庫 35
4.2.2 數據庫實例和SID 36
4.2.3 ORACLE_SID 37
4.3 Oracle數據庫的備份與恢復 37
4.3.1 邏輯備份/恢復(導齣/導入) 37
4.3.2 物理備份/恢復 38
4.3.3 利用SQL Developer備份數據庫 39
4.4 本章實例 41
4.5 本章小結 41
4.6 習題 42
第5章 Oracle數據錶對象
5.1 Oracle錶空間 43
5.1.1 Oracle錶空間簡介 43
5.1.2 創建Oracle錶空間 44
5.1.3 查看錶空間 47
5.1.4 修改數據庫默認錶空間 47
5.1.5 修改錶空間名稱 48
5.1.6 刪除錶空間 49
5.2 創建Oracle數據錶 50
5.2.1 利用工具創建數據錶 50
5.2.2 利用工具查看數據錶 51
5.2.3 利用命令創建數據錶 52
5.2.4 利用命令查看錶結構 52
5.3 修改Oracle數據錶結構 53
5.3.1 利用工具修改數據錶結構 53
5.3.2 利用命令修改數據錶結構 54
5.4 刪除數據錶 56
5.4.1 利用工具刪除數據錶 56
5.4.2 利用SQL語句刪除數據錶 56
5.5 備份/恢復數據錶 57
5.5.1 利用工具備份/恢復數據錶 57
5.5.2 利用命令備份/恢復數據錶 60
5.6 臨時錶 61
5.6.1 臨時錶簡介 61
5.6.2 會話級臨時錶 61
5.6.3 事務級臨時錶 62
5.6.4 查看臨時錶在數據庫中的信息 63
5.6.5 臨時錶的應用場景 64
5.7 特殊的錶dual 64
5.7.1 分析dual錶 65
5.7.2 dual錶的應用場景 65
5.7.3 修改dual錶對查詢結果的影響 66
5.8 本章實例 66
5.9 本章小結 67
5.10 習題 67
第6章 約束
6.1 主鍵約束 68
6.1.1 主鍵簡介 68
6.1.2 創建主鍵約束 69
6.1.3 修改錶的主鍵約束 71
6.1.4 主鍵應用場景 73
6.2 外鍵約束 74
6.2.1 外鍵簡介 74
6.2.2 創建外鍵約束 74
6.2.3 級聯更新與級聯刪除 77
6.2.4 修改外鍵屬性 79
6.2.5 外鍵使用 81
6.3 唯一性約束 82
6.3.1 唯一性約束簡介 82
6.3.2 創建唯一性約束 82
6.3.3 修改唯一性約束 83
6.3.4 唯一性約束的使用 84
6.4 檢查約束 85
6.4.1 檢查約束簡介 85
6.4.2 創建檢查約束 85
6.4.3 修改檢查約束 87
6.4.4 檢查約束的使用 88
6.5 默認值約束 88
6.5.1 默認值約束簡介 88
6.5.2 創建默認值約束 88
6.5.3 修改默認值約束 90
6.6 本章實例 91
6.7 本章小結 92
6.8 習題 92
第7章 視圖
7.1 關係視圖 93
7.1.1 建立關係視圖 93
7.1.2 修改/刪除視圖 94
7.1.3 連接視圖 96
7.1.4 編譯視圖 98
7.1.5 使用force選項強製創建視圖 100
7.1.6 利用視圖更新數據錶 101
7.1.7 with check option選項 103
7.1.8 關係視圖小結 104
7.2 內嵌視圖 104
7.2.1 內嵌視圖簡介 105
7.2.2 內嵌視圖的使用 105
7.2.3 內嵌視圖小結 107
7.3 對象視圖 107
7.3.1 對象視圖簡介 107
7.3.2 對象視圖的創建與使用 107
7.4 物化視圖 109
7.4.1 物化視圖簡介 109
7.4.2 物化視圖的使用 109
7.4.3 物化視圖的數據加載 111
7.4.4 物化視圖的數據更新 111
7.4.5 查詢重寫 112
7.5 本章實例 113
7.6 本章小結 113
7.7 習題 113
第8章 函數與存儲過程
8.1 函數 114
8.1.1 函數簡介 114
8.1.2 創建函數 114
8.1.3 函數中的括號 116
8.1.4 函數的參數 117
8.1.5 函數的確定性 118
8.1.6 典型函數舉例 119
8.2 存儲過程 120
8.2.1 存儲過程簡介 120
8.2.2 創建存儲過程 120
8.2.3 存儲過程的參數——IN參數 122
8.2.4 存儲過程的參數——OUT參數 123
8.2.5 存儲過程的參數——IN OUT參數 125
8.2.6 存儲過程的參數——參數順序 125
8.2.7 存儲過程的參數——參數的默認值 128
8.2.8 存儲過程的參數——參數順序總結 129
8.3 程序包 129
8.3.1 規範 129
8.3.2 主體 131
8.3.3 調用程序包中的函數/存儲過程 133
8.3.4 程序包中的變量 134
8.4 本章實例 135
8.5 本章小結 137
8.6 習題 137
第9章 遊標
9.1 遊標簡介 138
9.2 顯式遊標 138
9.2.1 聲明遊標 138
9.2.2 使用遊標 140
9.3 隱式遊標 142
9.3.1 sql隱式遊標 143
9.3.2 cursor for遊標 144
9.3.3 隱式遊標和顯式遊標 145
9.4 遊標屬性 145
9.5 動態遊標 147
9.5.1 強類型動態遊標 147
9.5.2 弱類型動態遊標 149
9.5.3 比較兩種動態遊標 152
9.6 本章實例 152
9.7 本章小結 153
9.8 習題 153
第10章 觸發器
10.1 觸發器簡介 154
10.2 創建和使用觸發器 154
10.2.1 創建觸發器 155
10.2.2 觸發器的作用級彆 156
10.2.3 在多個事件上定義觸發器 157
10.2.4 為同一事件定義多個觸發器 158
10.2.5 觸發器限製 159
10.3 語句觸發器 160
10.3.1 創建語句觸發器 160
10.3.2 觸發器謂詞 162
10.3.3 觸發時機 164
10.3.4 觸發器級聯 164
10.4 行觸發器 165
10.4.1 行觸發器與引用 166
10.4.2 觸發時機與引用 168
10.4.3 觸發時機與瞬態 169
10.5 instead of觸發器 171
10.5.1 創建和使用instead of觸發器 171
10.5.2 instead of觸發器與引用 174
10.6 係統事件與用戶事件觸發器 175
10.6.1 係統事件觸發器 175
10.6.2 用戶事件觸發器 176
10.7 啓用和禁用觸發器 178
10.7.1 啓用和禁用觸發器的場景 178
10.7.2 禁用觸發器 178
10.7.3 啓用觸發器 179
10.7.4 觸發器信息 180
10.8 本章實例 180
10.9 本章小結 182
10.11 習題 182
第11章 序列
11.1 創建和使用序列 183
11.1.1 創建序列 183
11.1.2 使用序列 184
11.1.3 序列初始值start with 185
11.2 修改序列屬性 186
11.2.1 修改minvalue和maxvalue 186
11.2.2 修改increment by 187
11.2.3 修改cycle 188
11.2.4 修改cache 189
11.3 本章實例 190
11.4 本章小結 191
11.5 習題 191
第12章 用戶角色與權限控製
12.1 用戶 192
12.1.1 Oracle中的用戶 192
12.1.2 創建新用戶 193
12.1.3 用戶與模式(Schema) 194
12.1.4 係統用戶sys和system 194
12.2 權限 195
12.2.1 係統權限 195
12.2.2 對象權限 197
12.3 角色 201
12.3.1 創建和使用角色 201
12.3.2 繼承角色 203
12.3.3 禁用和啓用角色 204
12.4 本章實例 205
12.5 本章小結 206
12.6 習題 206
第三篇 Oracle中的SQL
第13章 Oracle數據類型
13.1 Oracle中的數據類型 207
13.1.1 字符型 207
13.1.2 數值型 208
13.1.3 日期時間型 208
13.1.4 lob類型 209
13.2 Oracle中的特殊數據 209
13.2.1 rowid 209
13.2.2 null與空字符串 210
13.2.3 單引號與雙引號 211
13.3 本章實例 213
13.4 本章小結 215
13.5 習題 215
第14章 Oracle中的函數與錶達式
14.1 Oracle中的字符串函數 216
14.1.1 lpad()函數 216
14.1.2 rpad()函數 217
14.1.3 lower()函數——返迴小寫字符串 217
14.1.4 upper()函數——返迴大寫字符串 217
14.1.5 initcap ()函數——單詞首字母大寫 218
14.1.6 length()函數——返迴字符串長度 218
14.1.7 substr()函數——截取字符串 219
14.1.8 instr()函數——獲得字符串齣現的位置 219
14.1.9 ltrim()函數——刪除字符串首部空格 220
14.1.10 rtrim()函數——刪除字符串尾部空格 220
14.1.11 trim()函數——刪除字符串首尾空格 220
14.1.12 to_char()函數——將其他類型轉換為字符類型 221
14.1.13 chr()函數——將ASCII碼轉換為字符串 223
14.1.14 translate()函數——替換字符 223
14.2 Oracle中的數學函數 224
14.2.1 abs ()函數——返迴數字的絕對值 224
14.2.2 round ()函數——返迴數字的“四捨五入”值 224
14.2.3 ceil()函數——嚮上取整 225
14.2.4 floor()函數——嚮下取整 225
14.2.5 mod ()函數——取模操作 226
14.2.6 sign()函數——返迴數字的正負性 226
14.2.7 sqrt()函數——返迴數字的平方根 226
14.2.8 power()函數——乘方運算 227
14.2.9 trunc()函數——截取數字 227
14.2.10 vsize()函數——返迴數據的存儲空間 227
14.2.11 to_number()函數——將字符串轉換為數值類型 228
14.3 Oracle中的日期函數 228
14.3.1 to_date()函數——將字符串轉換為日期型 228
14.3.2 add_months()函數——為日期加上特定月份 229
14.3.3 last_day()函數——返迴特定日期所在月的最後一天 230
14.3.4 months_between ()函數——返迴兩個日期所差的月數 230
14.3.5 current_date()函數——返迴當前會話時區的當前日期 230
14.3.6 current_timestamp()函數——返迴當前會話時區的 當前時間戳 231
14.3.7 extract()函數——返迴日期的某個域 231
14.4 Oracle中的聚閤函數 232
14.4.1 max()函數——求最大值 233
14.4.2 min()函數——求最小值 233
14.4.3 avg()函數——求平均值 234
14.4.4 sum()函數——求和 234
14.4.5 count()函數——獲得記錄數 235
14.5 Oracle中的其他函數 236
14.5.1 decode()函數——多值判斷 236
14.5.2 nvl()函數——處理空值 237
14.5.3 cast()函數——強製轉換數據類型 238
14.6 Oracle中的運算錶達式 239
14.6.1 數學運算 240
14.6.2 邏輯運算 241
14.6.3 位運算 242
14.7 Oracle中的特殊判式 242
14.7.1 between——範圍測試 243
14.7.2 in——集閤成員測試 244
14.7.3 like——模式匹配 244
14.7.4 is null——空值判斷 244
14.7.5 exists——存在性判斷 245
14.7.6 all、some和any——數量判斷 245
14.8 Oracle高級函數——分析函數與窗口函數 246
14.8.1 排名 246
14.8.2 分區窗口 248
14.8.3 窗口子句 250
14.8.4 主要的分析函數 253
14.9 本章實例 256
14.10 本章小結 257
14.11 習題 258
第15章 Oracle中的控製語句
15.1 Oracle中的條件語句 259
15.1.1 利用if else進行條件判斷 259
15.1.2 利用case when進行分支判斷 260
15.2 Oracle中的循環語句 262
15.2.1 無條件循環 262
15.2.2 while循環 263
15.2.3 for循環 264
15.3 本章實例 265
15.4 本章小結 265
15.5 習題 266
第16章 SQL查詢
16.1 基本查詢 267
16.1.1 select語句查詢執行步驟 267
16.1.2 where子句 269
16.1.3 利用distinct獲得唯一性記錄 270
16.1.4 order by子句 270
16.1.5 group by子句 271
16.1.6 having子句 274
16.2 子查詢 275
16.2.1 理解子查詢 275
16.2.2 子查詢使用實例 275
16.3 聯閤語句 277
16.3.1 union查詢 277
16.3.2 union all查詢 278
16.3.3 intersect查詢 280
16.3.4 minus查詢 280
16.4 連接 281
16.4.1 自然連接 281
16.4.2 內連接 282
16.4.3 外連接——左連接 283
16.4.4 外連接——右連接 285
16.4.5 外連接——完全連接 287
16.5 層次化查詢 289
16.5.1 利用connect by進行層次化查詢 290
16.5.2 connect by的使用場景 291
16.5.3 sys_connect_by_path()函數的使用 292
16.6 本章實例 293
16.7 本章小結 295
16.8 習題 295
第17章 SQL更新數據
17.1 插入數據 296
17.1.1 insert語句嚮錶中插入數據 296
17.1.2 利用子查詢批量插入數據 297
17.1.3 insert語句與默認值 298
17.1.4 insert語句與唯一性約束 298
17.1.5 insert語句與外鍵約束 298
17.2 修改數據 299
17.2.1 利用update修改單列的值 299
17.2.2 利用update修改多列的值 300
17.2.3 利用where子句限製修改範圍 300
17.3 刪除數據 301
17.3.1 利用delete命令刪除數據 301
17.3.2 利用truncate命令刪除數據 302
17.4 數據提交與迴滾 302
17.4.1 迴滾動作 302
17.4.2 提交動作 303
17.4.3 SQL Developer中的迴滾與提交 304
17.5 本章實例 305
17.6 本章小結 307
17.7 習題 307
第四篇 Oracle編程高級應用
第18章 數據庫速度優化與數據完整性
18.1 利用索引加快數據引用 308
18.1.1 索引的原理 308
18.1.2 利用索引提高數據庫性能 309
18.1.3 索引對DML的影響 311
18.1.4 索引的使用時機 312
18.2 利用約束保持數據完整性 312
18.2.1 數據庫完整性的重要性 313
18.2.2 保持數據庫完整性的重要方麵 313
18.2.3 利用約束保持數據完整性 313
18.3 本章實例 314
18.3.1 使用比較運算符不當 314
18.3.2 函數的使用 315
18.3.3 聯閤索引 315
18.4 本章小結 316
18.6 習題 316
第19章 數據一緻性與事務管理
19.1 什麼是數據一緻性和事務 317
19.1.1 數據一緻性 317
19.1.2 事務 317
19.2 Oracle中的事務處理 318
19.2.1 commit命令 318
19.2.2 rollback命令 319
19.2.3 savepoint和rollback to savepoint命令 319
19.2.4 事務的屬性和隔離級彆 321
19.3 事務處理原則 325
19.3.1 原子性 325
19.3.2 一緻性 326
19.3.3 隔離性 328
19.3.4 持久性 329
19.4 本章實例 329
19.5 本章小結 331
19.6 習題 331
第20章 並發控製
20.1 並發與鎖定 332
20.2 數據鎖定 335
20.2.1 悲觀鎖定 335
20.2.2 樂觀鎖定 336
20.2.3 悲觀鎖定與樂觀鎖定的比較 338
20.2.4 鎖定轉換 338
20.3 並發控製的其他方法 339
20.4 本章實例 339
20.5 本章小結 343
20.6 習題 343
第21章 Oracle中的正則錶達式
21.1 正則錶達式簡介 344
22.1.1 正則錶達式與通配符 344
22.1.2 正則錶達式與編程語言 344
21.2 正則錶達式基礎知識 345
21.2.1 元字符和普通字符 345
21.2.2 量詞 345
21.2.3 字符轉義與字符類 345
21.2.4 字符組的使用 346
21.2.5 正則錶達式分支 346
21.2.6 Oracle中正則錶達式的特殊性 346
21.3 正則錶達式在Oracle中的應用 347
21.3.1 regexp_like()的使用 347
21.3.2 regexp_instr()的使用 347
21.3.3 regexp_substr()的使用 348
21.3.4 regexp_ replace ()的使用 348
21.4 本章實例 349
21.5 本章小結 349
21.6 習題 350
第五篇 Oracle與編程語言綜閤使用實例
第22章 Oracle在Java開發中的應用
22.1 通過JDBC使用Oracle 351
22.1.1 JDBC簡介 351
22.1.2 準備工作 351
22.1.3 JDBC連接Oracle 352
22.1.4 利用JDBC查詢數據 354
22.1.5 利用JDBC更新數據 355
22.1.6 總結JDBC操作數據庫 357
22.2 通過Hibernate操作Oracle數據庫 357
22.2.1 準備工作 357
22.2.2 配置Hibernate 358
22.2.3 利用Hibernate查詢數據 361
22.2.4 利用Hibernate更新數據 362
22.2.5 利用Hibernate插入數據 364
22.3 本章小結 365
22.4 習題 365
第23章 Oracle在C#開發中的應用
23.1 在C#中連接Oracle數據庫 366
23.2 在C#中操作Oracle數據庫 367
23.3 在C#中使用Oracle數據庫事務 369
23.4 本章小結 371
23.5 習題 372
第六篇 應試指南
第24章 常見麵試習題
24.1 簡曆準備 373
24.2 簡曆投遞及麵試 374
24.3 常見數據庫理論問題 375
24.4 常見PL/SQL相關麵試問題 375
24.5 常見Oracle維護相關麵試問題 377
24.6 常見Oracle應用開發相關麵試問題 379
· · · · · · (
收起)