圖書目錄
第一部分
第1章 概述 3
1.1 什麼是資料庫 4
1.2 為什麼要使用資料庫 4
1.3 資料庫的基本概念 6
1.4 資料庫的歷史 7
1.5 關係資料庫 8
1.6 為什麼選擇SQL Server 9
1.7 SQL語言 10
1.8 SQL標準 11
1.9 10分鐘探索IDE 12
1.9.1 啟動和登錄SQL Server
Management Studio 14
1.9.2 修改登錄驗證模式 15
1.9.3 註冊資料庫伺服器 18
1.9.4 修改資料庫伺服器屬性 18
1.9.5 啟動和停止伺服器 19
1.9.6 創建查詢 19
1.9.7 使用指定資料庫 19
本章小結 20
問題 20
第2章 創建和維護資料庫 21
2.1 系統資料庫 23
2.1.1 修改系統數據 23
2.1.2 查看系統數據 24
2.2 創建資料庫 24
2.2.1 使用Transact-SQL
語句創建資料庫 25
2.2.2 查看資料庫檔案屬性 27
2.3 資料庫檔案和檔案組 28
2.3.1 資料庫檔案的類型 29
2.3.2 檔案組 29
2.3.3 刪除資料庫檔案 31
2.3.4 管理檔案組 32
2.3.5 檔案組的填充策略 33
2.3.6 最佳化資料庫的策略 34
2.3.7 檔案狀態 35
2.4 資料庫狀態和選項 35
2.5 查看資料庫 37
2.6 刪除資料庫 38
2.7 修改資料庫 39
2.7.1 修改資料庫名稱 39
2.7.2 擴展資料庫 40
2.7.3 收縮資料庫 42
2.8 資料庫快照 44
2.8.1 資料庫快照的套用 45
2.8.2 資料庫快照的原理 46
2.8.3 管理資料庫快照 48
2.9 分離和附加資料庫 51
2.9.1 分離資料庫 51
2.9.2 附加資料庫 52
2.10 移動資料庫檔案 54
2.11 移動和複製資料庫 55
2.12 備份和還原資料庫 57
2.12.1 備份資料庫 58
2.12.2 還原資料庫 60
本章小結 62
問題 63
第二部分 設計、實現和使用資料庫
第3章 Transact-SQL語言 67
3.1 SQL與Transact-SQL語言
概述方式 69
3.2 Transact-SQL語言的執行
方式與調試 71
3.2.1 調試代碼 73
3.2.2 調試Transact-SQL代碼 74
3.3 數據定義語言(DDL) 75
3.4 數據操縱語言(DML) 76
3.5 資料庫控制語言(DCL) 78
3.6 附加的語言元素 78
3.6.1 標識符和命名規範 79
3.6.2 局部變數 81
3.6.3 全局變數 82
3.6.4 運算符 83
3.6.5 表達式 88
3.6.6 注釋 88
3.7 數據類型 90
3.7.1 字元數據類型 91
3.7.2 數字數據類型 93
3.7.3 日期和時間數據類型 95
3.7.4 二進制數據類型 97
3.7.5 其他數據類型 98
3.7.6 用戶自定義數據類型 100
3.8 內置函式 103
3.8.1 概述 103
3.8.2 如何查看SQL Server幫助
中的語法 104
3.8.3 如何使用函式 109
3.8.4 函式類型 111
本章小結 133
問題 134
第4章 創建與維護表 135
4.1 概述 137
4.2 設計表時應該考慮的因素 137
4.3 E-R模型 140
4.3.1 概述 141
4.3.2 屬性和主鍵 142
4.3.3 外鍵 143
4.3.4 聯繫 145
4.3.5 關係規範化 147
4.4 利用PowerDesigner設計
資料庫 150
4.4.1 PowerDesigner說明和
模型設定 150
4.4.2 創建概念數據模型實體 153
4.4.3 創建概念數據模型關係 154
4.4.4 從概念數據模型到生成物理
數據模型 155
4.4.5 創建物理數據模型 157
4.4.6 更新已有的物理
數據模型 157
4.4.7 生成資料庫腳本 158
4.5 表的基本特點和類型 159
4.5.1 表的特點 160
4.5.2 表的類型 160
4.6 創建和修改表 161
4.6.1 創建普通表 161
4.6.2 創建臨時表 165
4.6.3 創建分區表 166
4.6.4 增加和刪除列 171
4.6.5 修改列 173
4.6.6 創建和修改列標識符 174
4.6.7 查看錶信息 178
4.6.8 刪除表 179
4.7 約束 180
4.7.1 主鍵約束 181
4.7.2 外鍵約束 184
4.7.3 NOT NULL約束 187
4.7.4 DEFAULT約束 188
4.7.5 CHECK約束 190
4.7.6 UNIQUE約束 191
4.7.7 禁止與刪除約束 192
本章小結 195
問題 195
第5章 操作表中的數據 197
5.1 準備工作 199
5.2 插入語句 200
5.2.1 簡單的插入語句 200
5.2.2 批量插入語句 204
5.3 檢索數據 207
5.3.1 選擇數據列 207
5.3.2 使用文字串 207
5.3.3 改變列標題 208
5.3.4 數據運算 209
5.3.5 使用ALL與DISTINCT
關鍵字 210
5.3.6 使用TOP關鍵字 212
5.3.7 排序 213
5.4 WHERE子句 216
5.4.1 簡單條件查詢 216
5.4.2 模糊查詢 216
5.4.3 複合條件查詢 218
5.4.4 使用IN子句 219
5.4.5 使用BETWEEN子句 220
5.4.6 空值與非空值 221
5.5 修改語句 222
5.6 刪除語句 223
本章小結 224
問題 224
第6章 高級檢索技術 225
6.1 聚合技術 228
6.1.1 SELECT子句中的聚合 228
6.1.2 COMPUTE子句中
的聚合 229
6.2 分組數據 230
6.2.1 普通分組 231
6.2.2 使用HAVING子句 234
6.2.3 使用ROLLUP和CUBE 234
6.3 聯合查詢 237
6.4 連線查詢 240
6.4.1 內連線 241
6.4.2 外連線 243
6.4.3 交叉連線 246
6.4.4 自連線 247
6.5 子查詢技術 248
6.5.1 使用IN和NOT IN 的
子查詢 248
6.5.2 ANY、ALL等比較運算符
的使用 249
6.5.3 使用EXISTS關鍵字 250
6.5.4 子查詢的規則 251
本章小結 252
問題 252
階段作業 252
第7章 索引 253
7.1 概述 255
7.1.1 表組織 256
7.1.2 堆 257
7.1.3 B樹 258
7.2 索引的優缺點 258
7.3 索引的類型 260
7.3.1 聚集索引 260
7.3.2 非聚集索引 261
7.4 索引的屬性 263
7.4.1 唯一性索引 263
7.4.2 複合索引 264
7.5 創建索引 264
7.5.1 使用嚮導創建索引 265
7.5.2 使用CREATE INDEX
語句創建索引 267
7.5.3 索引的選項 269
7.6 維護索引 270
7.6.1 查看索引碎片 270
7.6.2 重建索引 271
7.6.3 統計信息 271
7.6.4 查看索引 274
7.6.5 修改索引 274
7.6.6 刪除索引 276
本章小結 278
問題 280
第8章 視圖 281
8.1 概述 283
8.1.1 為什麼需要視圖 283
8.1.2 什麼是視圖 283
8.2 視圖的優缺點 285
8.3 創建視圖 286
8.3.1 創建視圖的基本原則 287
8.3.2 使用SQL Server
Management Studio
創建視圖 288
8.3.3 使用Transact-SQL
命令創建視圖 291
8.4 使用視圖 292
8.5 查看視圖 293
8.6 加密視圖 294
8.7 修改視圖 294
8.8 刪除視圖 295
8.9 重命名視圖 295
8.10 通過視圖更新數據 296
8.10.1 通過視圖插入數據 296
8.10.2 使用UPDATE修改
數據 297
本章小結 298
問題 298
第9章 SQL編程及高級套用 299
9.1 概述 301
9.2 流程控制語句 301
9.2.1 IF…ELSE…語句 302
9.2.2 BEGIN…END語句 303
9.2.3 GOTO語句 305
9.2.4 WHILE BREAK和
CONTINUE語句 306
9.2.5 CASE語句 309
9.2.6 WAITFOR語句 311
9.3 游標 312
9.3.1 游標的類型 313
9.3.2 選擇游標類型的原則 315
9.3.3 游標的生命周期 315
9.3.4 實現Transact-SQL游標 316
9.4 用戶自定義函式 327
9.4.1 創建用戶自定義函式的
思考 330
9.4.2 用戶自定義函式的分類 331
9.4.3 創建及使用用戶自定義
函式 332
9.4.4 維護用戶自定義函式 338
本章小結 339
問題 339
第10章 存儲過程 341
10.1 概述 343
10.2 存儲過程的優點 344
10.3 存儲過程的分類 345
10.3.1 系統存儲過程 345
10.3.2 API存儲過程 346
10.3.3 用戶自定義存儲過程 347
10.4 創建存儲過程 348
10.4.1 創建存儲過程應考慮
的因素 348
10.4.2 創建存儲過程的語法 350
10.4.3 創建不帶參數的
存儲過程 352
10.4.4 創建帶參數的存儲過程 353
10.4.5 創建返回值的存儲過程 358
10.4.6 創建帶有OUTPUT參數
的存儲過程 361
10.4.7 使用SQL Server
Management Studio
創建存儲過程 362
10.5 維護存儲過程 362
10.5.1 查看存儲過程信息 363
10.5.2 加密存儲過程 363
10.5.3 修改、刪除存儲過程 364
10.6 存儲過程進階知識 364
10.6.1 存儲過程的執行過程 365
10.6.2 存儲過程命名 366
本章小結 366
問題 367
第11章 觸發器 369
11.1 概述 371
11.1.1 觸發器與約束規則 372
11.1.2 觸發器的優缺點 373
11.2 觸發器的分類 374
11.2.1 DDL觸發器 374
11.2.2 登錄觸發器 375
11.2.3 DML觸發器 377
11.3 創建觸發器 379
11.3.1 創建DDL觸發器 379
11.3.2 可觸發DDL觸發器
的事件 382
11.3.3 維護觸發器 386
11.4 創建DML觸發器 387
11.4.1 創建DML觸發器
的語法 388
11.4.2 創建DML觸發器需要
考慮的因素 389
11.4.3 創建DML觸發器 391
11.5 DML觸發器嵌套 394
本章小結 397
問題 397
第12章 事務和鎖 399
12.1 事務概述 401
12.1.1 概念 401
12.1.2 屬性 401
12.2 創建事務 402
12.2.1 使用事務考慮的因素 403
12.2.2 事務的聲明和提交 404
12.2.3 事務的回滾 407
12.2.4 查看當前執行中的事務 409
12.2.5 事務的嵌套 410
12.3 事務的工作原理 412
12.4 鎖定和行版本控制 413
12.5 鎖定的分類 415
12.6 鎖的自動最佳化 419
12.6.1 升級閾值 420
12.7 死鎖 422
12.7.1 死鎖的概念 422
12.7.2 產生死鎖的主要原因
和必要條件 423
12.7.3 減少和預防死鎖 424
12.7.4 檢測死鎖 426
12.7.5 設定鎖的優先權 430
本章小結 432
問題 432
第13章 全文索引 433
13.1 概述 435
13.2 全文索引概念 435
13.2.1 全文索引與查詢 436
13.2.2 全文索引引擎 437
13.3 全 文 目 錄 438
13.3.1 創建全文目錄 438
13.3.2 修改全文目錄 440
13.3.3 查看全文目錄 442
13.4 管理全文索引 443
13.4.1 創建全文索引需要考慮
的因素 443
13.4.2 創建全文索引 445
13.4.3 查看全文索引 449
13.4.4 修改和刪除全文索引 450
13.4.5 填充全文索引 451
13.5 使用全文索引 452
13.5.1 使用全文謂詞CONTAINS
和FREETEXT
查詢概述 454
13.5.2 使用CONTAINS謂詞的
簡單搜尋 454
13.5.3 使用CONTAINS謂詞
的派生詞搜尋 455
13.5.4 使用CONTAINS謂詞
的前綴詞搜尋 456
13.5.5 使用CONTAINS謂詞的
鄰近詞搜尋 457
13.5.6 使用CONTAINS謂詞的
加權詞搜尋 457
13.5.7 使用FREETEXT查詢 458
13.5.8 使用CONTAINSTABLE
函式搜尋 459
13.5.9 使用FREETEXTTABLE
函式搜尋 461
13.6 檢索二進制列 461
本章小結 462
問題 463
結束語 464
圖書版本
作者:鄒茂揚、田洪川
書號:9787302305712
定價:59元
印次:1-1
裝幀:平裝
印刷日期:2013-1-17
出版社:清華大學出版社
圖書特色
這不是一本以傳統順序堆砌而成的書
1.本書以最有效的教學思路講解資料庫的每一個知識點
2.本書並非嚴格將資料庫知識分類整理講解,而是按照初學者的思維習慣,將每一個知識點放在最恰當的位置,所以單看目錄,會感覺知識的排列不像同類書那樣“井井有條”。
3.本書採用【老田、小天】二人對話的形式講解,其中不乏詼諧幽默的問題和解答,避免對知識點生搬硬套。
4.本書總是提出問題再來解釋,通過解釋的過程來講解新的知識。這樣極大地避免了知識點的生硬出現,轉而將學習的過程變成了解決問題的過程,同時也複習的相關其他知識點。
5.本書中出現的專業術語隨著知識的深入而出現,故儘量從頭開始閱讀。
6.每章最後的“每日一練”中提出的問題常常有錯誤的問法夾雜其中,在這種題下面會緊跟著一道題,要求你將前一個題修改正確,極大避免了填鴨式教學,讓你想不思考都不行。
7.本書配備對應的視頻教程,去百度谷歌“天轟穿趣味編程”就可以找到,或者去學雲網搜“天轟穿”。
圖書評價
通過學習本書,你能夠在嬉笑怒罵的環境中輕鬆掌握數據存儲原理、資料庫設計技巧以及大量資料庫編程的實戰經驗,更重要的是能夠掌握一種優秀的學習方法、解決問題的思路和思考的方式。
只有枯燥的教材,沒有枯燥的編程。
而資料庫則是作為進入編程世界的一個重要“關卡”,為什麼這么說,首先,因為所有程式語言到了實際套用階段都無法避免地與資料庫打交道;其次,資料庫是體現編程藝術的一個重要平台;另外,學好資料庫,會使你以後學習其他語言的時候事半功倍。
而能否讓你學得輕鬆、學得紮實就成為了一個至關重要的條件,這也是本書的宗旨。
這些經驗和技巧得益於我和鄒老師兩人加起來近25年的項目開發和教育培訓經歷。