出版時(shí)間:2008-7 出版社:人民郵電出版社 作者:(美)麥查里克,(美)科納利斯,(美)魯貝爾克 著,顏〉紉 頁(yè)數(shù):379 字?jǐn)?shù):663000
Tag標(biāo)簽:無(wú)
內(nèi)容概要
本書(shū)是一部關(guān)于SQL Server 2005 高級(jí)開(kāi)發(fā)技術(shù)的權(quán)威著作,提供了詳盡、全面的技術(shù)討論,并給出了詳細(xì)的應(yīng)用實(shí)例。書(shū)中前4 章著重介紹SQL Server 所涉及的軟件開(kāi)發(fā)方法學(xué)、測(cè)試、異常處理和安全;第5 章至第7 章深入研究SQL Server 獨(dú)具的高級(jí)特性,主要介紹加密、SQLCLR 和動(dòng)態(tài)SQL;第8 章至第11 章從數(shù)據(jù)庫(kù)體系結(jié)構(gòu)的角度分析問(wèn)題,深入研究具體的設(shè)計(jì)和實(shí)現(xiàn)問(wèn)題,包括應(yīng)用程序并發(fā)、空間數(shù)據(jù)、時(shí)態(tài)數(shù)據(jù)和圖,這是本書(shū)最為復(fù)雜的內(nèi)容,也是最有實(shí)際意義的內(nèi)容。 本書(shū)可以作為軟件開(kāi)發(fā)人員,特別是數(shù)據(jù)庫(kù)設(shè)計(jì)人員的參考手冊(cè),也可供計(jì)算機(jī)專(zhuān)業(yè)、信息系統(tǒng)專(zhuān)業(yè)的高年級(jí)本科生、研究生作為數(shù)據(jù)庫(kù)課程的教材或者參考書(shū)。
作者簡(jiǎn)介
Adam Machanic,微軟SQL Server MVP,著名的SQL Server專(zhuān)家。長(zhǎng)期活躍于技術(shù)社區(qū),是SQL Server Professional和TechNET等行業(yè)雜志的撰稿人,經(jīng)常在各種技術(shù)會(huì)議上開(kāi)設(shè)技術(shù)講座、發(fā)表演講。除本書(shū)外,他還是Pro SQL Server 2005的作者之一。
書(shū)籍目錄
第1章 數(shù)據(jù)庫(kù)領(lǐng)域的軟件開(kāi)發(fā)方法學(xué) 1.1 架構(gòu)回顧 1.1.1 耦合、內(nèi)聚和封裝 1.1.2 接口 1.2 核心問(wèn)題:集成數(shù)據(jù)庫(kù)和面向?qū)ο笙到y(tǒng) 1.2.1 該何去何從 1.2.2 對(duì)象—關(guān)系失配 1.3 ORM:一個(gè)問(wèn)題多多的解決方案 1.4 把數(shù)據(jù)庫(kù)操作設(shè)計(jì)為API 1.5 全面權(quán)衡 1.5.1 可測(cè)試性 1.5.2 可維護(hù)性 1.5.3 安全性 1.5.4 性能 1.5.5 步履蹣跚的遠(yuǎn)期功能 1.6 小結(jié) 第2章 數(shù)據(jù)庫(kù)例程測(cè)試 2.1 黑盒測(cè)試與白盒測(cè)試簡(jiǎn)介 2.1.1 單元測(cè)試和功能測(cè)試 2.1.2 單元測(cè)試框架 2.1.3 回歸測(cè)試的重要性 2.2 實(shí)現(xiàn)數(shù)據(jù)庫(kù)測(cè)試過(guò)程和測(cè)試?yán)痰闹笇?dǎo)準(zhǔn)則 2.2.1 為什么說(shuō)軟件測(cè)試很重要 2.2.2 哪種測(cè)試重要 2.2.3 需要進(jìn)行多少測(cè)試 2.2.4 管理層是否愿意接受軟件測(cè)試 2.3 性能測(cè)試和數(shù)據(jù)庫(kù)系統(tǒng)事件探查 2.3.1 獲取基準(zhǔn)度量 2.3.2 使用跟蹤器及事件探查器進(jìn)行查看 2.3.3 評(píng)估性能計(jì)數(shù)器 2.3.4 宏觀分析 2.3.5 粒度分析 2.3.6 修正問(wèn)題:僅僅關(guān)注明顯的錯(cuò)誤是否已經(jīng)足夠 2.4 SQLQueryStress性能測(cè)試工具介紹 2.5 小結(jié) 第3章 錯(cuò)誤和異常 3.1 異常和錯(cuò)誤 3.2 SQL Server中異常的工作原理 3.2.1 語(yǔ)句級(jí)異常 3.2.2 批處理程序級(jí)異常 3.2.3 語(yǔ)法分析和作用域解析異常 3.2.4 連接和服務(wù)器級(jí)異常 3.2.5 XACT_ABORT設(shè)置 3.2.6 分析錯(cuò)誤信息 3.2.7 SQL Server的RAISERROE函數(shù) 3.2.8 跟蹤監(jiān)控異常事件 3.3 異常處理 3.3.1 為什么要在T-SQL中處理異常 3.3.2 使用@@ERROR“處理”異常 3.3.3 SQL Server的TRY/CATCH語(yǔ)法 3.4 事務(wù)與異常 3.4.1 事務(wù)退出的神話(huà) 3.4.2 XACT_ABORT:神話(huà)(半)成真 3.4.3 TRY/CATCH和被詛咒事務(wù) 3.5 小結(jié) 第4章 特權(quán)與授權(quán) 4.1 最低特權(quán)原則 4.1.1 在SQL Server中創(chuàng)建代理 4.1.2 層級(jí)數(shù)據(jù)安全:洋蔥模型 4.2 使用Schema組織數(shù)據(jù) 4.3 使用EXECUTE AS實(shí)現(xiàn)基本模擬 4.4 所有權(quán)鏈 4.5 非鏈?zhǔn)教貦?quán)提升 4.5.1 存儲(chǔ)過(guò)程與EXECUTE AS 4.5.2 使用證書(shū)對(duì)存儲(chǔ)過(guò)程進(jìn)行簽名 4.6 小結(jié) 第5章 加密 5.1 要保護(hù)什么 5.2 加密術(shù)語(yǔ):我們需要知道的部分 5.3 SQL Server 2005加密密鑰體系 5.3.1 服務(wù)主密鑰 5.3.2 數(shù)據(jù)庫(kù)主密鑰 5.4 SQL Server 2005數(shù)據(jù)保護(hù) 5.4.1 HashBytes() 5.4.2 非對(duì)稱(chēng)密鑰加密和證書(shū)加密 5.4.3 對(duì)稱(chēng)密鑰加密 5.4.4 EncryptByPassphrase 5.5 隔離數(shù)據(jù)與DBA 5.6 性能優(yōu)化設(shè)計(jì) 5.6.1 設(shè)計(jì)解決方案、定義問(wèn)題 5.6.2 搜索加密數(shù)據(jù) 5.7 小結(jié) 第6章 SQLCLR:架構(gòu)和設(shè)計(jì)注意事項(xiàng) 6.1 填充SQL/CLR鴻溝:SqlTypes庫(kù) 6.2 包裝代碼以提高跨層重用性 6.3 SQLCLR的安全性特征和可靠性特征 6.3.1 代碼安全性需求 6.3.2 通過(guò)程序集引用有選擇地提升特權(quán) 6.3.3 授予交叉程序集特權(quán) 6.4 利用SQLCLR加強(qiáng)Service Broker可擴(kuò)展性功能 6.5 擴(kuò)展用戶(hù)自定義聚合 6.6 小結(jié) 第7章 動(dòng)態(tài)T-SQL 7.1 動(dòng)態(tài)T-SQL與ad hoc T-SQL 7.2 為什么要使用動(dòng)態(tài)SQL 7.2.1 編譯與參數(shù)化 7.2.2 自動(dòng)參數(shù)化 7.2.3 應(yīng)用程序級(jí)參數(shù)化 7.2.4 參數(shù)化與高速緩存的性能暗示 7.3 支持可選參數(shù) 7.3.1 通過(guò)靜態(tài)T-SQL實(shí)現(xiàn)可選參數(shù) 7.3.2 實(shí)現(xiàn)動(dòng)態(tài)化:使用EXECUTE 7.3.3 SQL注入 7.3.4 sp_executesql:一個(gè)更好的EXECUTE 7.4 動(dòng)態(tài)SQL在安全方面的考慮 7.4.1 被引用對(duì)象的權(quán)限 7.4.2 接口規(guī)則 7.5 小結(jié) 第8章 應(yīng)用程序并發(fā)系統(tǒng)的設(shè)計(jì) 8.1 從業(yè)務(wù)角度觀察:進(jìn)程產(chǎn)生沖突時(shí)會(huì)發(fā)生什么情況 8.1.1 SQL Server隔離級(jí)別概述 8.1.2 并發(fā)控制與SQL Server提供的隔離級(jí)別 8.2 做最壞的打算:悲觀的并發(fā) 8.2.1 在寫(xiě)入過(guò)程中使用悲觀鎖 8.2.2 應(yīng)用程序鎖:對(duì)悲觀并發(fā)控制機(jī)制進(jìn)行泛化 8.3 希望最好的情況發(fā)生:樂(lè)觀的并發(fā)控制 8.4 包容沖突:多值并發(fā)控制 8.5 通過(guò)排隊(duì)提高可擴(kuò)展性 8.6 小結(jié) 第9章 空間數(shù)據(jù)處理 9.1 用緯度和經(jīng)度表示地球空間數(shù)據(jù) 9.1.1 設(shè)置示例數(shù)據(jù) 9.1.2 計(jì)算兩點(diǎn)之間的距離 9.1.3 從一個(gè)位置點(diǎn)移動(dòng)到另一個(gè)位置點(diǎn) 9.1.4 鄰近搜索 9.1.5 邊界框 9.1.6 查找距離最近的鄰近點(diǎn) 9.1.7 動(dòng)態(tài)邊界框 9.1.8 結(jié)論 9.2 使用分層三角形網(wǎng)格表示地球空間數(shù)據(jù) 9.2.1 HTM的簡(jiǎn)化描述 9.2.2 實(shí)現(xiàn)HtmID 9.2.3 Spatial數(shù)據(jù)庫(kù)提供的函數(shù) 9.2.4 結(jié)論 9.3 其他類(lèi)型的空間數(shù)據(jù) 9.3.1 三維數(shù)據(jù) 9.3.2 天文數(shù)據(jù) 9.3.3 虛擬空間 9.3.4 將區(qū)域表達(dá)為多邊形 9.4 小結(jié) 第10章 時(shí)態(tài)數(shù)據(jù)處理 10.1 表達(dá)的不僅僅是時(shí)間 10.2 SQL Server提供的日期/時(shí)間數(shù)據(jù)類(lèi)型 10.2.1 日期輸入格式 10.2.2 格式化輸出日期 10.2.3 高效查詢(xún)?nèi)掌?時(shí)間列 10.2.4 日期/時(shí)間計(jì)算 10.3 使用日歷表定義周期 10.4 設(shè)計(jì)時(shí)態(tài)數(shù)據(jù)存儲(chǔ)方案及查詢(xún)時(shí)態(tài)數(shù)據(jù) 10.4.1 處理時(shí)區(qū) 10.4.2 處理時(shí)間區(qū)間 10.4.3 為持續(xù)時(shí)間建立模型 10.4.4 管理雙時(shí)態(tài)數(shù)據(jù) 10.5 小結(jié) 第11章 樹(shù)、層次結(jié)構(gòu)和圖 11.1 術(shù)語(yǔ):萬(wàn)物皆為圖 11.2 基礎(chǔ)知識(shí):鄰接表和圖 11.2.1 為邊加入約束 11.2.2 針對(duì)圖的基本查詢(xún):給定一個(gè)結(jié)點(diǎn),這個(gè)結(jié)點(diǎn)與其他哪些結(jié)點(diǎn)相連 11.2.3 遍歷圖 11.3 鄰接表的層次結(jié)構(gòu) 11.3.1 查詢(xún)鄰接表層次結(jié)構(gòu):基礎(chǔ)知識(shí) 11.3.2 查找直接后代結(jié)點(diǎn) 11.3.3 在層次結(jié)構(gòu)中向下級(jí)層次遍歷 11.3.4 在層次結(jié)構(gòu)中向上級(jí)層次遍歷 11.3.5 插入新結(jié)點(diǎn)并重新定位子樹(shù) 11.3.6 刪除已有結(jié)點(diǎn) 11.3.7 為層次結(jié)構(gòu)加入約束 11.4 持久保存具體化路徑 11.4.1 查找下級(jí)結(jié)點(diǎn) 11.4.2 在層次結(jié)構(gòu)中向上級(jí)層次導(dǎo)航 11.4.3 對(duì)具體化路徑解決方案進(jìn)行優(yōu)化 11.4.4 插入結(jié)點(diǎn) 11.4.5 重新定位子樹(shù) 11.4.6 刪除結(jié)點(diǎn) 11.4.7 為層次結(jié)構(gòu)加入約束 11.5 嵌套集模型 11.5.1 查找下級(jí)結(jié)點(diǎn) 11.5.2 在層次結(jié)構(gòu)中向上級(jí)層次導(dǎo)航 11.5.3 插入結(jié)點(diǎn) 11.5.4 重新定位子樹(shù) 11.5.5 刪除結(jié)點(diǎn) 11.5.6 為層次結(jié)構(gòu)加入約束 11.6 小結(jié)
章節(jié)摘錄
第1章 數(shù)據(jù)庫(kù)領(lǐng)域的軟件開(kāi)發(fā)方法學(xué) 數(shù)據(jù)庫(kù)應(yīng)用程序開(kāi)發(fā)是一種軟件開(kāi)發(fā)形式,人們應(yīng)該以軟件開(kāi)發(fā)的方式看待數(shù)據(jù)庫(kù)應(yīng)用程序開(kāi)發(fā)。但是在開(kāi)發(fā)小組討論架構(gòu)及測(cè)試計(jì)劃時(shí),往往把數(shù)據(jù)庫(kù)部分當(dāng)做次要部分來(lái)考慮——似乎很多數(shù)據(jù)庫(kù)開(kāi)發(fā)人員都認(rèn)為,標(biāo)準(zhǔn)的軟件開(kāi)發(fā)最佳實(shí)踐并不適用于數(shù)據(jù)庫(kù)應(yīng)用程序開(kāi)發(fā)。事實(shí)上,幾乎每種應(yīng)用程序都需要某種形式的數(shù)據(jù)存儲(chǔ),開(kāi)發(fā)社區(qū)中的許多人都不只是持久化應(yīng)用數(shù)據(jù),還要?jiǎng)?chuàng)建數(shù)據(jù)驅(qū)動(dòng)(data driven)的應(yīng)用程序。所謂數(shù)據(jù)驅(qū)動(dòng)就是應(yīng)用程序的行為根據(jù)數(shù)據(jù)的變化而動(dòng)態(tài)變化,事實(shí)上可以用一個(gè)更好的術(shù)語(yǔ)來(lái)表達(dá)這個(gè)概念,即數(shù)據(jù)依賴(lài)(data dependent)。由于應(yīng)用程序與數(shù)據(jù)和數(shù)據(jù)庫(kù)如此的密切相關(guān),軟件開(kāi)發(fā)高手不僅僅要是能干的軟件開(kāi)發(fā)人員,毫無(wú)疑問(wèn)還得是數(shù)據(jù)訪問(wèn)和管理方面的專(zhuān)家。數(shù)據(jù)是應(yīng)用程序中處于中心位置的、控制性的因素,它決定了應(yīng)用程序?qū)τ脩?hù)的價(jià)值。沒(méi)有數(shù)據(jù),也就無(wú)需此應(yīng)用程序。本書(shū)的主要目的正是為了把Microsoft SQL Server開(kāi)發(fā)人員重新拉回軟件開(kāi)發(fā)的范疇。本書(shū)強(qiáng)調(diào)嚴(yán)格的測(cè)試、深思熟慮的架構(gòu)設(shè)計(jì),以及對(duì)數(shù)據(jù)彼此依賴(lài)性的謹(jǐn)慎考慮。對(duì)這些方面的完美駕馭是軟件開(kāi)發(fā)專(zhuān)家的重要標(biāo)志,而作為任何軟件開(kāi)發(fā)團(tuán)隊(duì)的核心,數(shù)據(jù)庫(kù)專(zhuān)家當(dāng)然不能缺少這個(gè)方面的專(zhuān)業(yè)技能。本章將重點(diǎn)介紹軟件開(kāi)發(fā)概念和架構(gòu)相關(guān)知識(shí),因?yàn)樗鼈兺耆m用于數(shù)據(jù)庫(kù)應(yīng)用領(lǐng)域。其中有些主題在開(kāi)發(fā)者社區(qū)中尚有極大爭(zhēng)議,本書(shū)將盡量對(duì)各種觀點(diǎn)并舉,即使有些問(wèn)題似乎已經(jīng)有了權(quán)威答案。不過(guò)我建議你認(rèn)真思考這些問(wèn)題,而不是把我或者其他人的觀點(diǎn)照搬照抄,因?yàn)檐浖軜?gòu)領(lǐng)域于變?nèi)f化,只有在對(duì)各種案例反復(fù)揣摩之后我們才可能奢望找到或許存在的“最佳”答案。1.1 架構(gòu)回顧軟件架構(gòu)是一個(gè)龐大、復(fù)雜的話(huà)題,主要是因?yàn)楹芏嘬浖軜?gòu)設(shè)計(jì)師往往喜歡把系統(tǒng)弄得盡可能的復(fù)雜。而事實(shí)在于,編寫(xiě)一個(gè)優(yōu)秀的軟件,并不需要像很多系統(tǒng)設(shè)計(jì)師提倡的那樣使用太多復(fù)雜的結(jié)構(gòu)設(shè)計(jì),真正高質(zhì)量的設(shè)計(jì)往往只需理解并應(yīng)用其中很少的基本原理就夠了。
媒體關(guān)注與評(píng)論
“罕見(jiàn)的深度,書(shū)中的所有內(nèi)容都值得反復(fù)咀嚼并實(shí)際演練。我向所有想探索SQL Server的讀者推薦本書(shū)?!?——Bob Beauchemin,微軟SQL Server MVP “數(shù)據(jù)庫(kù)方面的書(shū)太多了??墒菦](méi)有一本像本書(shū)這樣討論了軟件工程、測(cè)試等諸多重要主題,包括我自己的收!許多內(nèi)容對(duì)我來(lái)說(shuō)也是全新的,強(qiáng)烈推薦!” ——JoeCelko,SQL標(biāo)準(zhǔn)委員會(huì)成員。世界頂尖SQL專(zhuān)家,《SQL解惑》等經(jīng)典著作的作者 市面上充斥著大量入門(mén)性質(zhì)的SQL Server 2005圖書(shū),而許多重要的主題卻很少涉及。 本書(shū)由幾位世界級(jí)SQL Server專(zhuān)家撰寫(xiě)而成,他們從親身開(kāi)發(fā)經(jīng)驗(yàn)出發(fā),針對(duì)實(shí)際開(kāi)發(fā)中會(huì)一再遇到的問(wèn)題,討論了包括微軟公司聯(lián)機(jī)文檔在內(nèi)的其他資料中都難以找到的一些重要主題。作者將數(shù)據(jù)庫(kù)視為軟件開(kāi)發(fā)生態(tài)系統(tǒng)中的一個(gè)有機(jī)組成部分,引導(dǎo)讀者對(duì)SQL Server開(kāi)發(fā)進(jìn)行思考。達(dá)到從未企及的深度。 通過(guò)書(shū)中的最佳實(shí)踐和大量示例,讀者可以掌握如何設(shè)計(jì)高性能、高可維護(hù)性的應(yīng)用程序,從而大大提升自己的數(shù)據(jù)庫(kù)開(kāi)發(fā)水平。
編輯推薦
《SQL Server 2005編程藝術(shù)》可以作為軟件開(kāi)發(fā)人員,特別是數(shù)據(jù)庫(kù)設(shè)計(jì)人員的參考手冊(cè),也可供計(jì)算機(jī)專(zhuān)業(yè)、信息系統(tǒng)專(zhuān)業(yè)的高年級(jí)本科生、研究生作為數(shù)據(jù)庫(kù)課程的教材或者參考書(shū)。Amazon全五星圖書(shū),眾多專(zhuān)家盛譽(yù)推薦,深入揭示SQL Server開(kāi)發(fā)思想,改變你對(duì)數(shù)據(jù)庫(kù)開(kāi)發(fā)的看法。
圖書(shū)封面
圖書(shū)標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載
SQL Server 2005編程藝術(shù) PDF格式下載
250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版