21天學通SQL Server(第2版)

21天學通SQL Server(第2版)

《21天學通SQL Server(第2版)》是2014年1月出版的圖書,作者是秦婧。

內容簡介

SQL Server 2012是微軟SQL Server資料庫中的最新版本,在該版本的資料庫產品中融入了更多商業智慧型的內容。本書也介紹了與商業智慧型有關的一些內容。

《21天學通SQL Server(第2版)》分5篇,共21章。第一篇主要講解資料庫的基礎知識,包括資料庫的概念及安裝。第二篇講解資料庫管理的常用知識,包括資料庫的管理、表的管理、確保數據的完整性及用戶許可權的設定等內容。第三篇主要講解SQL的編程,包括T-SQL語言、存儲過程及觸發器。第四篇講解與商業智慧型有關的內容,包括集成服務、報表服務和分析服務。第五篇是綜合案例篇,分別使用·NET和Java語言實現了與SQL Server 2012的連線,並完成了圖書管理系統和線上訂餐系統。

《21天學通SQL Server(第2版)》的特點就是圍繞使用SQL Server 2012開發項目所需的知識點進行了全面的講解,使讀者通過前面章節的學習,能夠熟練運算元據庫並完成本書後兩章的項目案例。《21天學通SQL Server(第2版)》適合所有學習資料庫的人員使用。

另外,為了幫助讀者比較直觀地學習,《21天學通SQL Server(第2版)》附贈了DVD光碟,內容包括多媒體視頻、電子教案(PPT)、實例原始碼等。

編輯推薦

“21天學編程系列”自2009年1月上市以來一直受到廣大讀者的青睞。該系列中的大部分圖書從一上市就登上了編程類圖書銷售排行榜的前列,很多大中專院校也將該系列中的一些圖書作為教材使用,目前這些圖書已經多次印刷、改版。可以說,“21天學編程系列”是自2009年以來國內原創計算機編程圖書最有影響力的品牌之一。

本書有何特色

1.細緻體貼的講解

為了讓讀者更快地上手,本書特別設計了適合初學者的學習方式,用準確的語言總結概念用直觀的圖示演示過程用詳細的注釋解釋代碼用形象的比方幫助記憶。

2.實用超值的DVD光碟

為了幫助讀者比較直觀地學習,本書附帶DVD光碟,內容包括多媒體視頻、電子教案(PPT)和實例原始碼等。

3.提供完善的技術支持

目錄

第一篇 SQL Server 2012基礎篇

第1章 學習資料庫的準備 1

1.1 認識資料庫 1

1.1.1 為什麼要使用資料庫 1

1.1.2 認識資料庫產品 1

1.2 了解資料庫對象 3

1.2.1 表 3

1.2.2 視圖 3

1.2.3 索引 4

1.2.4 存儲過程 4

1.2.5 觸發器 4

1.3 認識SQL語言 4

1.3.1 什麼是SQL 4

1.3.2 SQL語言的分類 5

1.4 繪製E-R圖設計資料庫 6

1.4.1 繪製E-R圖的基本要素 6

1.4.2 E-R圖繪製實例 8

1.5 小結 10

1.6 習題 10

第2章 資料庫的安裝 12

2.1 SQL Server 2012版本介紹 12

2.1.1 SQL Server 2012伺服器版 12

2.1.2 SQL Server 2012專業版 12

2.2 SQL Server 2012軟/硬體要求 13

2.3 安裝SQL Server 2012 14

2.3.1 自己動手安裝SQL Server 2012 14

2.3.2 安裝示例資料庫 23

2.4 認識SQL Server Management Studio(企業管理器) 25

2.4.1 訪問SQL Server Management Studio 25

2.4.2 SQL Server Management Studio選單簡介 27

2.4.3 查詢編輯器視窗 28

2.4.4 對象資源管理器 28

2.4.5 SQL編輯器 29

2.5 小結 30

2.6 習題 30

第二篇 SQL Server 2012管理篇

第3章 資料庫操作 31

3.1 在SSMS中創建資料庫 31

3.1.1 資料庫命名需要注意的問題 31

3.1.2 資料庫的所有者與許可權 32

3.1.3 創建資料庫 32

3.2 在SSMS中修改資料庫配置 36

3.2.1 使用SSMS修改資料庫配置的通用步驟 36

3.2.2 在SSMS中添加資料庫檔案 37

3.2.3 在SSMS中刪除資料庫檔案 37

3.2.4 修改資料庫的所有者 38

3.2.5 限制用戶的訪問 39

3.2.6 設定用戶對資料庫的使用許可權 40

3.2.7 修改資料庫名稱 43

3.3 使用SQL語句創建、修改、刪除資料庫 43

3.3.1 用CREATE DATABASE語句創建資料庫 43

3.3.2 用ALTER DATABASE語句修改資料庫 44

3.3.3 用DROP DATABASE語句刪除資料庫 46

3.4 分離與附加資料庫 47

3.4.1 分離資料庫 47

3.4.2 附加資料庫 48

3.5 編寫資料庫腳本檔案 50

3.6 綜合練習 51

3.7 小結 53

3.8 習題 53

第4章 數據表操作 55

4.1 認識數據類型 55

4.1.1 字元型數據類型 55

4.1.2 數字型數據類型 56

4.1.3 日期和時間數據類型 57

4.1.4 其他數據類型 57

4.2 創建數據表 58

4.2.1 創建數據表的語法 58

4.2.2 創建主鍵 59

4.2.3 使用SSMS創建表 60

4.2.4 創建標識列 62

4.3 修改表結構 64

4.3.1 修改表結構的語法 64

4.3.2 在SSMS中修改表結構 66

4.4 表的刪除、截斷與重命名 67

4.4.1 使用DROP TABLE語句刪除表 67

4.4.2 截斷表 68

4.4.3 重命名表 69

4.5 小結 70

4.6 習題 70

第5章 確保數據完整性 72

5.1 認識約束 72

5.1.1 什麼是約束 72

5.1.2 約束的類型 73

5.1.3 約束的語法 74

5.2 使用約束 75

5.2.1 利用SSMS創建主鍵約束 75

5.2.2 利用T-SQL增加主鍵約束 76

5.2.3 利用SSMS創建外鍵約束 77

5.2.4 利用T-SQL增加外鍵約束 79

5.2.5 利用SSMS工具創建CHECK約束 80

5.2.6 利用T-SQL增加CHECK約束 81

5.2.7 利用SSMS工具刪除約束 81

5.3 事務的使用 82

5.3.1 什麼是事務 82

5.3.2 事務的特性 82

5.3.3 事務的模式類型 83

5.3.4 事務的保存點 85

5.4 並發控制 86

5.4.1 並發訪問的問題 86

5.4.2 SQL Server中的鎖 87

5.4.3 查看活躍事務 88

5.4.4 事務隔離級別 90

5.4.5 事務隔離級別的設定 90

5.5 事務的阻塞 91

5.6 死鎖 93

5.6.1 死鎖的產生 93

5.6.2 處理死鎖 94

5.6.3 預防死鎖 95

5.7 索引 95

5.7.1 認識索引 95

5.7.2 索引的創建 96

5.7.3 索引的管理 99

5.8 小結 101

5.9 習題 102

第6章 用戶和許可權管理 103

6.1 用戶管理 103

6.1.1 創建使用Windows身份驗證的SQL Server登錄名 103

6.1.2 創建使用SQL Server身份驗證的SQL Server登錄名 105

6.1.3 利用Transact-SQL創建登錄賬號 106

6.1.4 創建資料庫用戶 108

6.1.5 使用Transact-SQL創建資料庫用戶 108

6.1.6 登錄賬號和資料庫用戶的關係 109

6.2 認識角色 110

6.2.1 角色的劃分 110

6.2.2 創建角色 113

6.2.3 給用戶授予角色 114

6.3 認識許可權 114

6.3.1 數據控制語言語法 115

6.3.2 給用戶授予許可權 116

6.4 架構 117

6.4.1 認識架構 117

6.4.2 架構的創建使用 118

6.4.3 架構的修改刪除 120

6.5 小結 120

6.6 習題 120

第7章 數據的導入/導出與備份/恢復 122

7.1 了解SQL Server導入和導出嚮導 122

7.2 導入/導出數據 123

7.2.1 數據的導出 124

7.2.2 數據的導入 128

7.3 數據備份 130

7.3.1 認識數據備份 130

7.3.2 使用SSMS工具備份資料庫 131

7.3.3 使用SSMS工具差異備份資料庫 132

7.4 恢複數據 133

7.4.1 認識恢複數據 133

7.4.2 如何修改恢復模式 134

7.4.3 使用SSMS恢複數據庫 135

7.5 小結 136

7.6 習題 136

第8章 使用SQL Server 2012自動化管理功能 137

8.1 認識SQL Server代理 137

8.1.1 什麼是SQL Server 代理 137

8.1.2 使用SQL Server 代理 138

8.2 認識作業 139

8.2.1 什麼是作業 139

8.2.2 創建作業 139

8.2.3 管理作業 143

8.3 認識警報 146

8.3.1 創建警報 146

8.3.2 在警報中觸發作業 147

8.3.3 管理警報 148

8.4 認識操作員 149

8.4.1 創建操作員 149

8.4.2 管理操作員 150

8.5 小結 151

8.6 習題 151

第9章 查詢數據 152

9.1 在SSMS中查看數據 152

9.2 使用簡單SELECT語句查詢數據 152

9.2.1 查詢表中所有的數據 152

9.2.2 查詢表中指定欄位的數據 154

9.2.3 去除查詢結果中的重複信息 155

9.2.4 根據現有列值計算新列值 155

9.2.5 命名新列 156

9.2.6 將查詢結果保存為新表 157

9.2.7 連線欄位 158

9.3 使用SELECT語句獲取滿足查詢條件的數據 159

9.3.1 指針與欄位變數的概念 160

9.3.2 條件表達式 160

9.3.3 WHERE子句用法 162

9.3.4 根據條件查詢數值數據 163

9.3.5 根據條件查詢字元數據 165

9.3.6 根據條件查詢日期數據 166

9.3.7 按範圍查詢數據 167

9.3.8 查詢NULL值 168

9.4 排序查詢數據 168

9.4.1 按單列排序 169

9.4.2 設定排序方向 169

9.4.3 按多列排序 170

9.4.4 按欄位位置排序 170

9.4.5 查詢前5行數據 171

9.4.6 WHERE與ORDER BY的結合使用 172

9.5 高級條件查詢 172

9.5.1 AND運算符 172

9.5.2 OR運算符 173

9.5.3 AND與OR的優先順序問題 174

9.5.4 NOT運算符 175

9.5.5 IN運算符 175

9.5.6 LIKE運算符與“%”通配符 177

9.5.7 “_”通配符的使用 179

9.5.8 “[]”通配符的使用 180

9.5.9 定義轉義字元 181

9.6 小結 181

9.7 習題 182

第10章 函式與分組查詢數據 183

10.1 系統函式 183

10.1.1 聚合函式 183

10.1.2 類型轉換函式 184

10.1.3 日期函式 186

10.1.4 數學函式 188

10.1.5 字元函式 189

10.1.6 其他幾個系統函式 190

10.2 分組查詢 194

10.2.1 將表內容按列分組 194

10.2.2 聚合函式與分組配合使用 196

10.2.3 查詢數據的直方圖 197

10.2.4 排序分組結果 198

10.2.5 反轉查詢結果 198

10.2.6 使用HAVING子句設定分組查詢條件 200

10.3 小結 201

10.4 習題 201

第11章 多表連線查詢和子查詢 203

11.1 連線查詢 203

11.1.1 使用無連線規則連線兩表 203

11.1.2 使用有連線規則連線兩表 204

11.1.3 使用多表連線查詢數據 205

11.1.4 使用表別名簡化語句 206

11.1.5 使用INNER JOIN連線查詢 206

11.1.6 連線查詢實例 207

11.2 高級連線查詢 209

11.2.1 自連線查詢 209

11.2.2 內連線查詢 211

11.2.3 左外連線查詢 213

11.2.4 右外連線查詢 213

11.2.5 全外連線查詢 214

11.2.6 交叉連線查詢 214

11.2.7 連線查詢中使用聚合函式 216

11.2.8 高級連線查詢實例 217

11.3 組合查詢 219

11.3.1 使用組合查詢 220

11.3.2 使用UNION的規則 221

11.3.3 使用UNION得到複雜的統計匯總樣式 222

11.3.4 排序組合查詢的結果 223

11.3.5 組合查詢的實例 223

11.4 子查詢 224

11.4.1 使用返回單值的子查詢 225

11.4.2 子查詢與聚合函式的配合使用 226

11.4.3 子查詢的實例 226

11.5 在SSMS查詢設計器中設計查詢 227

11.6 綜合練習 229

11.7 小結 230

11.8 習題 230

第12章 插入、更新和刪除數據 232

12.1 在SSMS中插入、更新和刪除數據 232

12.1.1 插入數據 232

12.1.2 更新數據 233

12.1.3 刪除數據 233

12.2 使用INSERT語句插入數據 234

12.2.1 插入完整的行 234

12.2.2 向日期時間型欄位插入數據 235

12.2.3 將數據插入到指定欄位 236

12.2.4 將查詢結果插入表 237

12.3 使用UPDATE語句更新數據 238

12.3.1 更新單個欄位的數據 238

12.3.2 更新多個欄位的數據 239

12.3.3 使用表連線更新數據 240

12.3.4 使用UPDATE語句刪除指定欄位的數據 240

12.4 使用DELETE語句刪除數據 241

12.4.1 使用DELETE語句刪除指定記錄 241

12.4.2 在DELETE語句中使用多表連線 242

12.4.3 使用DELETE語句刪除所有記錄 243

12.5 使用TRUNCATE語句刪除所有記錄 244

12.6 綜合練習 244

12.7 小結 246

12.8 習題 246

第13章 視圖 248

13.1 視圖基礎 248

13.2 視圖的創建 250

13.2.1 在SSMS中創建視圖 250

13.2.2 使用CREATE VIEW語句創建視圖 252

13.2.3 用別名命名視圖欄位 253

13.2.4 創建視圖時的注意事項 253

13.2.5 創建加密視圖 254

13.3 查看與修改視圖 255

13.3.1 查看視圖內容 255

13.3.2 在SSMS中修改視圖 256

13.3.3 用ALTER VIEW修改視圖 256

13.4 使用視圖操作表數據 257

13.4.1 在SSMS中操作視圖中的數據 257

13.4.2 使用INSERT語句插入數據 257

13.4.3 使用UPDATE語句更新數據 258

13.4.4 使用DELETE語句刪除數據 259

13.5 視圖的刪除 259

13.5.1 使用SSMS刪除視圖 259

13.5.2 使用DROP VIEW語句刪除視圖 259

13.6 小結 259

13.7 習題 259

第三篇 SQL編程篇

第14章 Transact-SQL語言 261

14.1 Transact-SQL概述 261

14.1.1 Transact-SQL與標準SQL 261

14.1.2 Transact-SQL的語法約定 261

14.2 加入注釋 262

14.2.1 加入單行注釋 262

14.2.2 加入多行注釋 262

14.3 Transact-SQL運算符 262

14.3.1 算術運算符 263

14.3.2 賦值運算符 263

14.3.3 位運算符 263

14.3.4 比較運算符 263

14.3.5 邏輯運算符 264

14.3.6 字元串連線運算符 264

14.3.7 一元運算符 264

14.3.8 運算符的優先權 264

14.4 Transact-SQL中的常量和變數 265

14.4.1 常量 265

14.4.2 局部變數 265

14.4.3 全局變數 267

14.5 流控制語句 268

14.5.1 BEGIN…END語句 268

14.5.2 IF…ELSE語句 269

14.5.3 WHILE語句 270

14.5.4 BREAK語句 270

14.5.5 COUNTINUE語句 271

14.5.6 WAITFOR語句 272

14.5.7 CASE語句 272

14.6 小結 273

14.7 習題 273

第15章 存儲過程和自定義函式 275

15.1 存儲過程簡介 275

15.1.1 什麼是存儲過程 275

15.1.2 存儲過程的優點 275

15.1.3 存儲過程的種類 276

15.2 創建和使用存儲過程 276

15.2.1 使用CREATE PROCEDURE語句創建存儲過程 276

15.2.2 使用EXECUTE語句調用存儲過程 278

15.2.3 創建帶輸入參數的存儲過程 278

15.2.4 給輸入參數設定默認值 279

15.2.5 創建帶輸出參數的存儲過程 281

15.2.6 創建有多條SQL語句的存儲過程 282

15.3 修改存儲過程 282

15.3.1 在SSMS中修改存儲過程 282

15.3.2 使用ALTER PROCEDURE語句修改存儲過程 283

15.4 刪除存儲過程 284

15.4.1 在SSMS中刪除存儲過程 284

15.4.2 使用DROP PROCEDURE語句刪除存儲過程 284

15.5 系統存儲過程 284

15.6 用戶自定義函式 285

15.6.1 創建使用標量函式 285

15.6.2 創建使用表值函式 286

15.6.3 查看與修改用戶自定義函式 288

15.6.4 刪除用戶自定義函式 288

15.7 游標的使用 288

15.7.1 什麼是游標 289

15.7.2 游標的創建 289

15.7.3 打開游標 290

15.7.4 得到游標中的數據 291

15.7.5 游標的關閉和遍歷 291

15.7.6 利用游標修改數據 293

15.8 小結 295

15.9 習題 295

第16章 觸發器 296

16.1 認識觸發器 296

16.1.1 什麼是觸發器 296

16.1.2 觸發器的作用 296

16.1.3 觸發器分類 297

16.2 創建觸發器 297

16.2.1 觸發器工作原理 297

16.2.2 觸發器語法結構 298

16.2.3 在SQL Server Management Studio中創建DML觸發器 299

16.2.4 使用T-SQL創建DML觸發器 301

16.2.5 觸發器內事件操作的判斷 303

16.2.6 觸發器執行的順序 304

16.2.7 使用T-SQL創建DDL觸發器 306

16.3 管理觸發器 308

16.3.1 利用SQL Server Management Studio修改觸發器 308

16.3.2 利用T-SQL修改觸發器 309

16.3.3 刪除觸發器 310

16.3.4 禁用觸發器 312

16.3.5 啟用觸發器 313

16.4 小結 313

16.5 習題 314

第四篇 SQL Server 2012商業智慧型篇

第17章 SQL Server 2012集成服務 315

17.1 SSIS簡介 315

17.2 創建Integration Services項目 315

17.2.1 新建Integration Services項目 315

17.2.2 添加和配置ADONET連線管理器 317

17.2.3 添加和配置OLE DB連線管理器 318

17.2.4 添加數據流源 318

17.2.5 添加並配置查找轉換 320

17.2.6 添加並配置數據流目標 321

17.2.7 添加數據查看器 322

17.3 部署包 322

17.3.1 包配置 323

17.3.2 使用部署實用工具部署包 323

17.3.3 執行部署後的包 326

17.4 小結 327

17.5 習題 327

第18章 SQL Server 2012報表服務 329

18.1 報表服務簡介 329

18.1.1 什麼是報表服務 329

18.1.2 啟動報表服務 329

18.2 使用Reporting Services配置管理器 331

18.2.1 什麼是Reporting Services配置管理器 331

18.2.2 使用Reporting Services配置管理器的常用功能 331

18.3 創建報表 332

18.3.1 創建報表伺服器項目 333

18.3.2 創建報表 334

18.3.3 設定連線信息 335

18.3.4 設計報表查詢 337

18.3.5 添加表數據區域 339

18.3.6 預覽基本報表 341

18.4 部署報表 342

18.5 小結 343

18.6 習題 344

第19章 SQL Server 2012分析服務 345

19.1 認識SQL Server 2012分析服務 345

19.1.1 啟動SQL Server 2012的分析服務 345

19.1.2 設定分析服務的賬戶 346

19.2 分析服務項目實例 346

19.2.1 創建分析服務項目 347

19.2.2 創建數據源 347

19.2.3 創建數據源視圖 349

19.2.4 部署分析服務項目 351

19.3 使用SSMS管理分析服務 352

19.3.1 使用分析服務連線SSMS 352

19.3.2 查看多維數據集 353

19.3.3 查看維度 353

19.4 小結 354

19.5 習題 354

第五篇 SQL Server 2012實戰篇

第20章 使用.NET實現圖書管理系統 355

20.1 圖書管理系統的需求分析 355

20.1.1 了解C/S結構 355

20.1.2 圖書管理系統的功能概述 355

20.2 圖書管理系統的設計 356

20.2.1 什麼是ADONET 356

20.2.2 圖書管理系統資料庫的設計 356

20.2.3 圖書管理系統資料庫連線類的創建 358

20.3 圖書管理系統的實現 360

20.3.1 登錄功能的實現 360

20.3.2 圖書管理功能的實現 361

20.4 小結 366

20.5 習題 366

第21章 使用JSP實現線上訂餐系統 368

21.1 了解B/S結構 368

21.1.1 了解B/S結構的優勢 368

21.1.2 了解TOMCAT伺服器 368

21.2 線上訂餐系統需求及設計 369

21.2.1 訂餐系統的需求 369

21.2.2 模組分類 369

21.2.3 線上訂餐系統資料庫結構 370

21.3 線上訂餐系統的實現 372

21.3.1 JDBC Driver的使用 372

21.3.2 連線池的實現 372

21.3.3 登錄操作的實現 374

21.3.4 餐品訂購功能的實現 377

21.3.5 查看所有用戶訂單功能的實現 380

21.3.6 查看我的訂餐功能 383

21.4 小結 385

21.5 習題 385

前言

“21天學編程系列”自2009年1月上市以來一直受到了廣大讀者的青睞。該系列中的大部分圖書從一上市就登上了編程類圖書銷量排行榜的前列,很多大中專院校也將該系列中的一些圖書作為教材使用,目前這些圖書已經多次印刷、改版。可以說,“21天學編程系列”是自2009年以來國內原創計算機編程圖書最有影響力的品牌之一。

為了使該系列圖書能緊跟技術和教學的發展,更加適合讀者學習和學校教學,我們結合最新技術和讀者的建議,對該系列圖書進行了改版。本書便是該系列中的SQL Server分冊。

本書有何特色

1.細緻體貼的講解

為了讓讀者更快地上手,本書特別設計了適合初學者的學習方式,用準確的語言總結概念用直觀的圖示演示過程用詳細的注釋解釋代碼用形象的比喻幫助記憶。效果如下:

學習目標 放在每一節開始位置,讓讀者清楚地知道每一章的學習目標。

實例 為了方便讀者學習,每章都設定了大量的實例。

代碼說明 將範例代碼中的關鍵代碼行逐一解釋,有助於讀者掌握相關概念和知識。

執行結果 對範例給出運行結果和對應圖示,幫助讀者更直觀地理解範例代碼。

說明 為了便於讀者閱讀,把需要注意的問題做了提示。

習題 每章最後提供習題,供讀者檢驗所學知識是否牢固掌握。

操作題 為了便於讀者鞏固所學內容,書中提供了操作題,並給出了操作提示和結果,配合讀者自己動手實踐。

2.實用超值的DVD光碟

為了幫助讀者比較直觀地學習,本書附帶DVD光碟,內容包括多媒體視頻、電子教案(PPT)、實例原始碼等。

多媒體視頻

本書配有長達15小時的教學視頻,講解關鍵知識點界面操作和書中的一些綜合練習題。

作者親自配音、演示,手把手教會讀者使用。

電子教案(PPT)

本書可以作為高校相關課程的教材或課外輔導書,所以作者特別為本書製作了電子教案(PPT),以方便老師教學使用。

職場面試法寶

3.提供完善的技術支持

本書技術支持論壇,讀者可以在上面提問交流。另外,論壇上還有一些教程、視頻動畫和各種技術文章,可幫助讀者提高開發水平。

推薦的學習計畫

為了能夠讓讀者快速了解每章的學習目標以及如何合理地使用本書,下面為讀者推薦一個學習計畫,列表如下。

本書適合哪些讀者閱讀

本書非常適合以下人員閱讀:

SQL Server初學者;

 程式設計師;

 SQL Server資料庫管理員;

 大、中專院校及其他培訓機構的學生;

 其他編程愛好者。

本書作者

本書主要由秦婧編寫。其他參與編寫的人員有張燕、杜海梅、孟春燕、吳金艷、鮑凱、龐雁豪、楊銳麗、鮑潔、王小龍、李亞傑、張彥梅、劉媛媛、李亞偉、張昆(筆名:張增強),在此一併表示感謝。

相關詞條

熱門詞條

聯絡我們