《sql server從入門到精通(第2版)》從初學(xué)者角度出發(fā),通過通俗易懂的語言、豐富多彩的實例,詳細(xì)介紹了SQL Server 2012開發(fā)應(yīng)該掌握的各方面技術(shù)。《SQL Server從入門到精通(第2版)》共分為4篇20章,包括數(shù)據(jù)庫基礎(chǔ)、初識SQL Server 2012、SQL Server 2012服務(wù)的啟動與注冊、創(chuàng)建與管理數(shù)據(jù)庫、操作數(shù)據(jù)表、SQL基礎(chǔ)、SQL函數(shù)的使用、SQL數(shù)據(jù)查詢基礎(chǔ)、SQL數(shù)據(jù)高級查詢、視圖的使用、存儲過程、觸發(fā)器、游標(biāo)的使用、索引與數(shù)據(jù)完整性、SQL中的事務(wù)、維護SQL Server 2012、數(shù)據(jù)庫的安全機制、Visual C++ + SQL Server實現(xiàn)圖書管理系統(tǒng)、C# + SQL Server實現(xiàn)企業(yè)人事管理系統(tǒng)、Java + SQL Server實現(xiàn)企業(yè)進銷存管理系統(tǒng)等。所有知識都結(jié)合具體實例進行介紹,涉及的程序代碼給出了詳細(xì)的注釋,讀者可以輕松領(lǐng)會SQL Server 2012的精髓,快速提高開發(fā)技能。
《sql server從入門到精通(第2版)》內(nèi)容詳盡,實例豐富,非常適合作為編程初學(xué)者的學(xué)習(xí)用書,也適合作為開發(fā)人員的查閱、參考資料。 明日科技,是一家專業(yè)從事軟件開發(fā)、教育培訓(xùn)以及軟件開發(fā)教育資源整合的高科技公司,其編寫的教材既注重選取軟件開發(fā)中的必需、常用內(nèi)容,又注重內(nèi)容的易學(xué)、方便以及相關(guān)知識的拓展,深受讀者喜愛。其編寫的圖書主要有“軟件開發(fā)視頻大講堂”“軟件開發(fā)實戰(zhàn)1200例”“軟件工程師開發(fā)大系”等系列。多次榮獲“全行業(yè)暢銷品種”“中國大學(xué)出版社暢銷書”等獎項,多個品種長期位居同類圖書銷售排行榜的前列。
叢書說明:“軟件開發(fā)視頻大講堂”叢書(第1版)于2008年8月出版,因其編寫細(xì)膩,易學(xué)實用,配備全程視頻等,在軟件開發(fā)類圖書市場上產(chǎn)生了很大反響,絕大部分品種在全國軟件開發(fā)零售圖書排行榜中名列前茅,2009年多個品種被評為“全國優(yōu)秀暢銷書”。
“軟件開發(fā)視頻大講堂”叢書(第2版)于2010年8月出版,出版后,絕大部分品種在全國軟件開發(fā)類零售圖書排行榜中依然名列前茅。叢書中多個品種被百余所高校計算機相關(guān)專業(yè)、軟件學(xué)院選為教學(xué)參考書,在眾多的軟件開發(fā)類圖書中成為最耀眼的品牌之一。叢書累計銷售40多萬冊。
“軟件開發(fā)視頻大講堂”叢書(第3版)于2012年8月出版,根據(jù)讀者需要,增刪了品種,重新錄制了視頻,提供了從“入門學(xué)習(xí)→實例應(yīng)用→模塊開發(fā)→項目開發(fā)→能力測試→面試”等各個階段的海量開發(fā)資源庫。因叢書編寫結(jié)構(gòu)合理、實例選擇經(jīng)典實用,叢書迄今累計銷售90多萬冊。
“軟件開發(fā)視頻大講堂”叢書(第4版)在繼承前3版所有優(yōu)點的基礎(chǔ)上,修正了前3版圖書中發(fā)現(xiàn)的疏漏之處,并結(jié)合目前市場需要,進一步對叢書品種進行了完善,對相關(guān)內(nèi)容進行了更新優(yōu)化,使之更適合讀者學(xué)習(xí),為了方便教學(xué),還提供了教學(xué)課件PPT。
SQLServer是由美國微軟公司制作并發(fā)布的一種性能優(yōu)越的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(RelationalDatabaseManagementSystem,RDBMS),因其具有良好的數(shù)據(jù)庫設(shè)計、管理與網(wǎng)絡(luò)功能,又與Windows、Windows2000以及WindowsXP系統(tǒng)緊密集成,因此成為數(shù)據(jù)庫產(chǎn)品的首選。
本書內(nèi)容
本書提供了從入門到編程高手所必備的各類知識,共分為4篇,大體結(jié)構(gòu)如下所示。
第1篇:基礎(chǔ)知識。本篇通過數(shù)據(jù)庫基礎(chǔ)、初識SQLServer2012、SQLServer2012服務(wù)的啟動與注冊、創(chuàng)建與管理數(shù)據(jù)庫、操作數(shù)據(jù)表的內(nèi)容介紹,并結(jié)合大量的圖示、舉例、錄像等幫助讀者快速掌握SQLServer2012,并為以后的知識奠定堅實的基礎(chǔ)。
第2篇:核心技術(shù)。本篇介紹SQL基礎(chǔ)、SQL函數(shù)的使用、SQL數(shù)據(jù)查詢基礎(chǔ)、SQL數(shù)據(jù)高級查詢、視圖的使用等。學(xué)習(xí)完這一部分,能夠了解和熟悉T-SQL及常用的函數(shù),使用T-SQL操作SQLServer2012數(shù)據(jù)庫中的視圖,掌握SQL查詢、子查詢、嵌套查詢、聯(lián)接查詢的用法等。
第3篇:高級應(yīng)用。本篇介紹存儲過程、觸發(fā)器、游標(biāo)的使用、索引與數(shù)據(jù)完整性、SQL中的事務(wù)、維護SQLServer2012、數(shù)據(jù)庫的安全機制等。學(xué)習(xí)完這一部分,能夠使用索引優(yōu)化數(shù)據(jù)庫查詢;使用存儲過程、觸發(fā)器、游標(biāo)、事務(wù)等編寫SQL語句,不僅可以優(yōu)化查詢,還可以提高數(shù)據(jù)訪問速度;更好地維護SQLServer2012及其安全。
第4篇:項目實戰(zhàn)。本篇分別使用VisualC++、C#、Java3種語言,結(jié)合SQLServer2012實現(xiàn)了3個大型、完整的管理系統(tǒng),通過這3個項目,運用軟件工程的設(shè)計思想,幫助讀者學(xué)習(xí)如何進行軟件項目的實踐開發(fā)。書中按照編寫系統(tǒng)分析→系統(tǒng)設(shè)計→數(shù)據(jù)庫與數(shù)據(jù)表設(shè)計→公共類設(shè)計→創(chuàng)建項目→實現(xiàn)項目→項目總結(jié)的過程進行介紹,帶領(lǐng)讀者一步一步親身體驗開發(fā)項目的全過程。
本書特點
由淺入深,循序漸進:本書以初、中級程序員為對象,先從SQLServer基礎(chǔ)學(xué)起,再學(xué)習(xí)SQLServer的核心技術(shù),然后學(xué)習(xí)SQLServer的高級應(yīng)用,最后學(xué)習(xí)分別使用VisualC++、C#、Java等語言結(jié)合SQLServer2012開發(fā)完整項目。講解過程中步驟詳盡,版式新穎,在操作的內(nèi)容圖片上以“???…”編號+內(nèi)容的方式進行標(biāo)注,讓讀者在閱讀中一目了然,從而快速把握書中內(nèi)容。
語音視頻,講解詳盡:書中每一章節(jié)均提供聲圖并茂的教學(xué)視頻,讀者可以在光盤中找到相應(yīng)章節(jié)的視頻。這些視頻能夠引導(dǎo)初學(xué)者快速入門,感受編程的快樂和成就感,增強進一步學(xué)習(xí)的信心,從而快速成為編程高手。
實例典型,輕松易學(xué):通過例子學(xué)習(xí)是最好的學(xué)習(xí)方式,本書通過一個知識點、一個例子、一個結(jié)果、一段評析、一個綜合應(yīng)用的模式,透徹詳盡地講述了實際開發(fā)中所需的各類知識。
精彩欄目,貼心提醒:本書根據(jù)需要在各章使用了很多“注意”“說明”等小欄目,讓讀者可以在學(xué)習(xí)過程中更輕松地理解相關(guān)知識點及概念,并輕松地掌握個別技術(shù)的應(yīng)用技巧。
應(yīng)用實踐,隨時練習(xí):書中幾乎每章都提供了“實踐與練習(xí)”,讀者能夠通過對問題的解答重新回顧、熟悉所學(xué)的知識,舉一反三,為進一步學(xué)習(xí)做好充分的準(zhǔn)備。
讀者對象
初學(xué)編程的自學(xué)者?編程愛好者
大中專院校的老師和學(xué)生?相關(guān)培訓(xùn)機構(gòu)的老師和學(xué)員
畢業(yè)設(shè)計的學(xué)生?初中級程序開發(fā)人員
程序測試及維護人員?參加實習(xí)的“菜鳥”程序員
編者
第1篇 基 礎(chǔ) 知 識
第1章 數(shù)據(jù)庫基礎(chǔ)
視頻講解:26分鐘
1.1 數(shù)據(jù)庫系統(tǒng)簡介
1.1.1 數(shù)據(jù)庫技術(shù)的發(fā)展
1.1.2 數(shù)據(jù)庫系統(tǒng)的組成
1.2 數(shù)據(jù)庫的體系結(jié)構(gòu)
1.2.1 數(shù)據(jù)庫三級模式結(jié)構(gòu)
1.2.2 三級模式之間的映射
1.3 數(shù)據(jù)模型
1.3.1 數(shù)據(jù)模型的概念
1.3.2 常見的數(shù)據(jù)模型
1.3.3 關(guān)系數(shù)據(jù)庫的規(guī)范化
1.3.4 關(guān)系數(shù)據(jù)庫的設(shè)計原則
1.3.5 實體與關(guān)系
1.4 常見關(guān)系數(shù)據(jù)庫
1.4.1 Access數(shù)據(jù)庫
1.4.2 SQL Server 2000數(shù)據(jù)庫
1.4.3 SQL Server 2005數(shù)據(jù)庫
1.4.4 SQL Server 2008數(shù)據(jù)庫
1.4.5 SQL Server 2012數(shù)據(jù)庫
1.4.6 Oracle數(shù)據(jù)庫
1.5 小結(jié)
1.6 實踐與練習(xí)
第2章 初識SQL Server 2012
視頻講解:33分鐘
2.1 SQL Server 2012簡介
2.2 SQL Server 2012的特點
2.3 SQL Server 2012的安裝與卸載
2.3.1 SQL Server 2012安裝必備
2.3.2 SQL Server 2012的安裝
2.3.3 SQL Server 2012的卸載
2.4 使用SQL Server 2012的幫助
2.5 小結(jié)
2.6 實踐與練習(xí)
第3章 SQL Server 2012服務(wù)的啟動與注冊
3.1 SQL Server 2012的服務(wù)
3.2 啟動SQL Server 2012服務(wù)
3.2.1 后臺啟動服務(wù)
3.2.2 通過配置管理器啟動
3.3 注冊SQL Server 2012服務(wù)器
3.3.1 創(chuàng)建與刪除服務(wù)器組
3.3.2 注冊與刪除服務(wù)器
3.4 小結(jié)
3.5 實踐與練習(xí)
第4章 創(chuàng)建與管理數(shù)據(jù)庫
視頻講解:35分鐘
4.1 認(rèn)識數(shù)據(jù)庫
4.1.1 數(shù)據(jù)庫基本概念
4.1.2 數(shù)據(jù)庫常用對象
4.1.3 數(shù)據(jù)庫組成
4.1.4 系統(tǒng)數(shù)據(jù)庫
4.2 SQL Server的命名規(guī)則
4.2.1 標(biāo)識符
4.2.2 對象命名規(guī)則
4.2.3 實例命名規(guī)則
4.3 數(shù)據(jù)庫的創(chuàng)建與管理
4.3.1 創(chuàng)建數(shù)據(jù)庫
4.3.2 修改數(shù)據(jù)庫
4.3.3 刪除數(shù)據(jù)庫
4.4 小結(jié)
4.5 實踐與練習(xí)
第5章 操作數(shù)據(jù)表
視頻講解:78分鐘
5.1 數(shù)據(jù)表基礎(chǔ)
5.1.1 基本數(shù)據(jù)類型
5.1.2 用戶自定義數(shù)據(jù)類型
5.1.3 數(shù)據(jù)表的數(shù)據(jù)完整性
5.2 數(shù)據(jù)表的創(chuàng)建與管理
5.2.1 以界面方式操作數(shù)據(jù)表
5.2.2 使用CREATE TABLE語句創(chuàng)建表
5.2.3 使用ALTER TABLE語句修改表結(jié)構(gòu)
5.2.4 使用DROP TABLE語句刪除表
5.3 管理數(shù)據(jù)
5.3.1 使用INSERT語句添加數(shù)據(jù)
5.3.2 使用UPDATE語句修改數(shù)據(jù)
5.3.3 使用DELETE語句刪除數(shù)據(jù)
5.4 創(chuàng)建、刪除和修改約束
5.4.1 非空約束
5.4.2 主鍵約束
5.4.3 唯一約束
5.4.4 檢查約束
5.4.5 默認(rèn)約束
5.4.6 外鍵約束
5.5 關(guān)系的創(chuàng)建與維護
5.5.1 一對一關(guān)系
5.5.2 一對多關(guān)系
5.5.3 多對多關(guān)系
5.6 小結(jié)
5.7 實踐與練習(xí)
第2篇 核 心 技 術(shù)
第6章 SQL基礎(chǔ)
視頻講解:51分鐘
6.1 T-SQL概述
6.1.1 T-SQL的組成
6.1.2 T-SQL語句結(jié)構(gòu)
6.1.3 T-SQL語句分類
6.2 常量
6.2.1 數(shù)字常量
6.2.2 字符串常量
6.2.3 日期和時間常量
6.2.4 符號常量
6.3 變量
6.3.1 局部變量
6.3.2 全局變量
6.4 注釋符、運算符與通配符
6.4.1 注釋符
6.4.2 運算符
6.4.3 通配符
6.5 流程控制
6.5.1 BEGIN…END
6.5.2 IF
6.5.3 IF…ELSE
6.5.4 CASE
6.5.5 WHILE
6.5.6 WHILE…CONTINUE…BREAK
6.5.7 RETURN
6.5.8 GOTO
6.5.9 WAITFOR
6.6 常用命令
6.6.1 DBCC
6.6.2 CHECKPOINT
6.6.3 DECLARE
6.6.4 PRINT
6.6.5 RAISERROR
6.6.6 READTEXT
6.6.7 BACKUP
6.6.8 RESTORE
6.6.9 SELECT
6.6.10 SET
6.6.11 SHUTDOWN
6.6.12 WRITETEXT
6.6.13 USE
6.7 小結(jié)
6.8 實踐與練習(xí)
第7章 SQL函數(shù)的使用
視頻講解:43分鐘
7.1 聚合函數(shù)
7.1.1 聚合函數(shù)概述
7.1.2 SUM(求和)函數(shù)
7.1.3 AVG(平均值)函數(shù)
7.1.4 MIN(最小值)函數(shù)
7.1.5 MAX(最大值)函數(shù)
7.1.6 COUNT(統(tǒng)計)函數(shù)
7.1.7 DISTINCT(取不重復(fù)記錄)函數(shù)
7.1.8 查詢重復(fù)記錄
7.2 數(shù)學(xué)函數(shù)
7.2.1 數(shù)學(xué)函數(shù)概述
7.2.2 ABS(絕對值)函數(shù)
7.2.3 PI(圓周率)函數(shù)
7.2.4 POWER(乘方)函數(shù)
7.2.5 RAND(隨機浮點數(shù))函數(shù)
7.2.6 ROUND(四舍五入)函數(shù)
7.2.7 SQUARE(平方)函數(shù)和SQRT(平方根)函數(shù)
7.2.8 三角函數(shù)
7.3 字符串函數(shù)
7.3.1 字符串函數(shù)概述
7.3.2 ASCII(獲取ASCII碼)函數(shù)
7.3.3 CHARINDEX(返回字符串的起始位置)函數(shù)
7.3.4 LEFT(取左邊指定個數(shù)的字符)函數(shù)
7.3.5 RIGHT(取右邊指定個數(shù)的字符)函數(shù)
7.3.6 LEN(返回字符個數(shù))函數(shù)
7.3.7 REPLACE(替換字符串)函數(shù)
7.3.8 REVERSE(返回字符表達式的反轉(zhuǎn))函數(shù)
7.3.9 STR函數(shù)
7.3.10 SUBSTRING(取字符串)函數(shù)
7.4 日期和時間函數(shù)
7.4.1 日期和時間函數(shù)概述
7.4.2 GETDATE(返回當(dāng)前系統(tǒng)日期和時間)函數(shù)
7.4.3 DAY(返回指定日期的天)函數(shù)
7.4.4 MONTH(返回指定日期的月)函數(shù)
7.4.5 YEAR(返回指定日期的年)函數(shù)
7.4.6 DATEDIFF(返回日期和時間的邊界數(shù))函數(shù)
7.4.7 DATEADD(添加日期時間)函數(shù)
7.5 轉(zhuǎn)換函數(shù)
7.5.1 轉(zhuǎn)換函數(shù)概述
7.5.2 CAST函數(shù)
7.5.3 CONVERT函數(shù)
7.6 元數(shù)據(jù)函數(shù)
7.6.1 元數(shù)據(jù)函數(shù)概述
7.6.2 COL_LENGTH函數(shù)
7.6.3 COL_NAME函數(shù)
7.6.4 DB_NAME函數(shù)
7.7 小結(jié)
7.8 實踐與練習(xí)
第8章 SQL數(shù)據(jù)查詢基礎(chǔ)
視頻講解:48分鐘
8.1 SELECT檢索數(shù)據(jù)
8.1.1 SELECT語句的基本結(jié)構(gòu)
8.1.2 WITH子句
8.1.3 SELECT…FROM子句
8.1.4 INTO子句
8.1.5 WHERE子句
8.1.6 GROUP BY子句
8.1.7 HAVING子句
8.1.8 ORDER BY子句
8.1.9 COMPUTE子句
8.1.10 DISTINCT關(guān)鍵字
8.1.11 TOP關(guān)鍵字
8.2 UNION合并多個查詢結(jié)果
8.2.1 UNION與聯(lián)接之間的區(qū)別
8.2.2 使用UNION ALL合并表
8.2.3 UNION中的ORDER BY子句
8.2.4 UNION中的自動數(shù)據(jù)類型轉(zhuǎn)換
8.2.5 使用UNION合并不同類型的數(shù)據(jù)
8.2.6 使用UNION合并有不同列數(shù)的兩個表
8.2.7 使用UNION進行多表合并
8.3 小結(jié)
8.4 實踐與練習(xí)
第9章 SQL數(shù)據(jù)高級查詢
視頻講解:26分鐘
9.1 子查詢與嵌套查詢
9.1.1 子查詢概述
9.1.2 嵌套查詢概述
9.1.3 簡單的嵌套查詢
9.1.4 帶IN的嵌套查詢
9.1.5 帶NOT IN的嵌套查詢
9.1.6 帶SOME的嵌套查詢
9.1.7 帶ANY的嵌套查詢
9.1.8 帶ALL的嵌套查詢
9.1.9 帶EXISTS的嵌套查詢
9.2 聯(lián)接查詢
9.2.1 內(nèi)部聯(lián)接
9.2.2 外部聯(lián)接
9.2.3 交叉聯(lián)接
9.2.4 聯(lián)接多表
9.3 使用CASE函數(shù)進行查詢
9.4 小結(jié)
9.5 實踐與練習(xí)
第10章 視圖的使用
視頻講解:20分鐘
10.1 視圖概述
10.2 視圖的分類與操作
10.2.1 以界面方式操作視圖
10.2.2 使用CREATE VIEW語句創(chuàng)建視圖
10.2.3 使用ALTER VIEW語句修改視圖
10.2.4 使用DROP VIEW語句刪除視圖
10.2.5 使用存儲過程sp_rename修改視圖
10.3 通過視圖操作數(shù)據(jù)
10.3.1 從視圖中瀏覽數(shù)據(jù)
10.3.2 向視圖中添加數(shù)據(jù)
10.3.3 修改視圖中的數(shù)據(jù)
10.3.4 刪除視圖中的數(shù)據(jù)
10.4 小結(jié)
10.5 實踐與練習(xí)
第3篇 高 級 應(yīng) 用
第11章 存儲過程
視頻講解:18分鐘
11.1 存儲過程概述
11.1.1 存儲過程的概念
11.1.2 存儲過程的優(yōu)點
11.2 創(chuàng)建存儲過程
11.2.1 使用向?qū)?chuàng)建存儲過程
11.2.2 使用CREATE PROC語句創(chuàng)建存儲過程
11.3 管理存儲過程
11.3.1 執(zhí)行存儲過程
11.3.2 查看存儲過程
11.3.3 修改存儲過程
11.3.4 重命名存儲過程
11.3.5 刪除存儲過程
11.4 小結(jié)
11.5 實踐與練習(xí)
第12章 觸發(fā)器
視頻講解:16分鐘
12.1 觸發(fā)器概述
12.1.1 觸發(fā)器的概念
12.1.2 觸發(fā)器的優(yōu)點
12.1.3 觸發(fā)器的種類
12.2 創(chuàng)建觸發(fā)器
12.2.1 創(chuàng)建DML觸發(fā)器
12.2.2 創(chuàng)建DDL觸發(fā)器
12.2.3 創(chuàng)建登錄觸發(fā)器
12.3 管理觸發(fā)器
12.3.1 查看觸發(fā)器
12.3.2 修改觸發(fā)器
12.3.3 重命名觸發(fā)器
12.3.4 禁用和啟用觸發(fā)器
12.3.5 刪除觸發(fā)器
12.4 小結(jié)
12.5 實踐與練習(xí)
第13章 游標(biāo)的使用
視頻講解:13分鐘
13.1 游標(biāo)的概述
13.1.1 游標(biāo)的實現(xiàn)
13.1.2 游標(biāo)的類型
13.2 游標(biāo)的基本操作
13.2.1 聲明游標(biāo)
13.2.2 打開游標(biāo)
13.2.3 讀取游標(biāo)中的數(shù)據(jù)
13.2.4 關(guān)閉游標(biāo)
13.2.5 釋放游標(biāo)
13.3 使用系統(tǒng)過程查看游標(biāo)
13.3.1 sp_cursor_list
13.3.2 sp_describe_cursor
13.4 小結(jié)
13.5 實踐與練習(xí)
第14章 索引與數(shù)據(jù)完整性
視頻講解:56分鐘
14.1 索引的概念
14.2 索引的優(yōu)缺點
14.2.1 索引的優(yōu)點
14.2.2 索引的缺點
14.3 索引的分類
14.3.1 聚集索引
14.3.2 非聚集索引
14.4 索引的操作
14.4.1 索引的創(chuàng)建
14.4.2 查看索引信息
14.4.3 索引的修改
14.4.4 索引的刪除
14.4.5 設(shè)置索引的選項
14.5 索引的分析與維護
14.5.1 索引的分析
14.5.2 索引的維護
14.6 全文索引
14.6.1 使用企業(yè)管理器啟用全文索引
14.6.2 使用Transact-SQL語句啟用全文索引
14.6.3 使用Transact-SQL語句刪除全文索引
14.6.4 全文目錄
14.6.5 全文目錄的維護
14.7 數(shù)據(jù)完整性
14.7.1 域完整性
14.7.2 實體完整性
14.7.3 引用完整性
14.7.4 用戶定義完整性
14.8 小結(jié)
14.9 實踐與練習(xí)
第15章 SQL中的事務(wù)
視頻講解:28分鐘
15.1 事務(wù)的概念
15.2 顯式事務(wù)與隱式事務(wù)
15.2.1 顯式事務(wù)
15.2.2 隱式事務(wù)
15.2.3 API中控制隱式事務(wù)
15.2.4 事務(wù)的COMMIT和ROLLBACK
15.3 使用事務(wù)
15.3.1 開始事務(wù)
15.3.2 結(jié)束事務(wù)
15.3.3 回滾事務(wù)
15.3.4 事務(wù)的工作機制
15.3.5 自動提交事務(wù)
15.3.6 事務(wù)的并發(fā)問題
15.3.7 事務(wù)的隔離級別
15.4 鎖
15.4.1 SQL Server鎖機制
15.4.2 鎖模式
15.4.3 鎖的粒度
15.4.4 查看鎖
15.4.5 死鎖
15.5 分布式事務(wù)處理
15.5.1 分布式事務(wù)簡介
15.5.2 創(chuàng)建分布式事務(wù)
15.5.3 分布式處理協(xié)調(diào)器
15.6 小結(jié)
15.7 實踐與練習(xí)
第16章 維護SQL Server 2012
視頻講解:30分鐘
16.1 脫機與聯(lián)機數(shù)據(jù)庫
16.1.1 脫機數(shù)據(jù)庫
16.1.2 聯(lián)機數(shù)據(jù)庫
16.2 分離和附加數(shù)據(jù)庫
16.2.1 分離數(shù)據(jù)庫
16.2.2 附加數(shù)據(jù)庫
16.3 導(dǎo)入導(dǎo)出數(shù)據(jù)
16.3.1 導(dǎo)入SQL Server數(shù)據(jù)表
16.3.2 導(dǎo)入其他數(shù)據(jù)源的數(shù)據(jù)
16.3.3 導(dǎo)出SQL Server數(shù)據(jù)表
16.4 備份和恢復(fù)數(shù)據(jù)庫
16.4.1 備份類型
16.4.2 恢復(fù)模式
16.4.3 備份數(shù)據(jù)庫
16.4.4 恢復(fù)數(shù)據(jù)庫
16.5 收縮數(shù)據(jù)庫和文件
16.5.1 自動收縮數(shù)據(jù)庫
16.5.2 手動收縮數(shù)據(jù)庫
16.6 生成與執(zhí)行SQL腳本
16.6.1 將數(shù)據(jù)庫生成SQL腳本
16.6.2 將數(shù)據(jù)表生成SQL腳本
16.6.3 執(zhí)行SQL腳本
16.7 小結(jié)
16.8 實踐與練習(xí)
1.靜態(tài)游標(biāo)
靜態(tài)游標(biāo)的完整結(jié)果集在游標(biāo)打開時建立在tempdb中。靜態(tài)游標(biāo)總是按照游標(biāo)打開時的原樣顯示結(jié)果集。靜態(tài)游標(biāo)在滾動期間很少或根本檢測不到變化,雖然它在tempdb中存儲了整個游標(biāo),但消耗的資源很少。盡管動態(tài)游標(biāo)使用tempdb的程度最低,在滾動期間它能夠檢測到所有變化,但消耗的資源也更多。鍵集驅(qū)動游標(biāo)介于二者之間,它能檢測到大部分的變化,但比動態(tài)游標(biāo)消耗更少的資源。
2.動態(tài)游標(biāo)
動態(tài)游標(biāo)與靜態(tài)游標(biāo)相對。當(dāng)滾動游標(biāo)時,動態(tài)游標(biāo)反映結(jié)果集中所做的所有更改。結(jié)果集中的行數(shù)據(jù)值、順序和成員在每次提取時都會改變。所有用戶做的全部UPDATE、INSERT和DELETE語句均通過游標(biāo)可見。
3.只進游標(biāo)
只進游標(biāo)不支持滾動,它只支持游標(biāo)從頭到尾順序提取。只有從數(shù)據(jù)庫中提取出來后才能進行檢索。對所有由當(dāng)前用戶發(fā)出或由其他用戶提交、并影響結(jié)果集中的行的INSERT、UPDATE和DELETE語句,其效果在這些行從游標(biāo)中提取時是可見的。
4.鍵集驅(qū)動游標(biāo)
打開游標(biāo)時,鍵集驅(qū)動游標(biāo)中的成員和行順序是固定的。鍵集驅(qū)動游標(biāo)由一套被稱為鍵集的唯一標(biāo)識符(鍵)控制。鍵由以唯一方式在結(jié)果集中標(biāo)識行的列構(gòu)成。鍵集是游標(biāo)打開時來自所有適合SELECT語句的行中的一系列鍵值。鍵集驅(qū)動游標(biāo)的鍵集在游標(biāo)打開時建立在tempdb中。對非鍵集列中的數(shù)據(jù)值所做的更改(由游標(biāo)所有者更改或其他用戶提交)在用戶滾動游標(biāo)時是可見的。在游標(biāo)外對數(shù)據(jù)庫所做的插入在游標(biāo)內(nèi)是不可見的,除非關(guān)閉并重新打開游標(biāo)。
13.2游標(biāo)的基本操作
視頻講解:光盤\TM\lx\13\游標(biāo)的基本操作.mp4
游標(biāo)的基本操作包括聲明游標(biāo)、打開游標(biāo)、讀取游標(biāo)中的數(shù)據(jù)、關(guān)閉游標(biāo)和釋放游標(biāo)。本節(jié)就詳細(xì)介紹如何操作游標(biāo)。
13.2.1聲明游標(biāo)
聲明游標(biāo)可以使用DECLARECURSOR語句。此語句有兩種語法聲明格式,分別為ISO標(biāo)準(zhǔn)語法和Transact-SQL擴展的語法,下面將分別介紹聲明游標(biāo)的兩種語法格式。
1.ISO標(biāo)準(zhǔn)語法
語法如下:
DECLAREcursor_name[INSENSITIVE][SCROLL]CURSOR
FORselect_statement
FOR{READONLY|UPDATE[OFcolumn_name[,...n]]}]
參數(shù)說明如下。
DECLAREcursor_name:指定一個游標(biāo)名稱,其游標(biāo)名稱必須符合標(biāo)識符規(guī)則。
INSENSITIVE:定義一個游標(biāo),以創(chuàng)建將由該游標(biāo)使用的數(shù)據(jù)的臨時復(fù)本。對游標(biāo)的所有請求都從tempdb中的臨時表中得到應(yīng)答;因此,在對該游標(biāo)進行提取操作時返回的數(shù)據(jù)中不反映對基表所做的修改,并且該游標(biāo)不允許修改。使用SQL-92語法時,如果省略INSENSITIVE,(任何用戶)對基表提交的刪除和更新都反映在后面的提取中。
SCROLL:指定所有的提取選項(FIRST、LAST、PRIOR、NEXT、RELATIVE、ABSOLUTE)均可用。
FIRST:取第一行數(shù)據(jù)。
LAST:取最后一行數(shù)據(jù)。
PRIOR:取前一行數(shù)據(jù)。
NEXT:取后一行數(shù)據(jù)。
RELATIVE:按相對位置取數(shù)據(jù)。
ABSOLUTE:按絕對位置取數(shù)據(jù)。
如果未指定SCROLL,則NEXT是唯一支持的提取選項。
select_statement:定義游標(biāo)結(jié)果集的標(biāo)準(zhǔn)SELECT語句。在游標(biāo)聲明的select_statement內(nèi)不允許使用關(guān)鍵字COMPUTE、COMPUTEBY、FORBROWSE和INTO。
READONLY:表明不允許游標(biāo)內(nèi)的數(shù)據(jù)被更新,盡管在默認(rèn)狀態(tài)下游標(biāo)是允許更新的。在UPDATE或DELETE語句的WHERECURRENTOF子句中不允許引用游標(biāo)。
UPDATE[OFcolumn_name[,...n]]:定義游標(biāo)內(nèi)可更新的列。如果指定OFcolumn_name[,...n]參數(shù),則只允許修改所列出的列。如果在UPDATE中未指定列的列表,則可以更新所有列。