Microsoft SQL Server 2005初學者指南

Microsoft SQL Server 2005初學者指南

《Microsoft SQL Server 2005初學者指南》是2007年4月清華大學出版社出版的圖書,作者是馮飛。

內容簡介

本書是一本淺顯易懂卻十分地道的指南,書中介紹了SQLServer2005的所有可用的強大功能。包括:安裝SQLServer2005,使系統管理任務自動運行,執行簡單的和複雜的資料庫查詢,以及使用健壯分析、商務智慧型和報表工具。本書還介紹了故障檢修、數據分區、複製和查詢最佳化。

目錄

第Ⅰ部分SQLServer的基本概念

第1章資料庫系統和SQLServer 3

1.1資料庫系統概述 5

1.1.1多種不同的用戶界面 6

1.1.2物理數據獨立性 6

1.1.3邏輯數據獨立性 6

1.1.4查詢最佳化 7

1.1.5數據完整性 7

1.1.6並發控制 7

1.1.7備份與恢復 7

1.1.8安全性和授權 8

1.2關係資料庫系統 8

1.3SQL:一種關係資料庫語言 11

1.4資料庫設計 12

1.4.1範式 13

1.4.2實體-關係(ER)模型 15

1.5小結 17

1.6MicrosoftSQLServer概述 18

1.7練習 18

第2章SQLServerManagementStudio 21

2.1SQLServer程式組和BooksOnline 22

2.2SQLServerManagementStudio 23

2.2.1通過SQLServerDatabaseEngine使用ManagementStudio 26

2.2.2使用ObjectExplorer管理資料庫 29

2.2.3使用SQLServerManagementStudio創建動作 35

2.3小結 39

2.4練習 40

第Ⅱ部分Transact-SQL語言

第3章SQL組件 43

3.1SQL的基本對象 44

3.1.1注釋 45

3.1.2標識符 46

3.1.3保留字 46

3.2數據類型 46

3.2.1數值型 46

3.2.2串型 47

3.2.3指定日期和時間 50

3.2.4派生數據類型 51

3.2.5混雜型 51

3.2.6用戶自定義型 52

3.3謂詞 52

3.4聚集函式 53

3.5標量函式 53

3.5.1數值函式 54

3.5.2日期函式 55

3.5.3串函式 56

3.5.4文本/圖像函式 58

3.5.5系統函式 58

3.6標量運算符 60

3.7空值 62

3.8小結 63

3.9練習 63

第4章數據定義語言 65

4.1創建資料庫對象 66

4.1.1創建資料庫 66

4.1.2CREATETABLE:一個基本的格式 69

4.1.3CREATETABLE:增強型格式 71

4.1.4CREATETABLE和聲明性完整性約束 72

4.1.5參照約束 76

4.1.6創建其他資料庫對象 80

4.1.7完整性約束和域 81

4.2修改資料庫對象 86

4.2.1修改資料庫 86

4.2.2修改表:基本格式 87

4.2.3修改表:增強格式 88

4.3刪除資料庫對象 91

4.4小結 92

4.5練習 92

第5章簡單查詢 95

5.1SELECT語句:基本格式 96

5.2WHERE子句 98

5.2.1布爾運算符 100

5.2.2IN和BETWEEN運算符 104

5.2.3涉及NULL值的查詢 108

5.2.4LIKE運算符 109

5.3簡單子查詢 113

5.3.1子查詢與比較運算符 113

5.3.2子查詢與IN運算符 115

5.3.3ANY以及ALL運算符 116

5.3.4EXISTS函式 118

5.3.5FROM子句中的查詢 119

5.4GROUPBY子句 119

5.5聚集函式 121

5.5.1便利聚集 121

5.5.2統計聚集 127

5.5.3超聚集(運算符CUBE和ROLLUP) 128

5.5.4用戶自定義的聚集函式 128

5.6HAVING子句 128

5.7ORDERBY子句 129

5.8SELECT語句和IDENTITY屬性 132

5.9集合運算符 133

5.10CASE表達式 138

5.11COMPUTE子句 139

5.12臨時表 142

5.13計算列 143

5.14小結 144

5.15練習 144

第6章複雜查詢 147

6.1連線運算符 148

6.1.1兩種實現連線的語法格式 148

6.1.2等值連線 149

6.1.3笛卡爾積 152

6.1.4自然連線 154

6.1.5theta連線 156

6.1.6多個表的連線 157

6.1.7把某個表與其自身連線 158

6.1.8外部連線 160

6.2相關子查詢 163

6.3連線查詢和子查詢的優點 168

6.3.1子查詢的優點 168

6.3.2連線的優點 169

6.4通用表表達式 169

6.4.1CTE和非遞歸查詢 170

6.4.2通用表表達式和遞歸查詢 172

6.5小結 176

6.6練習 176

第7章對表中內容的修改 179

7.1INSERT語句 180

7.1.1插入一行 180

7.1.2插入多行 182

7.2UPDATE語句 183

7.3DELETE語句 186

7.4小結 188

7.5練習 188

第8章存儲過程與用戶自定義函式 189

8.1SQL擴展 190

8.1.1語句塊 190

8.1.2IF語句 190

8.1.3WHILE語句 191

8.1.4局部變數 192

8.1.5其他過程語句 193

8.1.6用TRY和CATCH語句處理事件 194

8.2存儲過程 196

8.2.1存儲過程的創建與執行 197

8.2.2系統存儲過程 201

8.2.3存儲過程和CLR 201

8.3用戶自定義函式 205

8.3.1用戶自定義函式的創建和執行 205

8.3.2用戶自定義函式和CLR 209

8.4小結 210

8.5練習 211

第9章索引和查詢最佳化 213

9.1索引 214

9.1.1群集索引和非群集索引 215

9.1.2索引以及相關Transact-SQL語句 217

9.1.3編輯索引信息 222

9.1.4索引和鍵 223

9.1.5創建索引的準則 223

9.2提高效率的通用標準 225

9.2.1連線與相關子查詢 225

9.2.2不完整語句 226

9.2.3LIKE運算符 227

9.2.4用於查詢最佳化的Transact-SQL語句 227

9.3查詢最佳化器 229

9.3.1最佳化器統計信息 230

9.3.2連線操作的實現 231

9.3.3最佳化器提示 232

9.4DBCC命令和索引 242

9.5小結 242

9.6練習 242

第10章視圖 245

10.1DDL語句和視圖 246

10.1.1創建視圖 246

10.1.2修改和刪除視圖 250

10.2DML語句和視圖 252

10.2.1視圖檢索 252

10.2.2INSERT語句和視圖 253

10.2.3UPDATE語句和視圖 255

10.2.4DELETE語句和視圖 257

10.3索引視圖 257

10.3.1創建索引視圖 258

10.3.2索引視圖的好處 260

10.3.3索引視圖的使用 261

10.4小結 263

10.5練習 263

第11章系統目錄 265

11.1系統表 266

11.1.1Sysobjects 266

11.1.2Syscolumns 267

11.1.3Sysindexes 267

11.1.4Sysusers 267

11.1.5Sysdatabases 268

11.1.6Sysdepends 268

11.1.7Sysconstraints 268

11.2目錄視圖 269

11.2.1Sys_objects 270

11.2.2Sys.columns 270

11.2.3Sys.database_principals 270

11.3目錄視圖的查詢 271

11.4訪問系統信息的其他方式 273

11.4.1系統過程 273

11.4.2系統函式 275

11.4.3屬性函式 276

11.4.4信息模式 277

11.5小結 280

11.6練習 280

第12章SQLServer安全性 281

12.1身份驗證 282

12.1.1SQLServer加密策略及機制 283

12.1.2使用DDL設定SQLServer 284

12.1.3使用系統過程來設定SQLServer的安全性 286

12.1.4與登錄有關的系統過程 286

12.2模式 287

12.2.1用戶和模式分離 288

12.2.2與模式有關的DDL語句 288

12.3資料庫安全 291

12.3.1使用DDL創建資料庫用戶賬戶 291

12.3.2使用系統過程設定資料庫用戶賬戶 292

12.3.3默認的資料庫模式 293

12.4角色 294

12.4.1固定伺服器 294

12.4.2固定伺服器角色及其許可權 295

12.4.3固定資料庫角色 297

12.4.4固定資料庫角色及其許可權 298

12.4.5應用程式角色 300

12.4.6用戶自定義的資料庫角色 302

12.5授權 303

12.5.1GRANT語句 304

12.5.2DENY語句 308

12.5.3REVOKE語句 310

12.6視圖和數據訪問 310

12.7存儲過程和數據訪問 312

12.8小結 312

12.9練習 313

第13章觸發器 315

13.1引言 316

13.2觸發器的工作原理 316

13.2.1AFTER觸發器的套用領域 318

13.2.2INSTEADOF觸發器的套用領域 321

13.2.3第一個和最後一個觸發器 322

13.2.4DDL觸發器 323

13.3觸發器和CLR 324

13.4OUTPUT子句 328

13.5修改觸發器的結構 329

13.6小結 330

13.7練習 330

第14章事務 331

14.1引言 332

14.2Transact-SQL語句和事務 333

14.3鎖 336

14.3.1鎖定粒度 337

14.3.2鎖的種類 337

14.3.3SELECT語句和鎖 340

14.4隔離級別 341

14.5死鎖 344

14.6小結 345

14.7練習 345

第15章SQLServer系統環境 347

15.1磁碟存儲器 348

15.1.1數據頁 349

15.1.2大對象 351

15.1.3索引頁 351

15.2系統資料庫 351

15.3實用程式 352

15.3.1bcp實用程式 352

15.3.2osql實用程式 354

15.3.3sqlcmd實用程式 355

15.4SQLServer的實例 357

15.5Unicode 358

15.6SQLServer體系結構 359

15.6.1多處理器硬體體系結構 359

15.6.2SQLServer的多執行緒體系結構 360

15.7小結 362

15.8練習 362

第Ⅲ部分SQLServer:系統管理

第16章系統管理概述 365

16.1管理工具 366

16.1.1MSSQLServer2005程式組 367

16.1.2SQLComputerManager 367

16.1.3動態管理視圖 368

16.2系統管理員 369

16.3小結 369

第17章規劃安裝並安裝SQLServer 371

17.1規劃安裝 372

17.1.1SQLServer的用途 372

17.1.2硬體和軟體要求 373

17.1.3SQLServer的版本 374

17.1.4安裝建議 374

17.2安裝SQLServer 375

17.3安裝後配置SQLServer 381

17.3.1創建伺服器組並註冊伺服器 381

17.3.2設定伺服器選項 381

17.4啟動和停止SQLServer的實例 382

17.5小結 383

第18章管理資料庫和資料庫檔案 385

18.1管理檔案組 386

18.2管理資料庫 387

18.2.1創建資料庫 388

18.2.2查看和修改資料庫選項 389

18.2.3修改資料庫 391

18.3管理事務日誌 393

18.4小結 394

18.5練習 394

第19章管理安全性 395

19.1引言 396

19.1.1實現安全模式 396

19.1.2管理SQLServer登錄 397

19.2資料庫安全許可權 398

19.3管理許可權 402

19.4小結 403

19.5練習 404

第20章備份和恢復 405

20.1引言 406

20.1.1軟體和硬體故障 406

20.1.2事務日誌 407

20.2備份 407

20.2.1完全資料庫備份 407

20.2.2差異備份 408

20.2.3事務日誌備份 408

20.2.4資料庫檔案備份 409

20.3執行備份 409

20.3.1使用ManagementStudio進行備份 410

20.3.2使用Transact-SQL語句進行備份 413

20.3.3備份哪些資料庫 415

20.3.4最小化系統停機時間 416

20.3.5高可用性 419

20.4恢復 420

20.4.1自動恢復 420

20.4.2手工恢復 421

20.4.3恢復模型 428

20.4.4恢復到標記處 430

20.5小結 431

20.6練習 431

第21章自動化系統管理任務 433

21.1引言 434

21.2SQLServerAgent 435

21.3創建作業和操作員 435

21.3.1作業步驟 436

21.3.2使用SQLServerManagementStudio創建作業 436

21.3.3建立作業時間表 438

21.3.4創建要通知的操作員 439

21.3.5查看作業歷史日誌 440

21.4警報 441

21.4.1錯誤訊息 442

21.4.2SQLServer錯誤日誌 443

21.4.3事件日誌 443

21.4.4定義警報來處理SQLServer錯誤 443

21.4.5定義警報來處理用戶定義的錯誤 446

21.5小結 448

21.6練習 448

第22章性能和調 449

22.1引言 450

22.2影響性能的因素 450

22.2.1資料庫應用程式和性能 450

22.2.2資料庫伺服器和性能 452

22.2.3系統資源和性能 453

22.3監視工具 458

22.3.1應用程式性能工具 458

22.3.2SQLSever特有的監視 462

22.3.3監視系統資源的工具 464

22.4使用正確的工具 466

22.4.1SQLServerProfiler 467

22.4.2DatabaseEngineTuningAdvisor 467

22.5小結 472

第23章數據分區 475

23.1引言 476

23.2創建分區表的步驟 477

23.2.1設定分區目標 477

23.2.2確定分區鍵和分區數 478

23.2.3為每個分區創建檔案組 478

23.2.4創建分區函式和分區模式 479

23.2.5並置對象 482

23.3對表和索引進行分區的準則 482

23.4小結 482

第24章數據複製 485

24.1分散式數據 486

24.2概述SQLServer複製 487

24.2.1發布者、分發者和訂閱者 488

24.2.2發布和項目 489

24.2.3複製類型 490

24.2.4複製模型 492

24.3管理複製 494

24.3.1配置分發伺服器和發布伺服器 494

24.3.2設定發布 495

24.3.3設定訂閱伺服器 496

24.4小結 498

24.5練習 498

第Ⅳ部分Microsoft分析服務

第25章數據倉庫入門 501

25.1在線上事務處理與數據倉庫化 502

25.1.1在線上事務處理 502

25.1.2數據倉庫系統 503

25.2數據倉庫和數據集市 504

25.3數據倉庫設計 506

25.4立方和存儲模式 508

25.5聚集 510

25.6數據訪問 512

25.7小結 512

25.8練習 512

第26章MicrosoftAnalysisServices 515

26.1BIDevelopmentStudio 517

26.2AnalysisServices和立方 521

26.2.1創建立方 522

26.2.2設計存儲器聚集和處理立方 523

26.2.3瀏覽立方 526

26.3小結 527

第27章商務智慧型和SQL 529

27.1Transact-SQL中的OLAP擴展 530

27.1.1CUBE運算符 530

27.1.2ROLLUP運算符 533

27.1.3排序函式 535

27.1.4TOPn子句 541

27.1.5PIVOT和UNPIVOT運算符 543

27.2小結 544

第28章Microsoft報表服務 545

28.1引言 546

28.1.1ReportManager 546

28.1.2ReportServer 546

28.1.3ReportServer資料庫 547

28.2創建報表 547

28.2.1Report嚮導 548

28.2.2參數化報表 554

28.3處理和管理報表 555

28.4訪問和交付報表 556

28.4.1隨需應變的報表 557

28.4.2報表訂閱 558

28.5小結 559

28.6練習 559

第Ⅴ部分XML支持

第29章XML概述 563

29.1WorldWideWeb 564

29.2XML和相關的語言 564

29.3文檔類型定義 568

29.4XML模式 570

29.5小結 571

第30章SQLServer2005和XML 573

30.1在關係資料庫中存儲XML 574

30.2XML數據類型 575

30.2.1索引XML列 577

30.2.2類型化和未類型化的XML 578

30.3用FORXML子句構建XML文檔 580

30.3.1RAW模式 581

30.3.2AUTO模式 582

30.3.3EXPLICIT模式 582

30.3.4PATH模式 584

30.3.5用不同的模式指定指令 585

30.4XML查詢語言 586

30.5小結 587

相關詞條

相關搜尋

熱門詞條

聯絡我們