出版時間:2011-8 出版社:清華大學(xué)出版社 作者:徐桂祥 頁數(shù):489
Tag標(biāo)簽:無
內(nèi)容概要
本書是一本集10年經(jīng)驗而成的書,采用循序漸進的編寫方式,著重于實例,以確保理論內(nèi)容的準(zhǔn)確性。本書作者從事Oracle
DBA教學(xué)研究工作多年,擁有Oracle最高等級的OCM認(rèn)證。作者在書中,將他畢生所學(xué)傳授給已擔(dān)任DBA工作的數(shù)據(jù)庫管理人員,或是想要往這個方向發(fā)展的初學(xué)者。書中涵蓋一套最完整,且最具邏輯性的知識體系,特別適合有經(jīng)驗的DBA閱讀,可作為其顧問級專家進階的階梯。
作者簡介
擁有多年半導(dǎo)體相關(guān)合格率分析軟件的開發(fā)經(jīng)驗,曾參與臺灣積體電路、聯(lián)電、力晶半導(dǎo)體、新加坡特許半導(dǎo)體、中國大陸龍騰光電等合格率分析軟件的開發(fā)及項目導(dǎo)入。 擅長性能調(diào)整、海量數(shù)據(jù)分析處理以及統(tǒng)計應(yīng)用軟件的開發(fā)。 擁有MCITP:Database DeveloDer、OraclePL/SQL OCP國際認(rèn)證。
書籍目錄
第1章 數(shù)據(jù)庫的使用
1.1 什么是SQL
1.2 程序語言或數(shù)據(jù)庫
1.3 SQL Server 概述
1.4 Oracle概述
第2章 SELECT查詢語句
2.1 基本SELECT子句
2.2 字段選擇(SELECT)
2.3 指定數(shù)據(jù)源(FROM)
2.4 指定查詢限定條件(WHERE)
2.4.1 比較運算符
2.4.2 以邏輯運算符組合多個條件
2.4.3 列舉項目(IN / NOT IN)
2.4.4 NULL選取
2.4.5 范圍限制(BETWEEN...AND)
2.4.6 字符模糊匹配
2.5 查詢結(jié)果的排序(ORDER BY)
2.6 數(shù)據(jù)分組(GROUP BY)
第3章 基本SQL用法
3.1 SQL編寫風(fēng)格
3.2 數(shù)據(jù)表連接的使用
3.2.1 內(nèi)連接
3.2.2 外連接
3.2.3 交叉連接
3.3 子查詢
3.3.1 嵌套子查詢
3.3.2 相關(guān)子查詢
3.4 集合的使用
3.4.1 并集(UNION)
3.4.2 交集(INTERSECT)
3.4.3 差集(MINUS)
3.5 CASE表達(dá)式
3.5.1 簡單型CASE子句
3.5.2 搜索式CASE子句
3.6 HAVING子句的使用
3.7 DISTINCT語法的使用
3.8 特殊SQL排序法
3.8.1 CASE表達(dá)式
3.8.2 字符串位置函數(shù)(INSTR、CHARINDEX)
3.8.3 COUNT函數(shù)(聚合函數(shù))
3.9 如何取得兩數(shù)據(jù)集中非重復(fù)的數(shù)據(jù)
3.9.1 FULL OUTER JOIN
3.9.2 區(qū)域去除
3.10 如何避免除零錯誤(Avoid Diving by Zero)
第4章 數(shù)據(jù)變更處理
4.1 新增─INSERT
4.1.1 數(shù)據(jù)輸入(INSERT...VALUES)
4.1.2 數(shù)據(jù)來自其他表(INSERT...SELECT)
4.2 序列值的使用
4.3 取得當(dāng)前自動編號值
4.3.1 SCOPE_IDENTITY()
4.3.2 OUTPUT
4.3.3 RETURNING
4.4 更新數(shù)據(jù)─UPDATE
4.5 刪除數(shù)據(jù)─DELETE
4.5.1 刪除特定數(shù)據(jù)
4.5.2 使用連接刪除數(shù)據(jù)(DELETE With JOIN)
4.5.3 刪除重復(fù)的數(shù)據(jù)
4.5.4 刪除大量數(shù)據(jù)
4.5.5 清空數(shù)據(jù)表(TRUNCATE TABLE)
第5章 數(shù)據(jù)類型
5.1 基本數(shù)據(jù)類型
5.1.1 字符類型
5.1.2 數(shù)值類型
5.1.3 日期類型
5.2 數(shù)據(jù)類型的選擇
5.3 類型轉(zhuǎn)換
5.4 NULL概述
第6章 字符串函數(shù)的使用
6.1 字符串函數(shù)介紹
6.1.1 字符串連接
6.1.2 截取子串
6.1.3 字符位置
6.1.4 獲取字符串長度(字符個數(shù))
6.1.5 刪除空格(特定字符)
6.1.6 字符串替換
6.1.7 字符串填補
6.1.8 變換字符/字符ASCII碼
6.1.9 變換大小寫
6.2 字符串模糊比較
6.3 是否為數(shù)值字符串
6.4 中文字判斷
6.5 篩選特定字符串前綴─以半導(dǎo)體實驗生產(chǎn)批號為例
6.6 固定長度字符串─以特定字符補足長度
6.7 特定字符出現(xiàn)次數(shù)─以面板檢測結(jié)果為例
第7章 日期函數(shù)的使用
7.1 格式轉(zhuǎn)換
7.2 取得部分日期信息
7.3 日期運算的概念
7.4 日期加減運算
7.5 取得兩個日期/時間的差
7.6 取得特定日期
7.7 找出下個周五
第8章 數(shù)值函數(shù)的使用
8.1 數(shù)值函數(shù)
8.1.1 余數(shù)(MOD)和商數(shù)
8.1.2 常用的數(shù)值運算函數(shù)
8.1.3 次方、平方根、自然對數(shù)、對數(shù)、EXP(e)
8.1.4 圓周率(PI)、三角函數(shù)(Sin、Cos、Tan)
8.2 轉(zhuǎn)換函數(shù)
8.3 SQL Server數(shù)學(xué)運算時的注意事項
8.4 判斷是否為整數(shù)─余數(shù)的應(yīng)用
8.5 判斷兩個日期前后順序─SIGN函數(shù)的應(yīng)用
第9章 SQL用法進階
9.1 數(shù)據(jù)行轉(zhuǎn)置─Row To Column
9.1.1 通過SQL命令實現(xiàn)轉(zhuǎn)置
9.1.2 使用PIVOT命令實現(xiàn)轉(zhuǎn)置
9.2 數(shù)據(jù)列轉(zhuǎn)置─Column To Row
9.3 員工專長明細(xì)
9.4 累計匯總
9.5 匯總數(shù)據(jù)
9.6 數(shù)據(jù)記錄的排序——傳回各種書籍訂單訂購數(shù)量排名
9.7 每個部門中薪水最高的員工
9.8 機群分組合并狀態(tài)
9.9 個稅計算
9.10 商品組合
9.11 求職網(wǎng)
9.12 Defect Overlap─缺陷重疊分析
9.13 職務(wù)代理關(guān)系表/系統(tǒng)異常處理人員順序表
9.14 組織圖─樹型結(jié)構(gòu)展開
第10章 日期區(qū)間報表
10.1 日報
10.1.1 日期類型
10.1.2 字符類型
10.2 月報
10.2.1 日期類型
10.2.2 字符類型
10.3 周報
10.3.1 周的特殊定義
10.3.2 運算差異分析
10.4 小時區(qū)間報表
10.4.1 3小時區(qū)間報表
10.4.2 5小時區(qū)間報表
10.4.3 利用序列產(chǎn)生報表
10.5 科學(xué)園區(qū)四二輪報表
10.5.1 四二輪報表-日報
10.5.2 四二輪報表-月報
10.5.3 四二輪報表-周報
10.5.4 綜合日期報表
10.6 完整日期區(qū)間報表
10.6.1 完整日期報表-未轉(zhuǎn)置
10.6.2 完整日期報表-以產(chǎn)品轉(zhuǎn)置
10.6.3 完整日期報表-以日期轉(zhuǎn)置
第11章 存儲過程
11.1 存儲過程
11.1.1 程序
11.1.2 函數(shù)
11.1.3 錯誤來源
11.1.4 加密
11.2 觸發(fā)器
11.3 游標(biāo)的使用
11.4 程序包
11.5 用戶自定義聚合函數(shù)
第12章 異質(zhì)數(shù)據(jù)源
12.1 分布式查詢─Database Link
12.2 SQL Server串聯(lián)其他數(shù)據(jù)源
12.2.1 查詢
12.2.2 INSERT / UPDATE
12.2.3 對象及查詢命令的差異
12.2.4 結(jié)合異質(zhì)數(shù)據(jù)
12.3 SQL*Loader(SQLLDR)
第13章 特殊應(yīng)用
13.1 Oracle CONNECT BY命令特殊應(yīng)用
13.1.1 序列產(chǎn)生
13.1.2 Column To Row(UNPIVOT)
13.1.3 分組字符串合并
13.1.4 解析CSV字符串
13.2 通用表表達(dá)式的使用─CTE
13.2.1 非遞歸的運用─查詢暫存
13.2.2 遞歸的運用
13.3 序列數(shù)據(jù)表的應(yīng)用
13.4 隨機數(shù)
13.5 IN-LIST的使用
13.6 制程能力指標(biāo)
13.7 系統(tǒng)數(shù)據(jù)表的使用
13.8 在SQL Server中進行字符串分組串聯(lián)─FOR XML應(yīng)用
章節(jié)摘錄
版權(quán)頁:插圖:當(dāng)面對一個新的需求時,系統(tǒng)設(shè)計(System Design,SD)人員在設(shè)計開發(fā)系統(tǒng)時,需考慮是使用應(yīng)用程序還是使用數(shù)據(jù)庫。對于運算選用數(shù)據(jù)庫還是應(yīng)用程序,是一個仁者見仁智者見智的話題,依開發(fā)人員的背景、技術(shù)專長不同而有所不同。若選擇以SQL命令或編寫程序代碼方式實現(xiàn),下面列出幾個思考方向:1.系統(tǒng)效率首先,對于我們(IT行業(yè))而言,不管采用何種方式,最終評判、承受所選擇結(jié)果的是一般使用者;對于開發(fā)人員而言,所面對的是系統(tǒng)開發(fā)期間(短暫)搭建的測試環(huán)境,而一般情況下,測試環(huán)境只能模擬真實環(huán)境中的一小部分(甚至是極小的一部分)。雖然本書的重點在于SQL技巧,但在此強調(diào),不是所有的工作都應(yīng)該(考慮)使用SQL命令、甚至使用一組SQL來完成,在此強調(diào)要以整體效率為首要考慮因素,善用數(shù)據(jù)庫端、應(yīng)用程序端的特點。數(shù)據(jù)庫的優(yōu)勢在于查詢、匯總計算大量數(shù)據(jù)等,但在逐筆運算、文字處理等能力上,則一般開發(fā)語言(如C#、Java)較為擅長。當(dāng)面臨系統(tǒng)效率不佳時,不要立即懷疑SQL或應(yīng)用程序編寫不當(dāng),可將事務(wù)依運行特性分割成小段,逐段分析并排除影響因子,探究效率真正瓶頸,以期達(dá)到整體效率較佳。當(dāng)在程序循環(huán)中發(fā)現(xiàn)反復(fù)執(zhí)行某組SOL時,單單一組SQL執(zhí)行,效率或許可達(dá)到要求,但整體執(zhí)行時間必須乘上執(zhí)行次數(shù)。一般來說,此舉將造成數(shù)據(jù)庫效率極為低下與資源大量耗用,此種情況下請進行Code Review,通常這是徹底解決效率低下的主要途徑。
編輯推薦
《SQL案例解析:以SQL Server與Oracle為例》匯集作者多年的數(shù)據(jù)庫開發(fā)經(jīng)驗,同時探討SQL語法、Oracle及SQL Server這兩種企業(yè)級數(shù)據(jù)庫的應(yīng)用。書中涵蓋許多極具商業(yè)價值的案例,特別適合已具有Oracle或SQL Server經(jīng)驗的數(shù)據(jù)庫開發(fā)人員、DBA、軟件架構(gòu)師、數(shù)據(jù)庫應(yīng)用及維護人員閱讀。借助《SQL案例解析:以SQL Server與Oracle為例》,可幫助他們形成解決實際問題的思路并提高問題處理能力?!禨QL案例解析:以SQL Server與Oracle為例》特色:以對比式寫法,整理出Oracle及SQL Server常用函數(shù)問的差異。對于原本需要以應(yīng)用程序或存儲過程實現(xiàn)的需求,嘗試直接以一組SQL指令完成。除了提供另一種思維及解決模式外,更能有效提升數(shù)據(jù)庫的執(zhí)行效率。探討常見的日期區(qū)間報表的制作方法,以日報,月報、周報、小時區(qū)問報表、科學(xué)園區(qū)四:二輪工時報表及完整日期報表為例。詳解如何連接異質(zhì)數(shù)據(jù)源,以及如何利用SQL指令實現(xiàn)遞歸、隨機數(shù)、篩選等功能?!禨QL案例解析:以SQL Server與Oracle為例》探討的概念及思想同MySQL、DB2、Teradata等數(shù)據(jù)庫系統(tǒng)。來自工作現(xiàn)場的DBA手記。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載