出版時(shí)間:2010-1 出版社:清華大學(xué)出版社 作者:Robert Vieria 頁(yè)數(shù):559 譯者:馬煜,孫皓
Tag標(biāo)簽:無(wú)
前言
正如我曾說(shuō)過(guò)的,寫(xiě)書(shū)的經(jīng)歷奇特而漫長(zhǎng)。早在1999年,當(dāng)我首次編寫(xiě)Professional SQL Server 7.0Programming一書(shū)時(shí),無(wú)論是書(shū)籍還是程序開(kāi)發(fā)環(huán)境都與今天的情況截然不同。那時(shí),.NET尚未出現(xiàn),Visual Studio 98是當(dāng)時(shí)最流行的開(kāi)發(fā)環(huán)境,Java開(kāi)發(fā)環(huán)境正被廣泛使用,而像Delphi這樣可供選擇的開(kāi)發(fā)工具也比現(xiàn)在更具競(jìng)爭(zhēng)力?,F(xiàn)在正快速進(jìn)入所謂的.corn時(shí)代,數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS,如SQL Server)的使用也在呈指數(shù)增長(zhǎng)?! ∪欢?,卻存在一個(gè)問(wèn)題。雖然我們可以找到一些有關(guān)SQL Server的書(shū)籍,但這些書(shū)籍都面向數(shù)據(jù)庫(kù)管理員。這些書(shū)籍的作者將大量的時(shí)間和精力花費(fèi)在了普通開(kāi)發(fā)人員幾乎不關(guān)注的內(nèi)容上。事實(shí)上,對(duì)于一些無(wú)能為力的事情,我們必須放棄。就像迫切需要解決的全球饑餓或核擴(kuò)散問(wèn)題,因?yàn)槲覀兏緹o(wú)力解決,但我們完全能夠編寫(xiě)一些面向開(kāi)發(fā)人員的有關(guān)SQL的新書(shū)籍?! ‘?dāng)時(shí)我寫(xiě)了Professional SQL Servet 7.0 Programming一書(shū),內(nèi)容可謂包羅萬(wàn)象,從基礎(chǔ)內(nèi)容到高級(jí)內(nèi)容,適合于各類(lèi)讀者。但其造就的結(jié)果就是書(shū)特別的厚。 第一本書(shū)SQL Server2005發(fā)行后,我們計(jì)劃重新編寫(xiě)SQL Server的第二次修訂版本,但再次碰到了一個(gè)問(wèn)題:有關(guān)高級(jí)編程的內(nèi)容實(shí)在是太多了,以至于無(wú)法用一本書(shū)來(lái)涵蓋全部?jī)?nèi)容。SQL Server 2005的新增內(nèi)容也很多,要全放在一本書(shū)中介紹實(shí)屬不易(幾乎走出了一本書(shū)的范圍),因此我們決定將原來(lái)的“高級(jí)編程”系列叢書(shū)分成“入門(mén)經(jīng)典”和“高級(jí)編程”篇。盡管我們花了大量精力去進(jìn)行拆分,但仍有不少內(nèi)容重疊。SQL Server2008又增加了一些新功能,不過(guò)這樣一來(lái),我們可以使得“高級(jí)編程”篇面向高級(jí)讀者,而“入門(mén)經(jīng)典”篇內(nèi)容也更加豐富。
內(nèi)容概要
《SQL Server 2008編程入門(mén)經(jīng)典(第3版)》由淺入深逐步介紹了SQL Server數(shù)據(jù)庫(kù)的高級(jí)主題,重點(diǎn)討論了SQL Server 2008的特殊功能以及與其他編程環(huán)境的不同之處。作者Robert Vieria是Microsoft SQL,Server方面的權(quán)威,他采用通俗易懂的方法揭示了SQL Server-2008核心組件的重要更改?! 禨QL Server 2008編程入門(mén)經(jīng)典(第3版)》首先概述了數(shù)據(jù)庫(kù)設(shè)計(jì)的概念,介紹了如何用SQL Setver 2008實(shí)現(xiàn)這些基本概念。然后,講述了RDBMS(關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng))的功能和它在開(kāi)發(fā)系統(tǒng)架構(gòu)方面的優(yōu)勢(shì)。SQL Server 2008的新增內(nèi)容和更改包括:DATE和TIME數(shù)據(jù)類(lèi)型、 hierarchyID數(shù)據(jù)類(lèi)型、MERGE命令和多行插入,以及遞歸查詢(xún)等?!禨QL Server 2008編程入門(mén)經(jīng)典(第3版)》旨在幫助您快速地掌握Microsoft SQL Selwer2008的編程技術(shù)。
作者簡(jiǎn)介
韋拉(Robert Vieria),是暢銷(xiāo)書(shū)作者。他從1 980年開(kāi)始深入學(xué)習(xí)計(jì)算技術(shù),從構(gòu)建和修復(fù)計(jì)算機(jī)軟件包,到通過(guò)Z80、Basic以及6502匯編語(yǔ)言進(jìn)行編程。1 983年,Robert開(kāi)始攻讀計(jì)算機(jī)信息系統(tǒng)的學(xué)位,隨后轉(zhuǎn)而研究“PC故障”并開(kāi)始使用數(shù)據(jù)庫(kù)語(yǔ)言(從dBase到SQL Server)進(jìn)行編程,于1990年獲得商業(yè)管理學(xué)位。此外,他還獲得了CMA、MCSD、MCT以及MCDBA等認(rèn)證。Robert目前是俄勒岡州波蘭特市的Huron Consuiting Group的Stockarnp事務(wù)所的DBA團(tuán)隊(duì)領(lǐng)導(dǎo)人,偶爾也會(huì)在數(shù)據(jù)庫(kù)開(kāi)發(fā)、商業(yè)智能和其他主題方面發(fā)表演講?! ∑渌?zé)任者簡(jiǎn)介: 楊大川,畢業(yè)于美國(guó)紐約州立大學(xué)布法羅分校計(jì)算機(jī)系,曾擔(dān)任美國(guó)硅谷Annuncio Software等公司的首席工程師,歸國(guó)后,他于2003年創(chuàng)辦了北京邁思奇科技有限公司并擔(dān)任技術(shù)總監(jiān),為國(guó)內(nèi)外多家大中型企業(yè)提供商業(yè)智能咨詢(xún)和項(xiàng)目實(shí)施服務(wù),并逐漸從高新技術(shù)外包開(kāi)發(fā)走向了自主知識(shí)產(chǎn)權(quán)產(chǎn)品的研發(fā)道路。他曾被譽(yù)為微軟全球最有價(jià)值專(zhuān)家(MVP);2008年榮獲“中關(guān)村年度優(yōu)秀創(chuàng)業(yè)留學(xué)人員”稱(chēng)號(hào):現(xiàn)擔(dān)任中國(guó)科學(xué)院軟件學(xué)院的兼職教授。
書(shū)籍目錄
第1章 RDBMS基礎(chǔ):SQLServer數(shù)據(jù)庫(kù)的構(gòu)成1.1 數(shù)據(jù)庫(kù)對(duì)象概述1.1.1 數(shù)據(jù)庫(kù)對(duì)象1.1.2 事務(wù)日志1.1.3 最基本的數(shù)據(jù)庫(kù)對(duì)象:表1.1.4 文件組1.1.5 數(shù)據(jù)庫(kù)關(guān)系圖1.1.6 視圖1.1.7 存儲(chǔ)過(guò)程1.1.8 用戶自定義函數(shù)1.1.9 用戶和角色1.1.10 規(guī)則1.1.11 默認(rèn)值1.1.12 用戶自定義數(shù)據(jù)類(lèi)型1.1.13 全文目錄1.2 SQL Server數(shù)據(jù)類(lèi)型1.3 SQL Server對(duì)象標(biāo)識(shí)符1.3.1 需要命名的對(duì)象1.3.2 命名規(guī)則1.4 本章小結(jié)第2章 SQL Server管理工具2.1 聯(lián)機(jī)叢書(shū)2.2 SQLServer配置管理器2.2.1 服務(wù)管理2.2.2 網(wǎng)絡(luò)配置2.2.3 協(xié)議2.2.4 客戶端2.3 SQLServer Management Studio2.3.1 啟動(dòng)Management Studio2.3.2 “查詢(xún)”窗口2.4 SQL Server集成服務(wù)(SSIS)2.5 BulkCopy Program(bcp)2.6 SQL ServerProfiler2.7 sqlcmd2.8 Power Shell2.9 本章小結(jié)第3章 T-SQL基本語(yǔ)句3.1 基本SELECT語(yǔ)句3.1.1 SELECT語(yǔ)句與FROM子句3.1.2 WHERE子句3.1.3 ORDERBY子句3.1.4 使用GROUPBY子句聚合數(shù)據(jù)3.1.5 使用HAVING子句給分組設(shè)置條件3.1.6 使用FORXML子句輸出XML3.1.7 通過(guò)OPTION子句利用提示3.1.8 DISTINCT和ALL謂詞3.2 使用INSERT語(yǔ)句添加數(shù)據(jù)3.2.1 多行插入3.2.2 INSERTINTOSELECT語(yǔ)句3.3 用UPDATE語(yǔ)句更改數(shù)據(jù)3.4 DELETE語(yǔ)句3.5 本章小結(jié)3.6 練習(xí)第4章 連接4.1 連接4.2 內(nèi)部連接4.3 外部連接4.3.1 簡(jiǎn)單的外部連接4.3.2 處理更復(fù)雜的外部連接4.4 完全連接4.5 交叉連接4.6 JOIN語(yǔ)句的早期語(yǔ)法結(jié)構(gòu)4.6.1 內(nèi)部連接的早期語(yǔ)法結(jié)構(gòu)4.6.2 外部連接的早期語(yǔ)法結(jié)構(gòu)4.6.3 交叉連接的早期語(yǔ)法結(jié)構(gòu)4.7 聯(lián)合4.8 本章小結(jié)4.9 練習(xí)第5章 創(chuàng)建和修改數(shù)據(jù)表5.1 SQLserver中的對(duì)象名5.1.1 模式名5.1.2 數(shù)據(jù)庫(kù)名5.1.3 通過(guò)服務(wù)器命名5.1.4 回顧默認(rèn)值5.2 CReATE語(yǔ)句5.2.1 CREATEDATAASE5.2.2 CREATETABLE5.3 ALTER語(yǔ)句5.3.1 AITERDATABASE5.3.2 ALTERTABLE5.4 DROP語(yǔ)句5.5 使用GUI工具5.5.1 使用ManagementStudio創(chuàng)建數(shù)據(jù)庫(kù)5.5.2 回到代碼:使用MariagementStudio創(chuàng)建腳本的基礎(chǔ)知識(shí)5.6 本章小結(jié)5.7 練習(xí)第6章 約束6.1 約束的類(lèi)型6.1.1 域約束6.1.2 實(shí)體約束6.1.3 參照完整性約束6.2 約束命名6.3 鍵約束6.3.1 主鍵約束6.3.2 外鍵約束6.3.3 唯一約束6.4 CHECK約束6.5 DEFAuLT約束6.5.1 在cREATETABLE語(yǔ)句中定義DEFAULT約束6.5.2 在已存在的表中添加DEFAUIT約束6.6 禁用約束6.6.1 在創(chuàng)建約束時(shí)忽略無(wú)效的數(shù)據(jù)6.6.2 臨時(shí)禁用已存在的約束6.7 規(guī)則和默認(rèn)值6.7.1 規(guī)則6.7.2 默認(rèn)值6.7.3 確定哪個(gè)表和數(shù)據(jù)類(lèi)型使用給定的規(guī)則或默認(rèn)值6.8 用于實(shí)現(xiàn)數(shù)據(jù)完整性的觸發(fā)器6.9 如何選擇6.1 0本章小結(jié)第7章 更復(fù)雜的查詢(xún)7.1 子查詢(xún)的概念7.2 關(guān)聯(lián)子查詢(xún)7.2.1 關(guān)聯(lián)子查詢(xún)的工作原理7.2.2 在WHERE子句中的關(guān)聯(lián)子查詢(xún)7.2.3 處理NULL數(shù)據(jù)——ISNULL函數(shù)7.3 派生表7.4 EXISTS運(yùn)算符7.5 混合數(shù)據(jù)類(lèi)型:CAST和CONVERT7.6 MERGE命令7.6.1 BYl.ARGET和BYSOURCE7.6.2 OUTPUT子句7.7 性能方面的考慮7.8 本章小結(jié)7.9 練習(xí)第8章 規(guī)范化和其他基本設(shè)計(jì)問(wèn)題8.1 表8.2 保持?jǐn)?shù)據(jù)“規(guī)范8.2.1 準(zhǔn)備工作8.2.2 第一范式8.2.3 第二范式8.2.4 第三范式8.2.5 其他范式8.3 關(guān)系8.3.1 一對(duì)一關(guān)系8.3.2 一對(duì)一或一對(duì)多關(guān)系8.3.3 多對(duì)多關(guān)系8.4 數(shù)據(jù)庫(kù)關(guān)系圖8.4.1 表8.4.2 添加和刪除表8.4.3 關(guān)系8.5 反規(guī)范化8.6 超出規(guī)范化的一些規(guī)則8.6.1 保持簡(jiǎn)單8.6.2 選擇數(shù)據(jù)類(lèi)型8.6.3 盡量進(jìn)行存儲(chǔ)8.7 創(chuàng)建一個(gè)快速示例8.7.1 創(chuàng)建數(shù)據(jù)庫(kù)8.7.2 添加數(shù)據(jù)庫(kù)關(guān)系圖和初始表8.7.3 添加關(guān)系8.7.4 添加一些約束8.8 本章小結(jié)8.9 練習(xí)第9章 SQLServer存儲(chǔ)和索引結(jié)構(gòu)9.1 SQLServer存儲(chǔ)機(jī)制9.1.1 數(shù)據(jù)庫(kù)9.1.2 區(qū)段9.1.3 頁(yè)9.1.4 行9.1.5 稀疏列9.2 理解索引9.2.1 平衡樹(shù)(B.樹(shù))9.2.2 SQLServer中訪問(wèn)數(shù)據(jù)的方式9.3 創(chuàng)建、修改和刪除索引9.3.1 CREATEINDEX語(yǔ)句9.3.2 創(chuàng)建XML索引9.3.3 隨約束創(chuàng)建的隱含索引9.3.4 在稀疏列和地理空間列上創(chuàng)建索引9.4 明智地選擇——在何時(shí)何地使用何種索引9.4.1 選擇性9.4.2 注意成本9.4.3 選擇群集索引9.4.4 列順序問(wèn)題9.4.5 修改索引9.4.6 刪除索引9.4.7 從查詢(xún)計(jì)劃中獲取提示9.4.8 使用數(shù)據(jù)庫(kù)引擎調(diào)整向?qū)?.5 維護(hù)索引9.5.1 碎片9.5.2 確定碎片和頁(yè)拆分的可能性9.6 本章小結(jié)9.7 練習(xí)第10章 視圖10.1 簡(jiǎn)單的視圖10.2 更加復(fù)雜的視圖10.3 使用T-SOL編輯視圖10.4 刪除視圖10.5 在MaliagementStudio中創(chuàng)建和編輯視圖10.6 審查:顯示現(xiàn)有的代碼10.7 保護(hù)代碼:加密視圖10.8 關(guān)于模式綁定10.9 使用VIEWMETADATA使視圖看起來(lái)像表一樣10.10 索引(物化)視圖10.11 本章小結(jié)10.12 練習(xí)第11章 編寫(xiě)腳本和批處理11.1 腳本的基礎(chǔ)知識(shí)11.1.1 USE語(yǔ)句11.1.2 聲明變量11.1.3 使用@@IDENTITY11.1.4 使用@@ROWCOUNT11.2 批處理11.2.1 批處理中的錯(cuò)誤11.2.2 何時(shí)使用批處理11.3 sqlcmd11.4 動(dòng)態(tài)SQL:用ExEC命令動(dòng)態(tài)生成代碼11.5 控制流語(yǔ)句11.5.1 IFELSE語(yǔ)句11.5.2 CASE語(yǔ)句11.5.3 用WHILE語(yǔ)句進(jìn)行循環(huán)11.5.4 WAITOR語(yǔ)句11.5.5 TRY/CATCH塊11.6 本章小結(jié)11.7 練習(xí)第12章 存儲(chǔ)過(guò)程12.1 創(chuàng)建存儲(chǔ)過(guò)程:基本語(yǔ)法12.2 使用ALTER修改存儲(chǔ)過(guò)程12.3 刪除存儲(chǔ)過(guò)程12.4 參數(shù)化12.5 通過(guò)返回值確認(rèn)成功或失敗12.6 錯(cuò)誤處理12.6.1 以前的方式12.6.2 在錯(cuò)誤發(fā)生前處理錯(cuò)誤12.6.3 手動(dòng)引發(fā)錯(cuò)誤12.6.4 添加自定義的錯(cuò)誤消息12.7 存儲(chǔ)過(guò)程的優(yōu)點(diǎn)12.7.1 創(chuàng)建可調(diào)用的進(jìn)程12.7.2 為了安傘性使用存儲(chǔ)過(guò)程12.7.3 存儲(chǔ)過(guò)程和性能12.8 擴(kuò)展存儲(chǔ)過(guò)程(XP)12.9 遞歸簡(jiǎn)介12.10 調(diào)試12.10.1 啟動(dòng)調(diào)試器12.10.2 調(diào)試器的組成12.10.3 使用調(diào)試器12.11 .NET程序集12.12 本章小結(jié)第13章 用戶自定義函數(shù)13.1 UDF的定義13.2 返回標(biāo)量值的uDF13.3 返回表的UDF13.4 調(diào)試用戶自定義函數(shù)13.5 數(shù)據(jù)庫(kù)中的.NET13.6 本章小結(jié)13.7 練習(xí)第14章 事務(wù)和鎖14.1 事務(wù)14.1.1 BEGINTRAN14.1.2 COMMITTRAN14.1.3 ROLLBACKTRAN14.1.4 SAVETRAN14.2 SQLServer日志的工作方式14.2.1 失敗和恢復(fù)14.2.2 隱式事務(wù)14.3 鎖和并發(fā)14.3.1 通過(guò)鎖可以防止的問(wèn)題14.3.2 可以鎖定的資源14.3.3 鎖升級(jí)和鎖對(duì)性能的影響14.3.4 鎖定模式14.3.5 鎖的兼容性14.3.6 指定一種特有的鎖定類(lèi)型——優(yōu)化器提示14.4 設(shè)置隔離級(jí)別14.5 處理死鎖(1205錯(cuò)誤)……第15章 觸發(fā)器第16章 初識(shí)XML第17章 Reporting Services第18章 使用Integration Services進(jìn)行集成第19章 扮演管理員的角色附錄
章節(jié)摘錄
5.ReportServer數(shù)據(jù)庫(kù) 這個(gè)數(shù)據(jù)庫(kù)只有在安裝了ReportServer的情況下才存在(它不必與數(shù)據(jù)庫(kù)引擎相同,但注意,如果是不同的服務(wù)器,它要求單獨(dú)的許可)。ReportServer數(shù)據(jù)庫(kù)存儲(chǔ)Reporting Server實(shí)例的任何持久化元數(shù)據(jù)。注意,它是只可用于給定Reporting Server實(shí)例的操作性數(shù)據(jù)庫(kù),只能通過(guò)Reporting Server修改或訪問(wèn)?! ?.ReportServer TempDB數(shù)據(jù)庫(kù) 除了存儲(chǔ)非持久化數(shù)據(jù)(如有關(guān)正在運(yùn)行的報(bào)表的數(shù)據(jù))外,該數(shù)據(jù)庫(kù)的基本作用與ReportServer數(shù)據(jù)庫(kù)相同。同樣,它也是個(gè)純粹操作性的數(shù)據(jù)庫(kù),只能通過(guò)Reporting Server訪問(wèn)或修改?! ?.AdventureWorks2008數(shù)據(jù)庫(kù) 在有AdventureWorks2008數(shù)據(jù)庫(kù)之前,SQL Server就包括了其他樣本數(shù)據(jù)庫(kù)。老樣本數(shù)據(jù)庫(kù)有不足之處,如它們包含了一些不好的設(shè)計(jì)習(xí)慣。此外,老的例子過(guò)于簡(jiǎn)單,集中闡明某些數(shù)據(jù)庫(kù)概念,而不是將SQL Server作為一個(gè)產(chǎn)品或?qū)?shù)據(jù)庫(kù)視為一個(gè)整體。這里不再探討AdventureWorks2008數(shù)據(jù)庫(kù)是否存在相同問(wèn)題。AdventureWorks2008數(shù)據(jù)庫(kù)確實(shí)試圖解決這些問(wèn)題?! ≡赟QL Server 2005發(fā)展之初,Microsoft就想要一個(gè)更加健壯的樣本數(shù)據(jù)庫(kù),使其盡可能作為其產(chǎn)品的一個(gè)示例。AdventureWorks2008數(shù)據(jù)庫(kù)就是這一想法的結(jié)果。盡管該數(shù)據(jù)庫(kù)對(duì)于初學(xué)者過(guò)于復(fù)雜,但是其作為數(shù)據(jù)庫(kù)示例確實(shí)是一杰作。雖然該數(shù)據(jù)庫(kù)不包括所有的內(nèi)容,但還是一個(gè)相當(dāng)完整的示例,具有更接近實(shí)際的數(shù)據(jù)量、復(fù)雜的結(jié)構(gòu)和用于展示產(chǎn)品的大部分特征的部件。從這一方面看,該數(shù)據(jù)庫(kù)是非常不錯(cuò)的。 AdventureWorks2008是中心數(shù)據(jù)庫(kù),本書(shū)將廣泛使用該數(shù)據(jù)庫(kù)?! ?.AdventureWorksLT2008數(shù)據(jù)庫(kù) 這里的LT表示輕量級(jí)(1ite)。它只是AdventureWorks2008數(shù)據(jù)庫(kù)完整版的極小一部分。該思想提供了更簡(jiǎn)化的樣本集,便于理解基本概念和完成簡(jiǎn)單的練習(xí)。盡管本人并不知曉推出這一新樣本集的真正原因,但我猜測(cè)是為了取代較老的。Northwind和.Pubs樣本集(相較于AdventureWorks2008樣本集,許多培訓(xùn)者更喜歡采用Northwind和Pubs樣本集,因?yàn)锳dventures2008數(shù)據(jù)庫(kù)對(duì)于初級(jí)培訓(xùn)來(lái)說(shuō)通常過(guò)于復(fù)雜和笨重)。
編輯推薦
《SQL Server 2008編程入門(mén)經(jīng)典(第3版)》主要內(nèi)容 RDBMS如何存儲(chǔ)、管理和檢索數(shù)據(jù) 創(chuàng)建和修改表的方法 數(shù)據(jù)庫(kù)范式的多種形式 編寫(xiě)腳本和使用存儲(chǔ)過(guò)程的技巧 索引的優(yōu)缺點(diǎn) 鎖和死鎖對(duì)系統(tǒng)性能的各種影響 理解觸發(fā)器及其使用方式 《SQL Server 2008編程入門(mén)經(jīng)典(第3版)》讀者對(duì)象 《SQL Server 2008編程入門(mén)經(jīng)典(第3版)》適合于希望全面了解數(shù)據(jù)庫(kù)設(shè)計(jì)概念和學(xué)習(xí)SQL的開(kāi)發(fā)人員。讀者具有數(shù)據(jù)庫(kù)方面的基礎(chǔ)知識(shí)有助于更好地理解《SQL Server 2008編程入門(mén)經(jīng)典(第3版)》的內(nèi)容。
圖書(shū)封面
圖書(shū)標(biāo)簽Tags
無(wú)
評(píng)論、評(píng)分、閱讀與下載
SQL Server 2008編程入門(mén)經(jīng)典 PDF格式下載
250萬(wàn)本中文圖書(shū)簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書(shū)網(wǎng) 手機(jī)版