SQLServer2008編程入門經典

SQLServer2008編程入門經典

《SQL Server 2008編程入門經典》是2010年清華大學出版社出版的一本圖書,作者是Robert Vieria。

基本信息

內容簡介

《SQL Server 2008編程入門經典(第3版)》由淺入深逐步介紹了SQL Server資料庫的高級主題,重點討論了SQL Server 2008的特殊功能以及與其他編程環境的不同之處。作者Robert Vieria是Microsoft SQL,Server方面的權威,他採用通俗易懂的方法揭示了SQL Server-2008核心組件的重要更改。

《SQL Server 2008編程入門經典(第3版)》首先概述了資料庫設計的概念,介紹了如何用SQL Setver 2008實現這些基本概念。然後,講述了RDBMS(關係資料庫管理系統)的功能和它在開發系統架構方面的優勢。SQL Server 2008的新增內容和更改包括:DATE和TIME數據類型、hierarchyID數據類型、MERGE命令和多行插入,以及遞歸查詢等。《SQL Server 2008編程入門經典(第3版)》旨在幫助您快速地掌握Microsoft SQL Selwer2008的編程技術。

編輯推薦

《SQL Server 2008編程入門經典(第3版)》主要內容

RDBMS如何存儲、管理和檢索數據

創建和修改表的方法

資料庫範式的多種形式

編寫腳本和使用存儲過程的技巧

索引的優缺點

鎖和死鎖對系統性能的各種影響

理解觸發器及其使用方式

《SQL Server 2008編程入門經典(第3版)》讀者對象

《SQL Server 2008編程入門經典(第3版)》適合於希望全面了解資料庫設計概念和學習SQL的開發人員。讀者具有資料庫方面的基礎知識有助於更好地理解《SQL Server 2008編程入門經典(第3版)》的內容。

作者簡介

作者:(美國)韋拉(Rovert Vieria) 譯者:孫皓 馬煜 合著者:楊大川

韋拉(Robert Vieria),是暢銷書作者。他從1 980年開始深入學習計算技術,從構建和修復計算機軟體包,到通過Z80、Basic以及6502彙編語言進行編程。1 983年,Robert開始攻讀計算機信息系統的學位,隨後轉而研究“PC故障”並開始使用資料庫語言(從dBase到SQL Server)進行編程,於1990年獲得商業管理學位。此外,他還獲得了CMA、MCSD、MCT以及MCDBA等認證。Robert目前是俄勒岡州波蘭特市的Huron Consuiting Group的Stockarnp事務所的DBA團隊領導人,偶爾也會在資料庫開發、商業智慧型和其他主題方面發表演講。

其他責任者簡介:

楊大川,畢業於美國紐約州立大學布法羅分校計算機系,曾擔任美國矽谷Annuncio Software等公司的首席工程師,歸國後,他於2003年創辦了北京邁思奇科技有限公司並擔任技術總監,為國內外多家大中型企業提供商業智慧型諮詢和項目實施服務,並逐漸從高新技術外包開發走向了自主智慧財產權產品的研發道路。他曾被譽為微軟全球最有價值專家(MVP);2008年榮獲“中關村年度優秀創業留學人員”稱號:現擔任中國科學院軟體學院的兼職教授。

目錄

第1章 RDBMS基礎:SQLServer資料庫的構成

1.1 資料庫對象概述

1.1.1 資料庫對象

1.1.2 事務日誌

1.1.3 最基本的資料庫對象:表

1.1.4 檔案組

1.1.5 資料庫關係圖

1.1.6 視圖

1.1.7 存儲過程

1.1.8 用戶自定義函式

1.1.9 用戶和角色

1.1.10 規則

1.1.11 默認值

1.1.12 用戶自定義數據類型

1.1.13 全文目錄

1.2 SQL Server數據類型

1.3 SQL Server對象標識符

1.3.1 需要命名的對象

1.3.2 命名規則

1.4 本章小結

第2章 SQL Server管理工具

2.1 在線上叢書

2.2 SQLServer配置管理器

2.2.1 服務管理

2.2.2 網路配置

2.2.3 協定

2.2.4 客戶端

2.3 SQLServer Management Studio

2.3.1 啟動Management Studio

2.3.2 “查詢”視窗

2.4 SQL Server集成服務(SSIS)

2.5 BulkCopy Program(bcp)

2.6 SQL ServerProfiler

2.7 sqlcmd

2.8 Power Shell

2.9 本章小結

第3章 T-SQL基本語句

3.1 基本SELECT語句

3.1.1 SELECT語句與FROM子句

3.1.2 WHERE子句

3.1.3 ORDERBY子句

3.1.4 使用GROUPBY子句聚合數據

3.1.5 使用HAVING子句給分組設定條件

3.1.6 使用FORXML子句輸出XML

3.1.7 通過OPTION子句利用提示

3.1.8 DISTINCT和ALL謂詞

3.2 使用INSERT語句添加數據

3.2.1 多行插入

3.2.2 INSERTINTOSELECT語句

3.3 用UPDATE語句更改數據

3.4 DELETE語句

3.5 本章小結

3.6 練習

第4章 連線

4.1 連線

4.2 內部連線

4.3 外部連線

4.3.1 簡單的外部連線

4.3.2 處理更複雜的外部連線

4.4 完全連線

4.5 交叉連線

4.6 JOIN語句的早期語法結構

4.6.1 內部連線的早期語法結構

4.6.2 外部連線的早期語法結構

4.6.3 交叉連線的早期語法結構

4.7 聯合

4.8 本章小結

4.9 練習

第5章 創建和修改數據表

5.1 SQLserver中的對象名

5.1.1 模式名

5.1.2 資料庫名

5.1.3 通過伺服器命名

5.1.4 回顧默認值

5.2CREATE語句

5.2.1 CREATEDATAASE

5.2.2 CREATETABLE

5.3ALTER語句

5.3.1 AITERDATABASE

5.3.2 ALTERTABLE

5.4DROP語句

5.5 使用GUI工具

5.5.1 使用ManagementStudio創建資料庫

5.5.2 回到代碼:使用MariagementStudio創建腳本的基礎知識

5.6 本章小結

5.7 練習

第6章 約束

6.1 約束的類型

6.1.1 域約束

6.1.2 實體約束

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語句中定義DEFAULT約束

6.5.2 在已存在的表中添加DEFAUIT約束

6.6 禁用約束

6.6.1 在創建約束時忽略無效的數據

6.6.2 臨時禁用已存在的約束

6.7 規則和默認值

6.7.1 規則

6.7.2 默認值

6.7.3 確定哪個表和數據類型使用給定的規則或默認值

6.8 用於實現數據完整性的觸發器

6.9 如何選擇

6.1 0本章小結

第7章 更複雜的查詢

7.1 子查詢的概念

7.2關聯子查詢

7.2.1 關聯子查詢的工作原理

7.2.2 在WHERE子句中的關聯子查詢

7.2.3 處理NULL數據——ISNULL函式

7.3派生表

7.4 EXISTS運算符

7.5 混合數據類型:CAST和CONVERT

7.6 MERGE命令

7.6.1 BYl.ARGET和BYSOURCE

7.6.2 OUTPUT子句

7.7 性能方面的考慮

7.8 本章小結

7.9 練習

第8章 規範化和其他基本設計問題

8.1 表

8.2 保持數據“規範

8.2.1 準備工作

8.2.2第一範式

8.2.3 第二範式

8.2.4 第三範式

8.2.5 其他範式

8.3 關係

8.3.1 一對一關係

8.3.2 一對一或一對多關係

8.3.3多對多關係

8.4 資料庫關係圖

8.4.1 表

8.4.2 添加和刪除表

8.4.3 關係

8.5 反規範化

8.6 超出規範化的一些規則

8.6.1 保持簡單

8.6.2 選擇數據類型

8.6.3 儘量進行存儲

8.7 創建一個快速示例

8.7.1 創建資料庫

8.7.2 添加資料庫關係圖和初始表

8.7.3 添加關係

8.7.4 添加一些約束

8.8 本章小結

8.9 練習

第9章 SQLServer存儲和索引結構

9.1 SQLServer存儲機制

9.1.1 資料庫

9.1.2 區段

9.1.3 頁

9.1.4 行

9.1.5 稀疏列

9.2 理解索引

9.2.1 平衡樹(B.樹)

9.2.2 SQLServer中訪問數據的方式

9.3 創建、修改和刪除索引

9.3.1 CREATEINDEX語句

9.3.2 創建XML索引

9.3.3 隨約束創建的隱含索引

9.3.4 在稀疏列和地理空間列上創建索引

9.4 明智地選擇——在何時何地使用何種索引

9.4.1 選擇性

9.4.2 注意成本

9.4.3 選擇群集索引

9.4.4 列順序問題

9.4.5 修改索引

9.4.6 刪除索引

9.4.7 從查詢計畫中獲取提示

9.4.8 使用資料庫引擎調整嚮導

9.5 維護索引

9.5.1 碎片

9.5.2 確定碎片和頁拆分的可能性

9.6 本章小結

9.7 練習

第10章 視圖

10.1 簡單的視圖

10.2 更加複雜的視圖

10.3 使用T-SOL編輯視圖

10.4 刪除視圖

10.5 在MaliagementStudio中創建和編輯視圖

10.6 審查:顯示現有的代碼

10.7 保護代碼:加密視圖

10.8 關於模式綁定

10.9 使用VIEWMETADATA使視圖看起來像表一樣

10.10 索引(物化)視圖

10.11 本章小結

10.12 練習

第11章 編寫腳本和批處理

11.1 腳本的基礎知識

11.1.1 USE語句

11.1.2 聲明變數

11.1.3 使用@@IDENTITY

11.1.4 使用@@ROWCOUNT

11.2 批處理

11.2.1 批處理中的錯誤

11.2.2 何時使用批處理

11.3 sqlcmd

11.4 動態SQL:用ExEC命令動態生成代碼

11.5 控制流語句

11.5.1 IFELSE語句

11.5.2 CASE語句

11.5.3 用WHILE語句進行循環

11.5.4 WAITOR語句

11.5.5 TRY/CATCH塊

11.6 本章小結

11.7 練習

第12章 存儲過程

12.1 創建存儲過程:基本語法

12.2 使用ALTER修改存儲過程

12.3 刪除存儲過程

12.4 參數化

12.5 通過返回值確認成功或失敗

12.6 錯誤處理

12.6.1 以前的方式

12.6.2 在錯誤發生前處理錯誤

12.6.3 手動引發錯誤

12.6.4 添加自定義的錯誤訊息

12.7 存儲過程的優點

12.7.1 創建可調用的進程

12.7.2 為了安傘性使用存儲過程

12.7.3 存儲過程和性能

12.8 擴展存儲過程(XP)

12.9 遞歸簡介

12.10 調試

12.10.1 啟動調試器

12.10.2 調試器的組成

12.10.3 使用調試器

12.11 .NET程式集

12.12 本章小結

第13章 用戶自定義函式

13.1 UDF的定義

13.2 返回標量值的uDF

13.3 返回表的UDF

13.4 調試用戶自定義函式

13.5 資料庫中的.NET

13.6 本章小結

13.7 練習

第14章 事務和鎖

14.1 事務

14.1.1 BEGINTRAN

14.1.2 COMMITTRAN

14.1.3 ROLLBACKTRAN

14.1.4 SAVETRAN

14.2 SQLServer日誌的工作方式

14.2.1 失敗和恢復

14.2.2 隱式事務

14.3 鎖和並發

14.3.1 通過鎖可以防止的問題

14.3.2 可以鎖定的資源

14.3.3 鎖升級和鎖對性能的影響

14.3.4 鎖定模式

14.3.5 鎖的兼容性

14.3.6 指定一種特有的鎖定類型——最佳化器提示

14.4 設定隔離級別

14.5 處理死鎖(1205錯誤)

……

第15章 觸發器

第16章 初識XML

第17章reporting services

第18章 使用Integration Services進行集成

第19章 扮演管理員的角色

附錄

序言

正如我曾說過的,寫書的經歷奇特而漫長。早在1999年,當我首次編寫Professional SQL Server 7.0Programming一書時,無論是書籍還是程式開發環境都與今天的情況截然不同。那時,.NET尚未出現,Visual Studio 98是當時最流行的開發環境,Java開發環境正被廣泛使用,而像Delphi這樣可供選擇的開發工具也比現在更具競爭力。現在正快速進入所謂的.corn時代,資料庫管理系統(DBMS,如SQL Server)的使用也在呈指數增長。

然而,卻存在一個問題。雖然我們可以找到一些有關SQL Server的書籍,但這些書籍都面向資料庫管理員。這些書籍的作者將大量的時間和精力花費在了普通開發人員幾乎不關注的內容上。事實上,對於一些無能為力的事情,我們必須放棄。就像迫切需要解決的全球飢餓或核擴散問題,因為我們根本無力解決,但我們完全能夠編寫一些面向開發人員的有關SQL的新書籍。

當時我寫了Professional SQL Servet 7.0 Programming一書,內容可謂包羅萬象,從基礎內容到高級內容,適合於各類讀者。但其造就的結果就是書特別的厚。

第一本書SQL Server2005發行後,我們計畫重新編寫SQL Server的第二次修訂版本,但再次碰到了一個問題:有關高級編程的內容實在是太多了,以至於無法用一本書來涵蓋全部內容。SQL Server 2005的新增內容也很多,要全放在一本書中介紹實屬不易(幾乎走出了一本書的範圍),因此我們決定將原來的“高級編程”系列叢書分成“入門經典”和“高級編程”篇。儘管我們花了大量精力去進行拆分,但仍有不少內容重疊。SQL Server2008又增加了一些新功能,不過這樣一來,我們可以使得“高級編程”篇面向高級讀者,而“入門經典”篇內容也更加豐富。

相關詞條

相關搜尋

熱門詞條

聯絡我們