內容簡介
全書由6部分組成:第1部分為資料庫的基礎篇,介紹了資料庫的類型、概念、對象、SQL語言等;第2部分為SQLServer 2008的準備篇,介紹了SQL Server 2008的功能、特性、各版本的比較、安裝方法、SQL Server 2008的服務、客戶端的工具等;第3部分為SQL Server 2008的基本操作篇,介紹如何管理與配置SQL Server 2008伺服器、如何創建資料庫和數據表、如何對資料庫里的數據進行操作;第4部分為資料庫管理篇,介紹如何使用T-SQL程式對數據進行複雜的運算,以及如何使用視圖、存儲過程、觸發器、索引、用戶定義數據類型、用戶定義函式、全文索引、游標、事務和鎖、統計信息和同義詞等方面的知識;第5部分為SQL Server高級技術,介紹如何進行資料庫備份與恢復、如何規劃資料庫、如何保證資料庫的安全、複製與發布、自動化管理、如何使用性能工具最佳化資料庫、數據的導入導出、SQL Server郵件的使用、Analysis Services、reporting services、SQL Server與XML的套用,以及如何使用客戶端和應用程式訪問SQL Server;第6部分為SQL Server 2008改進篇,介紹了SQL Server 2008相對於之前版本進行了哪些方面的重大改進和最佳化,進一步幫助讀者了解SQL Server 2008更多的獨有特性。
圖書目錄
第1部分 基礎篇1
第1章 認識資料庫2
1.1 資料庫的類型2
1.1.1 結構型資料庫2
1.1.2 網路型資料庫2
1.1.3 關係型資料庫2
1.1.4 面向對象型資料庫3
1.2 資料庫的基本概念3
1.2.1 數據3
1.2.2 資料庫3
1.2.3 資料庫管理系統3
1.2.4 資料庫系統3
1.3 常見的資料庫對象3
1.3.1 表與記錄4
1.3.2 主鍵與外鍵4
1.3.3 索引4
1.3.4 約束5
1.3.5 視圖5
1.3.6 關係圖5
1.3.7 默認值5
1.3.8 規則5
1.3.9 存儲過程6
1.3.10 觸發器6
1.3.11 用戶和角色6
1.4 資料庫管理系統的基本功能6
1.4.1 定義數據6
1.4.2 處理數據6
1.4.3 保證數據安全6
1.4.4 備份和恢複數據6
1.5 SQL語言簡介6
1.5.1 SQL語言的歷史7
1.5.2 SQL語言的優點7
1.5.3 SQL語言分類7
1.6 資料庫系統的用戶8
1.7 小結8
第2章 SQLServer2008簡介及安裝9
2.1 SQLServer2008簡介9
2.1.1 SQLServer2008數據平台9
2.1.2 使用SQLServer2008能獲得的好處10
2.2 SQLServer2008新特性10
2.3 SQLServer2008新功能11
2.3.1 可信任性11
2.3.2 開發和管理生產效率12
2.3.3 商業智慧型13
2.4 SQLServer2008各版本比較15
2.4.1 可擴展性15
2.4.2 高可用性15
2.4.3 安全性16
2.4.4 複製16
2.4.5 可管理性16
2.4.6 管理工具16
2.4.7 開發工具17
2.4.8 可程式性17
2.4.9 空間和位置服務17
2.4.10IntegrationServices18
2.4.1 1數據倉庫創建18
2.4.1 2數據倉庫規模和性能18
2.4.1 3多維分析19
2.4.1 4數據挖掘19
2.4.1 5報表19
2.5 安裝SQLServer2008的系統要求20
2.5.1 CPU與記憶體要求20
2.5.2 硬碟空間要求20
2.5.3 作業系統要求20
2.5.4 其他要求22
2.7.1 升級之前要考慮的問題33
2.7.2 升級注意事項34
2.7.3 使用SQLServer2008升級顧問35
3.1 伺服器上的後台服務42
3.1.1 SQLServer服務43
3.1.2 SQLServerActiveDirectoryHelper服務43
3.1.3 SQLServerAgent服務43
3.1.4 SQLServerAnalysisServices服務43
3.1.5 SQLServerBrowser服務44
3.1.6 SQLServerFullTextSearch服務44
3.1.7 SQLServerIntegrationServices服務44
3.1.8 SQLServerReportingServices服務44
3.1.9 SQLServerVSSWriter服務45
3.2 客戶端上的管理工具45
3.2.1 SQLServerManagementStudio45
3.2.2 ReportingServices配置45
3.2.3 SQLServerConfigurationManager47
3.2.4 SQLServer錯誤和使用情況報告48
3.2.5 SQLServerProfiler49
3.2.6 資料庫引擎最佳化顧問50
3.2.7 VisualStudio200852
3.2.8 SQLServerBusinessIntelligenceDevelopmentStudio52
3.3 SQLServerManagementStudio52
3.3.1 認識SQLServerManagementStudio的界面53
3.3.2 更改SQLServerManagementStudio的界面布局53
3.3.3 使用查詢編輯器53
3.3.4 利用編輯器自動生成查詢語句54
3.3.5 脫機編寫SQL語句後連線到伺服器55
3.3.6 全螢幕顯示查詢編輯器55
3.3.7 使用模板編寫SQL語句56
3.3.8 創建自定義模板57
3.3.9 使用項目腳本和解決方案58
3.4 示例資料庫59
3.4.1 SQLServer2008示例資料庫59
3.4.2 本書示例資料庫61
3.5 小結61
第3部分 基礎操作篇63
第4章 資料庫伺服器管理64
4.1 資料庫伺服器的工作模式64
4.1.1 C/S模式64
4.1.2 B/S模式65
4.2 連線與斷開資料庫伺服器65
4.2.1 用SQLServerManagementStudio連線伺服器65
4.2.2 在已註冊的伺服器里添加伺服器組與伺服器68
4.2.3 使用對象資源管理器連線伺服器72
4.2.4 通過伺服器註冊連線到伺服器73
4.2.5 斷開與資料庫伺服器的連線73
4.3 使用配置管理器配置SQLServer服務74
4.3.1 啟動/停止/暫停/重新啟動服務74
4.3.2 配置服務的啟動模式76
4.3.3 更改登錄身份77
4.3.4 SQLServer2008使用的網路協定78
4.3.5 為SQLServer2008配置共享記憶體協定79
4.3.6 為SQLServer2008配置管道協定80
4.3.7 為SQLServer2008配置TCP/IP協定84
4.3.8 配置客戶端網路協定的使用順序86
4.3.9 隱藏實例87
4.4 配置遠程SQLServer服務88
4.4.1 配置遠程SQLServer服務的許可權89
4.4.2 用SQLServerManagementStudio停止和啟動遠程SQLServer服務89
4.4.3 通過已註冊的伺服器啟動遠程SQLServer服務91
4.4.4 使用SQLServer配置管理器遠程管理SQLServer服務91
4.5 配置SQLServer2008伺服器92
4.5.1 伺服器屬性的常規設定92
4.5.2 伺服器屬性的記憶體設定93
4.5.3 伺服器屬性的處理器設定94
4.5.4 伺服器屬性的安全性設定96
4.5.5 伺服器屬性的連線設定97
4.5.6 伺服器屬性的資料庫設定98
4.5.7 伺服器屬性的高級選項設定99
4.5.8 伺服器屬性的許可權設定100
4.6 通過日誌查看伺服器的運行情況101
4.6.1 在事件查看器中查看伺服器的運行情況101
4.6.2 通過日誌查看器查看SQLServer日誌102
4.6.3 在LOG資料夾中查看SQLServer錯誤日誌103
4.7 小結104
第5章 資料庫管理105
5.1 創建資料庫前的準備105
5.1.1 資料庫命名規則105
5.1.2 創建資料庫需要的許可權106
5.1.3 資料庫的所有者106
5.1.4 資料庫的上限106
5.1.5 資料庫檔案和檔案組106
5.1.6 記錄資料庫操作的事務日誌106
5.1.7 資料庫狀態107
5.2 在SQLServerManagementStudio中創建資料庫107
5.3 使用Createdatabase語句創建資料庫113
5.3.1 基本語法113
5.3.2 T-SQL中的語法約定114
5.3.3 參數講解115
5.3.4 CreateDatabase語句需要注意的功能116
5.3.5 舉例說明116
5.3.6 使用模板119
5.4 修改資料庫設定122
5.4.1 使用SQLServerManagementStudio修改資料庫設定122
5.4.2 查看資料庫的基本信息123
5.4.3 增加、刪除與修改資料庫檔案123
5.4.4 修改資料庫的所有者124
5.4.5 設定全文索引125
5.4.6 增加、刪除與修改檔案組126
5.4.7 修改資料庫的排序規則127
5.4.8 修改資料庫的兼容性128
5.4.9 限制用戶的訪問128
5.4.10設定用戶及角色對資料庫的使用許可權128
5.4.1 1修改資料庫名稱130
5.5 使用Alterdatabase語句修改資料庫131
5.5.1 基本語法131
5.5.2 參數說明131
5.5.3 Alterdatabase語句的注意事項134
5.5.4 典型案例134
5.6 分離與附加資料庫136
5.6.1 分離資料庫136
5.6.2 附加資料庫139
5.7 脫機和在線上資料庫143
5.7.1 脫機資料庫143
5.7.2 在線上資料庫144
5.8 刪除資料庫145
5.8.1 在SQLServerManagementStudi中刪除資料庫145
5.8.2 用Dropdatabase語句刪除資料庫146
5.9 收縮資料庫146
5.9.1 自動收縮資料庫147
5.9.2 手動收縮資料庫147
5.9.3 手動收縮資料庫檔案149
5.10 編寫資料庫腳本151
5.11 小結153
第6章 數據表管理154
6.1 數據表簡介154
6.1.1 數據表的分類155
6.1.2 認識列155
6.2 數據類型155
6.2.1 精確數字型156
6.2.2 近似數字型157
6.2.3 日期和時間型157
6.2.4 字元串型157
6.2.5 Unicode字元串型158
6.2.6 二進制字元串型158
6.2.7 其他數據類型159
6.2.8 用戶自定義型159
6.3 在SQLServerManagementStudio中創建表160
6.3.1 定義數據表的欄位和主鍵160
6.3.2 設定默認值162
6.3.3 設定標識列162
6.3.4 建立表與表之間的關係163
6.3.5 創建索引166
6.3.6 創建約束167
6.3.7 設定數據表所在檔案組169
6.4 用T-SQL語言創建表170
6.4.1 基本語法170
6.4.2 參數說明170
6.4.3 創建新表175
6.4.4 創建標識欄位176
6.4.5 創建帶標識種子和標識增量的標識欄位176
6.4.6 創建非Null欄位176
6.4.7 欄位的默認值177
6.4.8 將創建的表放在檔案組中177
6.4.9 使用check約束177
6.4.10 設定欄位的排序規則178
6.4.11 創建外鍵178
6.4.12 設定外鍵的更新規則和刪除規則178
6.4.13 創建Unique約束179
6.4.14 創建計算列179
6.4.15 設定數據表的約束180
6.4.16 CreateTable語句的注意事項180
6.5 在SQLServerManagementStudio中修改表180
6.5.1 修改數據表名180
6.5.2 插入、移動和刪除數據表的欄位181
6.5.3 修改欄位數據類型182
6.5.4 修改主鍵、外鍵、索引和約束182
6.5.5 修改數據表屬性182
6.6 用T-SQL語言修改數據表結構184
6.6.1 基本語法184
6.6.2 參數說明184
6.6.3 修改欄位屬性189
6.6.4 添加欄位189
6.6.5 添加欄位並設定欄位屬性189
6.6.6 刪除欄位189
6.6.7 添加約束189
6.6.8 禁用約束190
6.6.9 啟用約束190
6.6.10 刪除約束190
6.6.11 設定主鍵190
6.6.12 修改欄位名和數據表名191
6.6.13 CreateTable語句的注意事項191
6.7 在SQLServerManagementStudio中刪除表191
6.8 用DropTable刪除數據表194
6.9 編寫表腳本194
6.10 資料庫關係圖的使用195
6.10.1 創建資料庫關係圖並添加數據表195
6.10.2 添加相關聯的數據表197
6.10.3 更改數據表的顯示模式197
6.10.4 在關係圖中刪除數據表198
6.10.5 建立和刪除表與表之間的關聯198
6.10.6 保存部分修改過的數據表199
6.10.7 在關係圖中創建數據表200
6.10.8 在關係圖中修改欄位屬性201
6.10.9 在關係圖中設定或修改表的外鍵與約束201
6.11 臨時表簡介202
6.12 已分區表簡介203
6.13 小結203
第7章數據(記錄)操作204
7.1 在SQLServerManagementStudio中查看記錄204
7.1.1 選擇前1000行204
7.1.2 返回前幾條記錄204
7.2 在SQLServerManagementStudio中插入記錄205
7.3 用Insert語句插入記錄207
7.3.1 基本語法207
7.3.2 參數說明207
7.3.3 簡單的插入語句208
7.3.4 按表中不同欄位順序插入記錄208
7.3.5 插入值少於欄位數的記錄209
7.3.6 在標識列欄位里插入欄位內容209
7.3.7 從數據表中查詢記錄並插入到另一個表中209
7.3.8 從數據表中查詢部分欄位記錄並插入到另一個表中210
7.3.9 從數據表中查詢記錄插入其他表並為欄位添加固定內容210
7.3.10 在Insert語句里使用exec子句211
7.3.11 在數據中只插入默認值211
7.4 插入記錄的注意事項211
7.5 用Update語句更新記錄212
7.5.1 基本語法212
7.5.2 參數說明213
7.5.3 簡單的更新語句214
7.5.4 使用計算值更新記錄214
7.5.5 引用其他表里的欄位值更新記錄214
7.5.6 使用top子句更新記錄215
7.6 在SQLServerManagementStudio中刪除記錄215
7.7 用Delete語句刪除記錄215
7.7.1 基本語法215
7.7.2 參數說明216
7.7.3 簡單的刪除語句217
7.7.4 刪除多條記錄217
7.7.5 引用其他表里的欄位值來刪除記錄217
7.8 用TruncateTable語句刪除記錄217
7.9 用Select語句進行查詢218
7.10 用Select子句設定查詢內容218
7.10.1 基本語法218
7.10.2 參數說明219
7.10.3 查詢表中所有列219
7.10.4 查詢表中某幾列220
7.10.5 為查詢添加計算列220
7.10.6 查看最前記錄221
7.10.7 查看不重複記錄222
7.10.8 查詢表中的標識列或GUID列223
7.11 用From子句指定查詢哪些表223
7.11.1 基本語法223
7.11.2 參數說明224
7.11.3 簡單的From子句225
7.11.4 從兩個表中聯合查詢記錄225
7.11.5 從多個表中聯合查詢記錄227
7.11.6 JOIN的其他類型227
7.11.7 使用表別名229
7.11.8 表JOIN自身230
7.12 用Where子句設定查詢條件230
7.12.1 基本語法230
7.12.2 參數說明231
7.12.3 單個查詢條件232
7.12.4 設定多個查詢條件232
7.12.5 在查詢條件里使用函式233
7.12.6 查詢兩個條件之間的記錄233
7.12.7 查詢欄位內容為NULL的記錄234
7.12.8 將結果集作為查詢條件234
7.12.9 模糊查詢235
7.12.10 在模糊查詢中查詢含有通配符的文本236
7.12.11 使用EXISTS關鍵字237
7.12.12 使用ALL,ANY和SOME關鍵字237
7.13 使用Orderby子句排序238
7.13.1 基本語法238
7.13.2 參數說明239
7.13.3 按一個欄位排序239
7.13.4 按多個欄位排序239
7.14 使用Groupby子句分組239
7.14.1 基本語法240
7.14.2 參數說明240
7.14.3 Groupby的基本用法240
7.14.4 在Groupby中使用表達式241
7.14.5 使用withcube對所有欄位進行匯總241
7.14.6 使用withrollup對第一個欄位進行匯總242
7.14.7 使用Groupbyall對所有數據分組243
7.15 使用Having子句在分組中設定查詢條件243
7.15.1 基本語法244
7.15.2 使用Having對分組設定查詢條件244
7.16 使用Compute子句歸類244
7.16.1 基本語法245
7.16.2 參數說明245
7.16.3 使用Compute歸類245
7.16.4 使用Computeby歸類246
7.17 使用UNION子句合併多個查詢結果246
7.17.1 基本語法247
7.17.2 參數說明247
7.17.3 使用UNIONALL合併兩個查詢結果集248
7.17.4 使用UNION合併兩個查詢結果集248
7.17.5 使用UNION加入臨時數據248
7.17.6 在UNION的結果集裡排序248
7.17.7 在UNION的結果集裡分組249
7.18 使用Selectinto子句為查詢結果建立新表249
7.18.1 基本語法249
7.18.2 使用Selectinto創建一個新表249
7.18.3 在Selectinto中設定複雜的查詢條件250
7.18.4 使用Selectinto複製表結構250
7.19 在不同資料庫中查詢記錄251
7.20 NULL欄位的處理方法251
7.20.1 使用NULL時要注意的事項251
7.20.2 檢查欄位內容是否為NULL252
7.21 SQLServer2008語句新增功能253
7.21.1 Select語句新增功能253
7.21.2 Insert語句新增功能253
7.21.3 Update語句新增功能254
7.21.4 Delete語句新增功能255
7.22 小結255
第4部分 資料庫管理篇257
第8章 T-SQL程式258
8.1 T-SQL概述258
8.1.1 什麼是T-SQL258
8.1.2 T-SQL的語法約定258
8.2 資料庫對象的引用方法259
8.2.1 引用資料庫對象的方法259
8.2.2 架構260
8.2.3 創建自定義架構261
8.3 T-SQL中的批處理262
8.3.1 一次執行多個T-SQL語句262
8.3.2 使用GO語句分隔多個批262
8.4 T-SQL中的注釋263
8.4.1 ——注釋263
8.4.2 /*…*/注釋263
8.5 T-SQL數據類型及轉換264
8.5.1 使用CAST轉換數據類型264
8.5.2 使用CONVERT轉換數據類型265
8.5.3 隱式數據類型轉換266
8.5.4 數據類型轉換時的注意事項267
8.6 T-SQL運算符267
8.6.1 算術運算符267
8.6.2 賦值運算符268
8.6.3 位運算符268
8.6.4 比較運算符268
8.6.5 邏輯運算符268
8.6.6 字元串串聯運算符269
8.6.7一元運算符269
8.7 運算符的優先權269
8.8 T-SQL中的常量270
8.8.1 字元串常量270
8.8.2 Unicode常量270
8.8.3 二進制常量270
8.8.4 bit常量271
8.8.5 datetime常量271
8.8.6 integer常量271
8.8.7 decimal常量271
8.8.8float和real常量271
8.8.9 money常量271
……
第9章 視圖296
第10章 存儲過程311
第11章 觸發器340
第12章 索引371
第13章 用戶定義數據類型和函式396
第14章 全文索引411
第15章 游標438
第16章 事務與鎖460
第17章 其他數據對象477
第5部分 SQLServer高級技術篇491
第18章 資料庫備份與恢復492
第19章 系統資料庫與用戶資料庫520
第20章 SQLServer2008的安全530
第21章 複製與發布547
第22章 SQLServer的自動化管理565
第23章 SQLServer的性能工具584
第24章 SQLServer郵件590
第25章 數據導入與導出601
第26章 AnalysisServices607
第27章 ReportingServices624
第28章 SQLServer與XML634
第29章 客戶端及應用程式訪問SQLServer的方式666
第6部分 SQLServer2008改進篇673
第30章 對T-SQL的改進674
第31章 數據存儲和數據類型695
第32章 安全性的增強735
第33章 SQLServerIntegrationService754
第34章 分析服務的改進773
第35章 報表服務的改進785