注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)數(shù)據(jù)庫Oracle劍破冰山:Oracle開發(fā)藝術(shù)

劍破冰山:Oracle開發(fā)藝術(shù)

劍破冰山:Oracle開發(fā)藝術(shù)

定 價:¥69.00

作 者: 盧濤主編,蘇旭暉 丁俊 副主編,梁敬彬 王保強(qiáng) 懷敬明 賈書民 編著
出版社: 電子工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: Oracle

ISBN: 9787121120756 出版時間: 2011-01-01 包裝: 平裝
開本: 16開 頁數(shù): 520 字?jǐn)?shù):  

內(nèi)容簡介

  Oracle數(shù)據(jù)庫是目前市場占有率最高的商業(yè)數(shù)據(jù)庫,功能非常強(qiáng)大,隨著Oracle管理工具的智能化,如Oracle EM提供了強(qiáng)大的管理和調(diào)優(yōu)功能,Oracle DBA的管理工作逐漸趨于簡單化。正因?yàn)槿绱?,?dāng)前國內(nèi)Oracle開發(fā)人員的崗位需求大幅度增加,投身Oracle開發(fā)的人數(shù)也日益增多。一個好的0racIe開發(fā)人員不僅要知道一些基本語法和常見用法,還需要知道何時用、如何用、怎么避免相關(guān)誤區(qū)、寫出高質(zhì)量的代碼。《劍破冰山:Oracle開發(fā)藝術(shù)》面向有0racle使用經(jīng)驗(yàn)或有其他數(shù)據(jù)庫使用經(jīng)驗(yàn)的人,重點(diǎn)講述利用好Oracle的特色功能進(jìn)行高效開發(fā)的思路和技巧,幫助讀者快速掌握中高級Oracle開發(fā)技術(shù)?!秳ζ票剑篛racle開發(fā)藝術(shù)》主要覆蓋0racle開發(fā)必備的重要知識點(diǎn):數(shù)據(jù)庫編程規(guī)范、Oracle開發(fā)常用工具及使用、MERGE方法、神秘的NULL和討厭的CHAR、擴(kuò)展GROUPBY、Oracle自動類型轉(zhuǎn)換、Oracle分析函數(shù)、Oracle層次查詢、llgR2新特性之遞歸WITH編程、動態(tài)SQL擴(kuò)展。此外還有大量案例:Where In List問題解析,數(shù)據(jù)庫設(shè)計(jì)和大數(shù)據(jù)量處理、數(shù)據(jù)審核、號段選取應(yīng)用、分析SQL執(zhí)行計(jì)劃的關(guān)注點(diǎn)、Oracle開發(fā)誤區(qū)探索、提升PL/SQL開發(fā)性能漫談、管道函數(shù)的學(xué)習(xí)與實(shí)戰(zhàn)應(yīng)用、巧用鎖特性避免重復(fù)啟動同一程序、不可能的任務(wù)?超越Oracle等?!秳ζ票剑篛racle開發(fā)藝術(shù)》作者均有多年Oracle開發(fā)管理實(shí)戰(zhàn)經(jīng)驗(yàn),他們期望以自己的經(jīng)驗(yàn)和教訓(xùn),分享分析和解決問題的方法,探討如何用相關(guān)的技術(shù)去解決特定的需求。希望讀者在看完《劍破冰山:Oracle開發(fā)藝術(shù)》后,能受到良好的啟迪,進(jìn)而能極大地提升自己在Oracl數(shù)據(jù)庫開發(fā)方面的能力!

作者簡介

  盧濤,ITPUB Oracle開發(fā)版版主,15年IT工作經(jīng),2004年任高級工程師,在某數(shù)據(jù)管理中心任職系統(tǒng)分析師;曾參與數(shù)次全國數(shù)據(jù)處理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。在軟件開發(fā)、數(shù)據(jù)庫開發(fā)和優(yōu)化、系統(tǒng)架構(gòu)、項(xiàng)目管理方面有一定研究。王保強(qiáng),ITPUB數(shù)據(jù)倉庫和MS SQL Setver版版主,曾獲1TPUB最佳博客和ITPUB數(shù)據(jù)庫大版最佳版主。11年IT工作經(jīng)驗(yàn),曾在多家國內(nèi)外IT知名企業(yè)任職,在數(shù)據(jù)庫開發(fā)和優(yōu)化、數(shù)據(jù)倉庫、系統(tǒng)架構(gòu)、項(xiàng)目管理、Web20方面有一定研究。懷曉明,ITPUB 0racIe開發(fā)版等版塊版主,獲得第一屆ITPUB最佳建議獎。在多個大型IT企業(yè)多年的工作歷練中,積累了大量的系統(tǒng)架構(gòu)設(shè)計(jì)經(jīng)驗(yàn),擅長數(shù)據(jù)庫和Web的設(shè)計(jì)、開發(fā),精于故障診斷與處理,具有豐富的省部級電子政務(wù)行業(yè)工作經(jīng)驗(yàn)及項(xiàng)目管理經(jīng)驗(yàn)。賈書民,1988年畢業(yè)于中國人民大學(xué)信息系,1991年獲得高級程序員資格,1998年任高級IT程師。多年來,從事UNIX系統(tǒng)管理、數(shù)據(jù)庫系統(tǒng)管理與設(shè)計(jì)、統(tǒng)計(jì)數(shù)據(jù)處理軟件開發(fā)等工作,主持了河北省多項(xiàng)大型普查的數(shù)據(jù)處理工作,曾參加了多個國家級項(xiàng)目的設(shè)計(jì)和開發(fā)。

圖書目錄

第1章 大話數(shù)據(jù)庫編程規(guī)范\t1
1.1 編程規(guī)范概述\t1
1.2 書寫規(guī)范\t2
1.2.1 大小寫風(fēng)格\t2
1.2.2 縮進(jìn)風(fēng)格\t2
1.2.3 空格及換行\(zhòng)t3
1.2.4 其他\t4
1.3 命名規(guī)范\t4
1.3.1 表和字段命名規(guī)范\t4
1.3.2 其他對象命名\t5
1.4 變量命名\t7
1.5 注釋規(guī)范\t8
1.6 語法規(guī)范\t9
1.7 腳本規(guī)范\t12
規(guī)則1.7.1\t13
規(guī)則1.7.2\t13
規(guī)則1.7.3\t13
第2章 Oracle開發(fā)常用工具及使用\t14
2.1 AWR工具與性能優(yōu)化\t14
2.1.1 AWR介紹\t14
2.1.2 AWR的安裝與配置\t15
2.1.3 AWR報(bào)表使用\t15
2.1.4 分析AWR報(bào)表基本思路\t17
2.1.5 案例\t17
2.2 SQL_TRACE/10046事件\t24
2.2.1 SQL_TRACE/10046事件是什么\t24
2.2.2 總體流程介紹\t24
2.2.3 SQL_TRACE/10046事件具體使用方法\t24
2.2.4 案例分析\t28
2.2.5 小結(jié)\t32
2.3 計(jì)時和剖析工具\(yùn)t32
2.3.1 PLSQL_PROFILER概述\t34
2.3.2 剖析舉例\t37
2.3.3 安全性\t45
第3章 探索MERGE方法\t46
3.1 MERGE是什么\t46
3.2 Oracle 10g中MERGE的完善\t48
3.2.1 UPDATE和INSERT動作可只出現(xiàn)其一\t48
3.2.2 可對MERGE語句加條件\t48
3.2.3 可用DELETE子句清除行\(zhòng)t49
3.2.4 可采用無條件方式INSERT\t49
3.3 MERGE誤區(qū)探索\t49
3.3.1 無法在源表中獲得一組穩(wěn)定的行\(zhòng)t49
3.3.2 DELETE子句的WHERE順序必須在最后\t51
3.3.3 DELETE 子句只可以刪除目標(biāo)表,而無法刪除源表\t52
3.3.4 更新同一張表的數(shù)據(jù),需擔(dān)心USING的空值\t53
3.4 MERGE的巧妙運(yùn)用\t54
第4章 神秘的NULL和令人討厭的CHAR\t58
4.1 神秘的NULL\t59
4.1.1 NULL概述\t59
4.1.2 NULL與函數(shù)\t64
4.1.3 NULL與索引\t79
4.1.4 NULL與SQL\t87
4.1.5 NULL與PL/SQL\t97
4.1.6 再談NULL和空字符串區(qū)別\t101
4.1.7 NULL總結(jié)\t101
4.2 令人討厭的CHAR\t102
4.2.1 CHAR與VARCHAR2基礎(chǔ)\t102
4.2.2 CHAR與SQL\t105
4.2.3 CHAR與綁定變量\t109
4.2.4 CHAR與PL/SQL\t111
4.2.5 CHAR總結(jié)\t112
第5章 報(bào)表開發(fā)之?dāng)U展GROUP BY\t113
5.1 擴(kuò)展GROUP BY概述\t113
5.2 ROLLUP\t114
5.2.1 UNION ALL實(shí)現(xiàn)ROLLUP功能\t114
5.2.2 ROLLUP分組\t116
5.2.3 部分ROLLUP分組\t120
5.2.4 ROLLUP總結(jié)\t121
5.3 CUBE\t121
5.3.1 CUBE分組\t121
5.3.2 部分CUBE分組\t123
5.3.3 CUBE總結(jié)\t124
5.4 GROUPING SETS實(shí)現(xiàn)小計(jì)\t124
5.4.1 GROUPING SETS分組\t124
5.4.2 部分GROUPING SETS分組\t126
5.4.3 CUBE、ROLLUP作為GROUPING SETS的參數(shù)\t126
5.4.4 GROUPING SETS總結(jié)\t128
5.5 組合列分組、連接分組、重復(fù)列分組\t128
5.5.1 組合列分組\t130
5.5.2 連接分組\t132
5.5.3 重復(fù)列分組\t134
5.5.4 組合列分組、連接分組、重復(fù)列分組總結(jié)\t134
5.6 3個擴(kuò)展分組函數(shù):GROUPING、GROUPING_ID、GROUP_ID\t135
5.6.1 GROUPING函數(shù)\t135
5.6.2 GROUPING_ID函數(shù)\t138
5.6.3 GROUP_ID函數(shù)\t142
5.6.4 擴(kuò)展GROUP BY函數(shù)總結(jié)\t144
5.7 擴(kuò)展分組綜合實(shí)例\t144
第6章 探索Oracle自動類型轉(zhuǎn)換\t149
6.1 為什么不建議使用自動類型轉(zhuǎn)換\t150
6.2 自動類型轉(zhuǎn)換規(guī)則\t156
6.3 自動類型轉(zhuǎn)換常見錯誤\t166
第7章 Where in list問題解析\t169
7.1 問題引入:動態(tài)SQL構(gòu)造\t170
7.2 使用正則表達(dá)式解決\t172
7.3 使用常規(guī)字符串函數(shù)及動態(tài)視圖\t173
7.4 使用集合構(gòu)造偽表\t176
7.5 Where in list性能問題\t178
7.6 Where in list問題總結(jié)\t188
第8章 例說數(shù)據(jù)庫表設(shè)計(jì)和大量數(shù)據(jù)處理方法\t189
8.1 根據(jù)業(yè)務(wù)需求規(guī)劃表結(jié)構(gòu)\t189
8.2 主鍵的確定\t195
8.3 表的拆分、合并及數(shù)據(jù)的規(guī)范和反規(guī)范化\t199
8.4 數(shù)據(jù)類型的選擇\t199
8.5 表的分區(qū)\t203
8.6 表的壓縮\t203
8.7 抽取數(shù)據(jù)\t205
8.7.1 利用SQL*PLUS的SPOOL功能\t205
8.7.2 利用UTL_FILE\t207
8.7.3 利用第三方工具\(yùn)t207
8.8 轉(zhuǎn)換數(shù)據(jù)\t207
8.8.1 數(shù)據(jù)的增刪改\t208
8.8.2 數(shù)據(jù)匯總\t211
8.9 加載數(shù)據(jù)\t227
8.9.1 利用SQLLDR加載\t227
8.9.2 利用外部表加載\t229
8.9.3 利用數(shù)據(jù)庫鏈接加載\t233
8.9.4 利用分區(qū)交換技術(shù)加載\t234
8.10 邏輯導(dǎo)入/導(dǎo)出數(shù)據(jù)\t240
第9章 數(shù)據(jù)審核\t242
9.1 審核的分類\t242
9.2 列審核設(shè)計(jì)\t243
9.2.1 直接使用SQL語句\t245
9.2.2 提高審核效率\t248
9.2.3 管理審核關(guān)系\t254
9.2.4 單個列的復(fù)雜審核\t257
9.3 行審核設(shè)計(jì)\t258
9.3.1 重碼的審核\t259
9.3.2 直接使用SQL語句\t260
9.3.3 管理審核關(guān)系\t261
9.3.4 行間包含四則運(yùn)算的審核思路\t266
9.3.5 更復(fù)雜的行間審核思路\t267
9.4 小結(jié)\t267
第10章 趣談Oracle分析函數(shù)\t269
10.1 概述\t269
10.2 函數(shù)語法\t270
10.3 函數(shù)列表\t276
10.4 函數(shù)用法\t277
10.4.1 最常見的分析函數(shù)應(yīng)用場景\t279
10.4.2 ROWS的具體用法\t280
10.4.3 RANGE的具體用法\t281
10.4.4 KEEP的用法\t283
10.5 函數(shù)功能詳解\t284
10.5.1 統(tǒng)計(jì)函數(shù)\t284
10.5.2 排序函數(shù)\t285
10.5.3 數(shù)據(jù)分布函數(shù)\t287
10.5.4 統(tǒng)計(jì)分析函數(shù)\t289
10.6 分析函數(shù)在BI及統(tǒng)計(jì)上的應(yīng)用\t290
10.6.1 現(xiàn)狀分析\t290
10.6.2 發(fā)展分析\t297
10.7 自定義聚集函數(shù)\t298
10.7.1 自定義聚集函數(shù)接口簡介\t298
10.7.2 應(yīng)用場景一:字符串聚集\t299
10.7.3 應(yīng)用場景二:指數(shù)移動平均線\t301
第11章 Oracle層次查詢\t305
11.1 概述\t305
11.2 樣例數(shù)據(jù)\t306
11.3 CONNECT BY和START WITH查詢\t306
11.3.1 概述\t306
11.3.2 基本語法\t306
11.3.3 樣例\t308
11.4 SYS_CONNECT_BY_PATH函數(shù)\t313
11.5 WMSYS.WM_CONCAT非公開函數(shù)\t314
第12章 號段選取應(yīng)用\t316
12.1 問題的提出\t316
12.2 相關(guān)基礎(chǔ)知識\t317
12.2.1 偽列rownum和level\t317
12.2.2 利用層次查詢構(gòu)造連續(xù)的數(shù)\t317
12.2.3 用lead和lag獲得相鄰行的字段值\t318
12.3 解決問題\t320
12.3.1 已知號碼求號段\t320
12.3.2 根據(jù)號段求出包含的數(shù)\t324
12.3.3 求缺失的號\t326
12.3.4 求尚未使用的號段\t330
12.4 小結(jié)\t334
第13章 分析SQL執(zhí)行計(jì)劃的關(guān)注點(diǎn)\t335
13.1 返回行與邏輯讀的比率\t335
13.2 聚合查詢\t338
13.3 返回行的數(shù)量\t341
13.4 Oracle預(yù)測行準(zhǔn)確與否\t342
13.5 Predicate Information\t346
13.6 動態(tài)采樣\t348
13.7 誰是主要矛盾\t349
第14章 Oracle開發(fā)誤區(qū)探索\t352
14.1 避免對列運(yùn)算\t352
14.2 消除隱式轉(zhuǎn)換\t354
14.3 關(guān)注空格\t354
14.4 存儲過程與權(quán)限\t355
14.5 提防DDL提交事務(wù)\t357
14.6 Insert into 錯誤\t359
14.7 關(guān)于or\t360
14.8 sequence中的cache\t361
14.9 樹形查詢易錯處\t364
14.10 小心保留字\t367
14.11 函數(shù)索引陷阱\t371
14.12 外連接陷阱\t374
14.13 標(biāo)量子查詢\t375
第15章 提升PL/SQL開發(fā)性能漫談\t378
15.1 重視解析\t378
15.1.1 觸發(fā)器盡量考慮內(nèi)部代碼過程封裝\t378
15.1.2 避免動態(tài)SQL\t380
15.1.3 OLTP系統(tǒng)中盡量使用綁定變量\t382
15.2 關(guān)注調(diào)用\t384
15.2.1 減少對sysdate的調(diào)用\t384
15.2.2 避免對mod函數(shù)的調(diào)用\t385
15.2.3 設(shè)法減少表掃描次數(shù)\t386
15.2.4 避免SQL中的函數(shù)調(diào)用\t391
15.3 簡潔為王\t395
15.3.1 盡量用簡單SQL替代PL/SQL邏輯\t395
15.3.2 避免不必要的排序\t397
15.3.3 利用Oracle現(xiàn)有功能\t399
15.4 細(xì)致入微\t400
15.4.1 使用pls_integer類型\t400
15.4.2 避免數(shù)據(jù)類型轉(zhuǎn)換\t400
15.4.3 IF的順序有講究\t402
15.4.4 設(shè)計(jì)開發(fā)對列是否為空慎重決定\t404
15.4.5 分布式應(yīng)用開發(fā)不可不知的HINT(driving_site)\t407
第16章 管道函數(shù)的學(xué)習(xí)與實(shí)戰(zhàn)應(yīng)用\t410
16.1 管道函數(shù)編寫要點(diǎn)\t410
16.2 功能描述及案例\t411
16.2.1 可直接用TABLE()操作符方式輸出結(jié)果集\t411
16.2.2 結(jié)果集可作為表來使用,直接和其他表相關(guān)聯(lián)\t411
16.2.3 實(shí)現(xiàn)實(shí)時跟蹤\t412
16.3 管道函數(shù)注意點(diǎn)\t414
16.3.1 清楚管道函數(shù)只是表函數(shù)的一種\t414
16.3.2 管道函數(shù)與DML\t415
16.3.3 管道函數(shù)集合的限制\t416
16.3.4 與管道函數(shù)相關(guān)的異常NO_DATA_NEEDED\t417
第17章 巧用鎖特性避免重復(fù)啟動同一程序\t420
17.1 基本技巧介紹\t420
17.2 原理介紹\t422
17.3 程序代碼\t423
17.4 測試\t426
17.5 需要注意的點(diǎn)\t427
第18章 11g R2 新特性之遞歸with編程精粹\t428
18.1 上下級關(guān)系\t429
18.2 構(gòu)造數(shù)列\(zhòng)t435
18.3 排列組合問題\t441
18.4 沿路徑計(jì)算\t457
18.5 國際SQL挑戰(zhàn)賽\t473
第19章 不可能的任務(wù)?超越Oracle\t479
19.1 為何選擇cube\t480
19.1.1 cube簡介\t480
19.1.2 cube優(yōu)勢\t480
19.1.3 測試環(huán)境\t481
19.2 newkid的設(shè)計(jì)思路和優(yōu)化步驟\t482
19.2.1 一次掃描求出16種分組\t482
19.2.2 一次掃描求出1種分組,并基于此再一次掃描求出其余分組\t484
19.2.3 一次掃描求出1種分組,并基于此再多次分層累計(jì)求出其余分組\t485
19.2.4 變量長度和類型的優(yōu)化\t487
19.3 為何選擇OCI\t488
19.3.1 匯總算法的翻譯和改進(jìn)\t488
19.3.2 輸入和輸出的實(shí)現(xiàn)和改進(jìn)\t489
19.3.3 不要忽視物理存儲對數(shù)據(jù)庫操作的影響\t490
19.3.4 不成功的優(yōu)化教訓(xùn)\t490
19.4 總結(jié)\t493
第20章 動態(tài)SQL擴(kuò)展\t494
20.1 動態(tài)SQL用途和應(yīng)用場景\t494
20.2 EXECUTE IMMEDIATE語法\t495
20.2.1 執(zhí)行DDL、DCL語句\t495
20.2.2 構(gòu)造通用SQL處理\t496
20.2.3 執(zhí)行復(fù)雜業(yè)務(wù)邏輯查詢\t498
20.2.4 綁定變量\t502
20.2.5 BULK COLLECT動態(tài)SQL\t505
20.3 使用DBMS_SQL包\t507
20.3.1 DBMS_SQL函數(shù)和過程說明\t507
20.3.2 DBMS_SQL執(zhí)行步驟\t508
20.3.3 DBMS_SQL應(yīng)用場景\t509
20.3.4 DBMS_SQL與EXECUTE IMMEDIATE比較\t509
后記\t511

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號