內容介紹
《SQL Server 從入門到精通》從初學者的角度出發,通過通俗易懂的語言、豐富多彩的實例,詳細地介紹了SQLServer2008開發應該掌握的各方面技術。全書共分15章,包括資料庫基礎、初識SQLServer2008、管理SQLServer2008、創建與管理資料庫、運算元據表與視圖、維護SQLServer2008、T—SQL概述、SQL數據語言操作、SQL數據查詢、存儲過程和觸發器、索引與數據完整性、游標的使用、SQL函式的使用、SQL中的事務、基於C#的企業ERP管理系統。書中所有知識都結合具體實例進行介紹,涉及的程式代碼給出了詳細的注釋,可以使讀者輕鬆領會SQLServer2008的精髓,快速提高開發技能。
作品目錄
目 錄
第1篇 基 礎 知 識
第1章 資料庫基礎 3
視頻講解:25分鐘
1.1 資料庫系統簡介 4
1.1.1 資料庫技術的發展 4
1.1.2 資料庫系統的組成 4
1.2 資料庫的體系結構 5
1.2.1 資料庫三級模式結構 5
1.2.2 三級模式之間的映射 5
1.3 數據模型 6
1.3.1 數據模型的概念 6
1.3.2 常見的數據模型 6
1.3.3 關係資料庫的規範化 7
1.3.4 關係資料庫的設計原則 7
1.3.5 實體與關係 8
1.4 常見關係資料庫 8
1.4.1 Access資料庫 8
1.4.2 SQL Server 2000資料庫 8
1.4.3 SQL Server 2005資料庫 9
1.4.4 SQL Server 2008資料庫 9
1.4.5 Oracle資料庫 9
1.5 小結 10
1.6 實踐與練習 10
第2章 初識SQL Server 2008 11
視頻講解:26分鐘
2.1 SQL Server 2008簡介 12
2.2 SQL Server 2008的特點 13
2.3 SQL Server 2008的安裝 15
2.3.1 SQL Server 2008安裝必備 15
2.3.2 SQL Server 2008的安裝 15
2.3.3 SQL Server 2008的卸載 23
2.4 使用SQL Server 2008的幫助 24
2.5 小結 25
2.6 實踐與練習 25
第3章 管理SQL Server 2008 27
視頻講解:25分鐘
3.1 SQL Server 2008的服務 28
3.2 啟動SQL Server 2008的服務 28
3.2.1 後台啟動SQL Server 2008 28
3.2.2 通過SQL Server配置管理器啟動
SQL Server 2008 29
3.3 註冊SQL Server 2008 30
3.3.1 伺服器組的創建與刪除 30
3.3.2 伺服器的註冊與刪除 32
3.4 SQL Server 2008資料庫的安全設定 35
3.4.1 更改登錄用戶驗證方式 35
3.4.2 創建與刪除登錄賬戶 36
3.4.3 設定伺服器角色許可權 39
3.4.4 創建與刪除資料庫用戶 40
3.4.5 密碼策略 42
3.5 小結 42
3.6 實踐與練習 43
第4章 創建與管理資料庫 45
視頻講解:25分鐘
4.1 認識資料庫 46
4.1.1 資料庫基本概念 46
4.1.2 資料庫常用對象 47
4.1.3 資料庫組成 47
4.1.4 系統資料庫 48
4.2 SQL Server的命名規則 49
4.2.1 標識符 49
4.2.2 對象命名規則 50
4.2.3 實例命名規則 51
4.3 資料庫的創建與管理 51
4.3.1 使用管理器創建資料庫 51
4.3.2 使用管理器修改資料庫 52
4.3.3 使用管理器刪除資料庫 54
4.4 小結 55
4.5 實踐與練習 55
第5章 運算元據表與視圖 57
視頻講解:1小時2分鐘
5.1 數據表基礎知識 58
5.1.1 基本數據類型 58
5.1.2 用戶自定義數據類型 59
5.1.3 數據表的數據完整性 60
5.2 使用企業管理器管理數據表 62
5.2.1 創建數據表 62
5.2.2 修改數據表 63
5.2.3 重命名數據表 64
5.2.4 刪除數據表 65
5.3 創建、刪除和修改約束 65
5.3.1 非空約束 66
5.3.2 主鍵約束 67
5.3.3 唯一約束 68
5.3.4 檢查約束 69
5.3.5 默認約束 70
5.3.6 外鍵約束 70
5.4 關係的創建與維護 72
5.4.1 一對一關係 72
5.4.2 一對多關係 73
5.4.3 多對多關係 74
5.5 視圖概述 74
5.6 使用企業管理器管理視圖 75
5.6.1 創建視圖 75
5.6.2 查看視圖信息 76
5.6.3 在視圖中插入數據記錄 77
5.6.4 在視圖中修改數據記錄 77
5.6.5 在視圖中刪除數據記錄 78
5.6.6 刪除視圖 78
5.7 小結 79
5.8 實踐與練習 79
第6章 維護SQL Server 2008 81
視頻講解:30分鐘
6.1 脫機與在線上資料庫 82
6.1.1 脫機資料庫 82
6.1.2 在線上資料庫 82
6.2 分離和附加資料庫 83
6.2.1 分離資料庫 83
6.2.2 附加資料庫 84
6.3 導入導出數據 84
6.3.1 導入SQL Server數據表 85
6.3.2 導入其他數據源的數據 87
6.3.3 導出SQL Server數據表 90
6.4 備份和恢複數據庫 93
6.4.1 備份類型 93
6.4.2 恢復模式 93
6.4.3 備份資料庫 94
6.4.4 恢複數據庫 95
6.5 收縮資料庫和檔案 97
6.5.1 自動收縮資料庫 97
6.5.2 手動收縮資料庫 98
6.6 生成與執行SQL腳本 99
6.6.1 將資料庫生成SQL腳本 99
6.6.2 將數據表生成SQL腳本 100
6.6.3 執行SQL腳本 100
6.7 小結 101
6.8 實踐與練習 101
第2篇 核 心 技 術
第7章 T-SQL概述 105
視頻講解:52分鐘
7.1 T-SQL概述 106
7.1.1 T-SQL語言的組成 106
7.1.2 T-SQL語句結構 106
7.1.3 T-SQL語句分類 107
7.2 常量 107
7.2.1 數字常量 107
7.2.2 字元串常量 108
7.2.3 日期和時間常量 108
7.2.4 符號常量 108
7.3 變數 108
7.3.1 局部變數 109
7.3.2 全局變數 110
7.4 注釋符、運算符與通配符 112
7.4.1 注釋符 112
7.4.2 運算符 113
7.4.3 通配符 116
7.5 流程控制 117
7.5.1 BEGIN…END 117
7.5.2 IF 118
7.5.3 IF…ELSE 119
7.5.4 CASE 120
7.5.5 WHILE 122
7.5.6 WHILE…CONTINUE…BREAK 123
7.5.7 RETURN 124
7.5.8 GOTO 125
7.5.9 WAITFOR 125
7.6 常用命令 126
7.6.1 DBCC 126
7.6.2 CHECKPOINT 128
7.6.3 DECLARE 128
7.6.4 PRINT 130
7.6.5 RAISERROR 130
7.6.6 READTEXT 131
7.6.7 BACKUP 132
7.6.8 RESTORE 133
7.6.9 SELECT 134
7.6.10 SET 135
7.6.11 SHUTDOWN 136
7.6.12 WRITETEXT 137
7.6.13 USE 138
7.7 小結 138
7.8 實踐與練習 138
第8章 SQL數據語言操作 139
視頻講解:46分鐘
8.1 使用T-SQL語句運算元據庫 140
8.1.1 資料庫的創建 140
8.1.2 資料庫的修改 143
8.1.3 刪除資料庫 149
8.2 數據表操作 149
8.2.1 使用CREATE TABLE語句創建表 150
8.2.2 創建、修改和刪除約束 153
8.2.3 使用ALTER TABLE語句修改表結構 160
8.2.4 使用DROP TABLE語句刪除表 161
8.3 數據操作 162
8.3.1 使用SELECT語句瀏覽數據表 162
8.3.2 使用INSERT語句添加數據 162
8.3.3 使用UPDATE語句修改指定數據 163
8.3.4 使用DELETE語句刪除指定數據 164
8.4 視圖操作 165
8.4.1 使用CREATE VIEW語句創建視圖 165
8.4.2 重命名視圖 166
8.4.3 使用ALTER VIEW語句修改視圖 167
8.4.4 使用DROP VIEW語句刪除視圖 168
8.5 視圖中的數據操作 168
8.5.1 從視圖中瀏覽數據 169
8.5.2 向視圖中添加數據 169
8.5.3 修改視圖中的數據 170
8.5.4 刪除視圖中的數據 170
8.6 小結 171
8.7 實踐與練習 171
第9章 SQL數據查詢 173
視頻講解:1小時14分鐘
9.1 SELECT檢索數據 174
9.1.1 SELECT語句的基本結構 174
9.1.2 WITH子句 175
9.1.3 SELECT…FROM子句 176
9.1.4 INTO子句 180
9.1.5 WHERE子句 181
9.1.6 GROUP BY子句 189
9.1.7 HAVING子句 191
9.1.8 ORDER BY子句 191
9.1.9 COMPUTE子句 192
9.1.10 DISTINCT關鍵字 194
9.1.11 TOP關鍵字 194
9.2 UNION合併多個查詢結果 195
9.2.1 UNION與聯接之間的區別 195
9.2.2 使用UNION ALL合併表 196
9.2.3 UNION中的order by子句 196
9.2.4 UNION中的自動數據類型轉換 197
9.2.5 使用UNION合併不同類型的數據 197
9.2.6 使用UNION合併有不同列數的兩個表 198
9.2.7 使用UNION進行多表合併 198
9.3 子查詢與嵌套查詢 199
9.3.1 什麼是子查詢 199
9.3.2 什麼是嵌套查詢 199
9.3.3 簡單的嵌套查詢 200
9.3.4 帶IN的嵌套查詢 200
9.3.5 帶NOT IN的嵌套查詢 201
9.3.6 帶SOME的嵌套查詢 201
9.3.7 帶ANY的嵌套查詢 201
9.3.8 帶ALL的嵌套查詢 202
9.3.9 帶EXISTS的嵌套查詢 202
9.4 聯接查詢 202
9.4.1 內部聯接 203
9.4.2 外部聯接 203
9.4.3 交叉聯接 205
9.4.4 聯接多表的方法 206
9.5 使用CASE函式進行查詢 207
9.6 小結 209
9.7 實踐與練習 210
第10章 存儲過程和觸發器 211
視頻講解:34分鐘
10.1 存儲過程概述 212
10.1.1 存儲過程的概念 212
10.1.2 存儲過程的優點 212
10.2 創建存儲過程 213
10.2.1 使用嚮導創建存儲過程 213
10.2.2 使用CREATE PROC語句創建
存儲過程 214
10.3 管理存儲過程 215
10.3.1 執行存儲過程 215
10.3.2 查看存儲過程 217
10.3.3 修改存儲過程 218
10.3.4 重命名存儲過程 221
10.3.5 刪除存儲過程 222
10.4 觸發器概述 224
10.4.1 觸發器的概念 224
10.4.2 觸發器的優點 224
10.4.3 觸發器的種類 224
10.5 創建觸發器 225
10.5.1 創建DML觸發器 225
10.5.2 創建DDL觸發器 227
10.5.3 創建登錄觸發器 228
10.6 管理觸發器 230
10.6.1 查看觸發器 230
10.6.2 修改觸發器 231
10.6.3 重命名觸發器 234
10.6.4 禁用和啟用觸發器 234
10.6.5 刪除觸發器 236
10.7 小結 238
10.8 實踐與練習 238
第3篇 高 級 應 用
第11章 索引與數據完整性 241
視頻講解:56分鐘
11.1 索引的概念 242
11.2 索引的優缺點 242
11.2.1 索引的優點 242
11.2.2 索引的缺點 242
11.3 索引的分類 243
11.3.1 聚集索引 243
11.3.2 非聚集索引 243
11.4 索引的操作 244
11.4.1 索引的創建 244
11.4.2 查看索引信息 247
11.4.3 索引的修改 248
11.4.4 索引的刪除 249
11.4.5 設定索引的選項 250
11.5 索引的分析與維護 253
11.5.1 索引的分析 253
11.5.2 索引的維護 254
11.6 全文索引 257
11.6.1 使用企業管理器啟用全文索引 257
11.6.2 使用Transact-SQL語句啟用全文索引 260
11.6.3 使用Transact-SQL語句刪除全文索引 262
11.6.4 全文目錄 263
11.6.5 全文目錄的維護 266
11.7 數據完整性 268
11.7.1 域完整性 268
11.7.2 實體完整性 268
11.7.3 引用完整性 269
11.7.4 用戶定義完整性 269
11.8 小結 269
11.9 實踐與練習 269
第12章 游標的使用 271
視頻講解:12分鐘
12.1 游標的概述 272
12.1.1 游標的實現 272
12.1.2 游標的類型 272
12.2 游標的基本操作 273
12.2.1 聲明游標 273
12.2.2 打開游標 276
12.2.3 讀取游標中的數據 276
12.2.4 關閉游標 278
12.2.5 釋放游標 279
12.3 使用系統過程查看游標 279
12.3.1 sp_cursor_list 279
12.3.2 sp_describe_cursor 280
12.4 小結 282
12.5 實踐與練習 282
第13章 SQL函式的使用 283
視頻講解:42分鐘
13.1 聚合函式 284
13.1.1 聚合函式概述 284
13.1.2 SUM(求和)函式 284
13.1.3 AVG(平均值)函式 285
13.1.4 MIN(最小值)函式 286
13.1.5 MAX(最大值)函式 286
13.1.6 COUNT(統計)函式 287
13.1.7 DISTINCT(取不重複記錄)函式 288
13.1.8 查詢重複記錄 289
13.2 數學函式 289
13.2.1 數學函式概述 289
13.2.2 ABS(絕對值)函式 290
13.2.3 PI(圓周率)函式 290
13.2.4 POWER(乘方)函式 291
13.2.5 RAND(隨機浮點數)函式 291
13.2.6 ROUND(四捨五入)函式 292
13.2.7 SQUARE(平方)函式和SQRT
(平方根)函式 292
13.2.8 三角函式 293
13.3 字元串函式 295
13.3.1 字元串函式概述 295
13.3.2 ASCII(獲取ASCII碼)函式 296
13.3.3 CHARINDEX(返回字元串的起始位置)
函式 297
13.3.4 LEFT(取左邊指定個數的字元)函式 298
13.3.5 RIGHT(取右邊指定個數的字元)
函式 298
13.3.6 LEN(返回字元個數)函式 299
13.3.7 REPLACE(替換字元串)函式 300
13.3.8 REVERSE(返回字元表達式的反轉)
函式 300
13.3.9 STR函式 300
13.3.10 SUBSTRING(取字元串)函式 301
13.4 日期和時間函式 302
13.4.1 日期和時間函式概述 302
13.4.2 GETDATE(返回當前系統日期和時間)
函式 302
13.4.3 DAY(返回指定日期的天)函式 303
13.4.4 MONTH(返回指定日期的月)函式 303
13.4.5 YEAR(返回指定日期的年)函式 303
13.4.6 DATEDIFF(返回日期和時間的邊界數)
函式 304
13.4.7 DATEADD(添加日期時間)函式 304
13.5 轉換函式 305
13.5.1 轉換函式概述 305
13.5.2 CAST函式 306
13.5.3 CONVERT函式 307
13.6 元數據函式 308
13.6.1 元數據函式概述 308
13.6.2 COL_LENGTH函式 308
13.6.3 COL_NAME函式 309
13.6.4 DB_NAME函式 309
13.7 小結 310
13.8 實踐與練習 310
第14章 SQL中的事務 311
視頻講解:28分鐘
14.1 事務的概念 312
14.2 顯式事務與隱式事務 312
14.2.1 顯式事務 313
14.2.2 隱式事務 314
14.2.3 API中控制隱式事務 314
14.2.4 事務的COMMIT和ROLLBACK 315
14.3 使用事務 315
14.3.1 開始事務 315
14.3.2 結束事務 316
14.3.3 回滾事務 316
14.3.4 事務的工作機制 317
14.3.5 自動提交事務 318
14.3.6 事務的並發問題 318
14.3.7 事務的隔離級別 319
14.4 鎖 321
14.4.1 SQL Server鎖機制 321
14.4.2 鎖模式 321
14.4.3 鎖的粒度 323
14.4.4 查看鎖 324
14.4.5 死鎖 324
14.5 分散式事務處理 325
14.5.1 分散式事務簡介 325
14.5.2 創建分散式事務 326
14.5.3 分散式處理協調器 326
14.6 小結 326
14.7 實踐與練習 327
第4篇 項 目 實 戰
第15章 基於C#的企業ERP管理系統 331
視頻講解:1小時8分鐘
15.1 系統分析 332
15.1.1 需求分析 332
15.1.2 可行性分析 332
15.1.3 編寫項目計畫書 333
15.2 系統設計 335
15.2.1 系統目標 336
15.2.2 系統功能結構 336
15.2.3 系統業務流程圖 337
15.2.4 系統編碼規範 338
15.2.5 系統預覽 340
15.3 系統運行環境 342
15.4 資料庫與數據表設計 343
15.4.1 資料庫分析 343
15.4.2 資料庫概念設計 344
15.4.3 資料庫邏輯設計 346
15.4.4 數據表邏輯關係 349
15.5 資料夾組織結構 350
15.6 公共類設計 351
15.6.1 DataBase類 351
15.6.2 CommonUse類 355
15.7 物料清單模組設計 359
15.7.1 設計物料清單(BOM)窗體 359
15.7.2 載入物料清單的母件和子件信息 360
15.7.3 添加物料清單信息 361
15.7.4 保存物料清單信息 362
15.8 銷售收款單模組設計 364
15.8.1 設計銷售收款單窗體 365
15.8.2 瀏覽已審核的銷售出庫單信息 365
15.8.3 選擇已審核的銷售出庫單 367
15.9 生產單模組設計 368
15.9.1 設計生產單窗體 368
15.9.2 瀏覽已審核的主生產計畫信息 369
15.9.3 審核的生產單信息 370
15.9.4 棄審的生產單信息 371
15.10 產品銷售毛利匯總模組設計 372
15.10.1 設計產品銷售毛利匯總窗體 372
15.10.2 載入產品名稱信息 373
15.10.3 查詢產品銷售毛利信息 373
15.11 系統打包部署 375
15.12 小結 379