Oracle SQL疑難解析

Oracle SQL疑難解析

《Oracle SQL疑難解析》總結了針對Oracle資料庫編寫SQL時經常碰到的各種問題,提供大量現成的解決方法,包括匯總和聚合數據、多表數據查詢、生成和獲取數據、通用查詢模式、日期和時間值的處理、字元串、處理數字、事務處理、數據字典、清理數據、常見報表問題、樹狀結構數據、處理XML數據、分區、大對象、資料庫管理、對象管理、SQL監控和最佳化、資料庫故障排除等方面的內容。 《Oracle SQL疑難解析》能夠幫助你充分利用SQL來解決Oracle資料庫開發中遇到的各種問題,引導你掌握各種構建套用的技巧和技術,從而編寫出高效、可維護的代碼。 《Oracle SQL疑難解析》面向實戰、結構清晰,示例豐富,適用於Oracle 資料庫開發人員、Oracle 資料庫管理員等相關資料庫從業人員,也可以作為各大、中專院校相關專業師生的參考用書和相關培訓機構的培訓教材。

基本介紹

  • 書名:Oracle SQL疑難解析
  • 作者:艾倫 (Grant Allen) 布里拉 (Bob Bryla)
  • 出版社:人民郵電出版社
  • 頁數:431頁
  • 開本:16
  • 品牌:人民郵電出版社
  • 外文名:Oracle SQL Recipes:A Problem-Solution Approach
  • 類型:計算機與網際網路
  • 出版日期:2014年2月1日
  • 語種:簡體中文
  • ISBN:9787115336736 
基本介紹,內容簡介,作者簡介,圖書目錄,

基本介紹

內容簡介

基於實例,提供高質量的常見問題解決方案。
強調實際,沒有大量的理論,把解決問題放在首位,節省讀者閱讀時間。

作者簡介

Grant Allen 在IT領域工作了20年,在加入Google前是澳大利亞一家領先軟體供應商的首席技術總監。他一直活躍在企業、世界各地的政府和學術界,擔任大型系統設計,開發,性能,技術創新和破壞性變革的顧問。Grant是積極的會議發言者,他參加的會議包括數據挖掘、技術合作、關係型資料庫和企業的技術會議和行業活動。他現在是Google的團隊領袖,利用資料庫技術以應對Google大規模數據增長的問題。

Bob Bryla是Oracle 9i、10g和11g認證專家,在資料庫設計、資料庫應用程式的開發、資料庫管理和培訓方面有20多年的經驗。Bob是Lands’ End公司的Internet資料庫分析師和Oracle DBA,這家公司位於Dodgeville, Wisconsin。他還是其它一些Oracle DBA著作的作者,這些書既是寫給新手也是寫給經驗豐富的專業人士。

Darl Kuhn是一個Oracle DBA和開發者。他與人合著其他三本書籍:Linux Recipes for Oracle DBAs, RMAN Recipes for Oracle Database 11g 和 Oracle RMAN Pocket Reference。他在Regis大學教授高級資料庫課程,還是Rocky Mountain Oracle Users Group的DBA志願者。他具有Colorado州立大學的研究生學歷,目前居住在Mauricio Canyon, Colorado附近,與他的妻子Heidi以及女兒Brandi和Lisa一起。

圖書目錄

第一部分 數據處理基礎
第1章 章基礎 2
1.1 從表中查詢數據 2
1.2 把表中所有欄位都列出來 4
1.3 將結果排序 5
1.4 在表中添加記錄行 6
1.5 把數據記錄從一張表複製到另一張表 7
1.6 批量地從一個表中複製數據到另一個表 8
1.7 改變行記錄的值 9
1.8 在一個語句中修改多個欄位值 9
1.9 從表中刪除不需要的行 10
1.10 刪除表中的所有行 11
1.11 從其他查詢結果中再次進行查詢 12
1.12 查詢的WHERE子句基於另一個查詢的結果 13
1.13 在語句中找到和消除空值 14
1.14 排序 16
1.15 啟用其他排序和比較選項 17
1.16 基於條件的插入或修改 18
第2章 匯總和聚合數據 20
2.1 對某欄位值進行匯總 20
2.2 分組進行數據匯總 22
2.3 以多欄位分組 23
2.4 在聚合數據集時排除某些組 25
2.5 分多級聚合數據 26
2.6 把聚合結果用在其他查詢中 28
2.7 在分組和集合里統計成員 29
2.8 在表中查找重複值和唯一值 31
2.9 合計與小計 32
2.10 構建自己的聚合函式 34
2.11 從之前或之後的行中存取數據 37
2.12 對查詢結果行進行排名 39
2.13 在分組內查找最大和最小值 42
2.14 在移動視窗中進行聚合 43
2.15 基於欄位子集的數據記錄去重 45
2.16 找出表中的序列空擋 48
第3章 多表數據查詢 51
3.1 對多表的對應行進行連線 52
3.2 垂直堆疊查詢結果 54
3.3 選擇性連線 56
3.4 從兩個方向進行可選連線 57
3.5 基於其他表中的數據刪除記錄 59
3.6 跨表尋找匹配的數據 60
3.7 在聚合上進行連線 61
3.8 查找不匹配的行 63
3.9 查找表中不匹配的行 65
3.10 生成測試數據 67
3.11 基於其他表中的數據更新記錄 69
3.12 在連線條件里處理和比較NULL值 70
第4章 生成和獲取數據 73
4.1 派生新的列 73
4.2 返回不存在的行 77
4.3 把行變換為列 78
4.4 在多列上透視 81
4.5 將列轉換成行 83
4.6 出於易讀性連線數據 86
4.7 把字元串轉換成對應的數值 88
4.8 生成隨機數 90
4.9 創建一個逗號分隔值檔案 93
第5章 通用查詢模式 95
5.1 把NULL轉換成其他值 95
5.2 對NULL值排序 97
5.3 為查詢結果標記頁碼 98
5.4 檢測數據是否存在 102
5.5 SQL語句中的條件分支 104
5.6 根據條件和函式排序 105
5.7 當子查詢返回多個值時的處理 107
5.8 將數字進行不同進制間的轉換 108
5.9 在不知道列名或表名的情況下查找字元串 111
5.10 對數據系列進行後續值或趨勢預測 113
5.11 修改記錄時進行顯式鎖(悲觀鎖) 116
5.12 對兩張表的內容進行同步 119
第二部分 數據類型和問題
第6章 日期和時間值的處理 124
6.1 將日期時間值轉換成可讀的字元串 124
6.2 將字元串轉換為日期時間值 126
6.3 檢測重疊的日期範圍 127
6.4 自動跟蹤數據更改的日期和時間 128
6.5 利用GAPS在數據中生成一個無間隔的時間序列 130
6.6 不同時區之間日期和時間的轉換 132
6.7 檢測閏年 133
6.8 確定一個月的最後一天的日期 135
6.9 確定一個月的第一天的日期或第一個星期幾 136
6.10 判斷星期幾 137
6.11 通過時間段進行分組和聚合 138
6.12 查找兩個日期或部分日期之間的差值 139
6.13 確定任何一年的復活節日期 141
6.14 為網站用戶計算“X天活動” 143
第7章 字元串 145
7.1 搜尋子字元串 145
7.2 提取子字元串 147
7.3 單字元的字元串替換 149
7.4 搜尋模式 151
7.5 提取一個模式 154
7.6 計數模式 155
7.7 替換字元串中的文本 157
7.8 加快字元串搜尋 159
第8章 處理數字 163
8.1 字元串和數字類型之間的轉換 163
8.2 數字類型之間的轉換 164
8.3 選擇數據類型精度和刻度 166
8.4 正確執行非數字和無限數字計算 167
8.5 在字元串中驗證數字 169
8.6 生成連續的編號 171
8.7 為公式或模式生成數字 172
8.8 處理數值計算中的NULL 174
8.9 自動四捨五入數字 176
8.10 自動生成數字列表 178
第三部分 開發環境
第9章 事務管理 180
9.1 回滾部分事務 180
9.2 如何識別阻塞的事務 183
9.3 最佳化行級鎖與表級鎖 185
9.4 如何避免死鎖 187
9.5 如何延期約束驗證 188
9.6 確保事務的一致性讀 193
9.7 管理事務的隔離級別 194
第10章 數據字典 196
10.1 圖形工具與SQL 196
10.2 數據字典體系結構 197
10.3 顯示用戶信息 199
10.4 確定有權訪問的表 201
10.5 顯示一張表的磁碟空間使用情況 202
10.6 顯示錶的記錄數 205
10.7 顯示錶的索引 207
10.8 顯示未建索引的外鍵 208
10.9 顯示約束 209
10.10 展示主鍵與外鍵的關係 210
10.11 顯示對象間的依賴關係 212
10.12 顯示同義詞的元數據 214
10.13 顯示視圖的文本 215
10.14 顯示資料庫代碼 216
10.15 顯示授予的角色 217
10.16 顯示對象許可權 219
10.17 顯示系統許可權 220
第四部分 特殊話題
第11章 常見報表問題 224
11.1 避免報表中的重複數據 224
11.2 在SQL報表里使用參數 227
11.3 在分組的結果中返回具體列的數據 229
11.4 將排序結果放入相等大小的BUCKET中 231
11.5 創建報表直方圖 233
11.6 根據不同的排名進行結果篩選 234
11.7 對假設數據集進行比較 236
11.8 用圖形和文字來展示數據的分布 238
11.9 從資料庫中直接生成網頁報表 239
第12章 清理數據 244
12.1 檢測重複數據行 244
12.2 刪除重複行 245
12.3 判斷數據是否可以載入到數值類型欄位中 246
12.4 判斷數據是否可以載入到日期類型欄位中 247
12.5 執行不區分大小寫的查詢 248
12.6 對值進行模糊處理 250
12.7 刪除所有索引 252
12.8 禁用約束 253
12.9 禁用觸發器 257
12.10 從表中刪除數據 258
12.11 查找兩個SCHEMA的不同之處 259
第13章 樹狀結構數據 263
13.1 從上到下遍歷層級數據 265
13.2 在層次結構同層級中對節點排序 267
13.3 從層次結構表中生成路徑名 270
13.4 在層次結構表中辨認葉子數據 272
13.5 檢查層次結構數據中的循環 276
13.6 創建固定數量的連續序號的主鍵值 277
第14章 處理XML數據 280
14.1 將SQL轉換成XML 280
14.2 以原生形式存儲XML 284
14.3 分解XML供關係型邏輯使用 286
14.4 從XML文檔中抽取關鍵元素 287
14.5 生成複雜的XML文檔 289
14.6 驗證XMLSCHEMA 290
14.7 直接修改XML數據 293
第15章 分區 295
15.1 確定一個表是否應該分區 296
15.2 範圍分區 297
15.3 列表分區 299
15.4 哈希分區 299
15.5 複合分區 300
15.6 按需創建分區 302
15.7 引用分區 303
15.8 基於虛擬列的分區 304
15.9 系統分區 305
15.10 配置分區的表空間 306
15.11 自動移動更新的記錄 307
15.12 系統分區 308
15.13 對分區增加分區 309
15.14 交換分區 310
15.15 重命名分區 312
15.16 拆分分區 313
15.17 合併分區 314
15.18 刪除分區 315
15.19 從一個分區中刪除記錄 316
15.20 收集分區統計信息 317
15.21 創建本地索引 317
15.22 創建全局索引 319
第16章 大對象 321
16.1 將大文檔載入至CLOB欄位 322
16.2 將圖像數據載入至BLOB欄位 324
16.3 使用SQL*Loader進行大對象的批量載入 326
16.4 利用HTTP訪問大對象 328
16.5 使得外部大對象(BFILE)對資料庫有效 332
16.6 在資料庫表中更新或刪除LOB 334
第五部分 管理
第17章 資料庫管理 338
17.1 創建資料庫 339
17.2 刪除資料庫 341
17.3 驗證連線信息 342
17.4 創建表空間 343
17.5 刪除表空間 345
17.6 調整表空間大小 346
17.7 限制每個會話的資料庫資源 347
17.8 關聯一組許可權 349
17.9 創建用戶 351
17.10 刪除用戶 352
17.11 修改密碼 353
17.12 強制密碼複雜性 354
第18章 對象管理 356
18.1 創建表 356
18.2 臨時存儲數據 358
18.3 移動表 359
18.4 重命名對象 360
18.5 刪除表 362
18.6 恢復被刪除的表 363
18.7 創建索引 364
18.8 創建一個基於函式的索引 366
18.9 創建點陣圖索引 367
18.10 創建一個索引組織表 368
18.11 創建視圖 369
18.12 為對象創建替代名稱 370
18.13 強制表中的行的唯一性 372
18.14 確保查找值存在 374
18.15 根據條件檢查數據 376
18.16 在資料庫之間創建連線 377
18.17 創建自動遞增的值 379
第19章 SQL監控和最佳化 381
19.1 實時監控SQL執行統計信息 381
19.2 顯示查詢的執行計畫進展 383
19.3 確定還需要多長時間來完成SQL 385
19.4 識別資源密集型SQL語句 387
19.5 使用Oracle性能報告來確定資源消耗密集型SQL 388
19.6 在作業系統中識別資源密集型查詢 391
19.7 使用AUTOTRACE顯示執行計畫 393
19.8 使用DBMS_XPLAN生成執行計畫 395
19.9 跟蹤會話的所有SQL語句 397
19.10 解釋執行計畫 402
19.11 獲取調優SQL的建議 406
19.12 強制查詢使用自己的執行計畫 408
19.13 查看最佳化器統計信息 409
19.14 生成統計信息 411
第20章 資料庫故障排除 413
20.1 確定資料庫問題的原因 413
20.2 顯示打開的游標 417
20.3 確定在線上重做日誌的大小是否合適 418
20.4 確定撤銷表空間的大小是否合適 420
20.5 確定臨時表空間的大小是否合適 422
20.6 完整顯示錶空間 423
20.7 顯示對象大小 426
20.8 監控索引的使用 427
20.9 審計對象的使用 428
20.10 精細審計 430

相關詞條

熱門詞條

聯絡我們