SQL Server 從入門到精通, 5/e

明日科技

  • 出版商: 清華大學
  • 出版日期: 2023-06-01
  • 售價: $599
  • 貴賓價: 9.5$569
  • 語言: 簡體中文
  • 頁數: 448
  • 裝訂: 平裝
  • ISBN: 7302632634
  • ISBN-13: 9787302632634
  • 相關分類: MSSQLSQL
  • 立即出貨 (庫存=1)

  • SQL Server 從入門到精通, 5/e-preview-1
  • SQL Server 從入門到精通, 5/e-preview-2
  • SQL Server 從入門到精通, 5/e-preview-3
SQL Server 從入門到精通, 5/e-preview-1

買這商品的人也買了...

商品描述

《SQL Server從入門到精通(第5版)》從初學者角度出發,通過通俗易懂的語言、豐富多彩的實例,詳細介紹了SQL Server開發所必需的各方面技術。全書分為4篇共19章,內容包括數據庫基礎、SQL Server數據庫環境搭建、創建與管理數據庫、操作數據表、SQL基礎、SQL函數的使用、SQL數據查詢基礎、SQL數據高級查詢、視圖的使用、存儲過程、觸發器、游標的使用、索引與數據完整性、SQL中的事務、維護SQL Server數據庫、數據庫的安全機制、Visual C++ + SQL Server實現酒店客房管理系統、C# + SQL Server實現企業人事管理系統和Java + SQL Server實現學生成績管理系統。所有知識都結合具體實例進行介紹,涉及的程序代碼給出了詳細的註釋,讀者可以輕松領會SQL Server 2022的精髓,快速提升開發技能。

目錄大綱

目  錄

 

第1篇 基 礎 知 識

 

第1章  數據庫基礎 2

 視頻講解:33分鐘

1.1  數據庫系統簡介 2

1.1.1  數據庫技術的發展 2

1.1.2  數據庫系統的組成 3

1.2  數據庫的體系結構 3

1.2.1  數據庫三級模式結構 4

1.2.2  三級模式之間的映射 5

1.3  數據模型 5

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數據庫 8

1.4.3  Oracle數據庫 9

1.4.4  MySQL數據庫 9

1.5  小結 9

1.6  實踐與練習 9

第2章  SQL Server數據庫環境搭建 10

 視頻講解:43分鐘

2.1  SQL Server數據庫簡介 10

2.2  SQL Server 2022的安裝與卸載 10

2.2.1  SQL Server 2022安裝必備條件 11

2.2.2  下載SQL Server 2022安裝引導文件 11

2.2.3  下載和安裝SQL Server 2022安裝文件 12

2.2.4  安裝SQL Server Management Studio

管理工具 17

2.2.5  啟動SQL Server管理工具 18

2.2.6  SQL Server 2022的卸載 19

2.3  小結 20

第3章  創建與管理數據庫 21

 視頻講解:23分鐘

3.1  認識數據庫 21

3.1.1  數據庫基本概念 21

3.1.2  數據庫常用對象 22

3.1.3  數據庫組成 23

3.1.4  系統數據庫 24

3.2  SQL Server的命名規則 24

3.2.1  標識符命名規則 24

3.2.2  對象命名規則 26

3.2.3  實例命名規則 26

3.3  數據庫的創建與管理 26

3.3.1  創建數據庫 27

3.3.2  修改數據庫 31

3.3.3  刪除數據庫 33

3.4  小結 35

3.5  實踐與練習 35

第4章  操作數據表 36

 視頻講解:74分鐘

4.1  數據表基礎 37

4.1.1  基本數據類型 37

4.1.2  用戶自定義數據類型 38

4.1.3  數據表的數據完整性 39

4.2  數據表的創建與管理 40

4.2.1  以界面方式操作數據表 41

4.2.2  使用CREATE TABLE語句創建表 42

4.2.3  使用ALTER TABLE語句修改表結構 45

4.2.4  使用DROP TABLE語句刪除表 46

4.3  管理數據 47

4.3.1  使用INSERT語句添加數據 47

4.3.2  使用UPDATE語句修改數據 48

4.3.3  使用DELETE語句刪除數據 49

4.4  創建、刪除和修改約束 49

4.4.1  非空(NOT Null)約束 50

4.4.2  主鍵(PRIMARY KEY)約束 50

4.4.3  唯一(UNIQUE)約束 51

4.4.4  檢查(CHECK)約束 53

4.4.5  默認(DEFAULT)約束 54

4.4.6  外鍵(FOREIGN KEY)約束 55

4.5  關系的創建與維護 57

4.5.1  一對一關系 57

4.5.2  一對多關系 58

4.5.3  多對多關系 59

4.6  小結 59

4.7  實踐與練習 60

 

第2篇 核 心 技 術

 

第5章  SQL基礎 62

 視頻講解:106分鐘

5.1  SQL概述 62

5.1.1  SQL的組成 63

5.1.2  SQL語句結構 63

5.1.3  SQL語句分類 64

5.2  常量 64

5.2.1  數字常量 64

5.2.2  字符串常量 65

5.2.3  日期和時間常量 65

5.2.4  符號常量 65

5.3  變量 65

5.3.1  局部變量 65

5.3.2  全局變量 67

5.4  註釋符、運算符與通配符 68

5.4.1  註釋符 68

5.4.2  運算符 69

5.4.3  通配符 72

5.5  流程控制 72

5.5.1  BEGIN...END 72

5.5.2  IF 73

5.5.3  IF…ELSE 74

5.5.4  CASE 75

5.5.5  WHILE 77

5.5.6  WHILE…CONTINUE…BREAK 78

5.5.7  RETURN 79

5.5.8  GOTO 79

5.5.9  WAITFOR 80

5.6  常用命令 80

5.6.1  DBCC 81

5.6.2  CHECKPOINT 82

5.6.3  DECLARE 82

5.6.4  PRINT 83

5.6.5  RAISERROR 84

5.6.6  READTEXT 85

5.6.7  BACKUP 85

5.6.8  RESTORE 86

5.6.9  SELECT 88

5.6.10  SET 89

5.6.11  SHUTDOWN 90

5.6.12  WRITETEXT 90

5.6.13  USE 91

5.7  小結 92

5.8  實踐與練習 92

第6章  SQL函數的使用 93

 視頻講解:68分鐘

6.1  聚合函數 93

6.1.1  聚合函數概述 94

6.1.2  SUM(求和)函數 94

6.1.3  AVG(平均數)函數 95

6.1.4  MIN(最小值)函數 96

6.1.5  MAX(最大值)函數 96

6.1.6  COUNT(統計)函數 97

6.1.7  DISTINCT(去重)函數 98

6.1.8  查詢重復記錄 99

6.2  數學函數 99

6.2.1  數學函數概述 100

6.2.2  ABS(絕對值)函數 100

6.2.3  PI(圓周率)函數 101

6.2.4  POWER(乘方)函數 101

6.2.5  RAND(隨機浮點數)函數 101

6.2.6  ROUND(四捨五入)函數 102

6.2.7  SQUARE(平方)函數和SQRT(平

方根)函數 103

6.2.8  三角函數 104

6.3  字符串函數 106

6.3.1  字符串函數概述 106

6.3.2  ASCII(獲取ASCII碼)函數 106

6.3.3  CHARINDEX(返回字符串的起始

位置)函數 108

6.3.4  LEFT(取左邊指定個數的字符)函數 109

6.3.5  RIGHT(取右邊指定個數的字符)函數 109

6.3.6  LEN(返回字符個數)函數 110

6.3.7  REPLACE(替換字符串)函數 110

6.3.8  REVERSE(返回字符表達式的反轉)

函數 111

6.3.9  STR(將數字數據轉為字符數據)函數 111

6.3.10  SUBSTRING(取字符串)函數 112

6.4  日期和時間函數   113

6.4.1  日期和時間函數概述 113

6.4.2  GETDATE(返回當前系統日期和

時間)函數 113

6.4.3  DAY(返回指定日期的天)函數 114

6.4.4  MONTH(返回指定日期的月)函數 114

6.4.5  YEAR(返回指定日期的年)函數 114

6.4.6  DATEDIFF(返回日期和時間的邊

界數)函數 115

6.4.7  DATEADD(添加日期時間)函數 116

6.5  轉換函數 117

6.5.1  轉換函數概述 117

6.5.2  CAST函數 118

6.5.3  CONVERT函數 118

6.6  元數據函數 120

6.6.1  元數據函數概述 120

6.6.2  COL_LENGTH(數據列的定義長度)

函數 121

6.6.3  COL_NAME(數據庫列的名稱)函數 122

6.6.4  DB_NAME(數據庫名)函數 122

6.7  小結 122

6.8  實踐與練習 123

第7章  SQL數據查詢基礎 124

 視頻講解:59分鐘

7.1  SELECT檢索數據 124

7.1.1  SELECT語句的基本結構 125

7.1.2  WITH子句 126

7.1.3  SELECT…FROM子句 127

7.1.4  INTO子句 131

7.1.5  WHERE子句 131

7.1.6  GROUP BY子句 141

7.1.7  HAVING子句 143

7.1.8  ORDER BY子句 144

7.1.9  COMPUTE子句 145

7.1.10  DISTINCT關鍵字 147

7.1.11  TOP關鍵字 147

7.2  UNION合並多個查詢結果 148

7.2.1  UNION與連接之間的區別 148

7.2.2  使用UNION ALL合並表 149

7.2.3  UNION中的ORDER BY子句 149

7.2.4  UNION中的自動數據類型轉換 150

7.2.5  使用UNION合並不同類型的數據 150

7.2.6  使用UNION合並有不同列數的兩個表 151

7.2.7  使用UNION進行多表合並 151

7.3  小結 152

7.4  實踐與練習 152

第8章  SQL數據高級查詢 153

 視頻講解:28分鐘

8.1  子查詢與嵌套查詢 154

8.1.1  子查詢概述 154

8.1.2  嵌套查詢概述 154

8.1.3  簡單的嵌套查詢 155

8.1.4  帶IN的嵌套查詢 155

8.1.5  帶NOT IN的嵌套查詢 156

8.1.6  帶SOME的嵌套查詢 156

8.1.7  帶ANY的嵌套查詢 157

8.1.8  帶ALL的嵌套查詢 157

8.1.9  帶EXISTS的嵌套查詢 158

8.2  連接查詢 158

8.2.1  內連接 159

8.2.2  外連接 159

8.2.3  交叉連接 161

8.2.4  連接多表 162

8.3  使用CASE函數進行查詢 164

8.4  小結 166

8.5  實踐與練習 166

第9章  視圖的使用 167

 視頻講解:13分鐘

9.1  視圖概述 167

9.2  視圖的分類與操作 168

9.2.1  以界面方式操作視圖 168

9.2.2  使用CREATE VIEW語句創建視圖 169

9.2.3  使用ALTER VIEW語句修改視圖 171

9.2.4  使用DROP VIEW語句刪除視圖 172

9.2.5  使用sp_rename重命名視圖 173

9.3  通過視圖操作數據 174

9.3.1  從視圖中瀏覽數據 174

9.3.2  向視圖中添加數據 175

9.3.3  修改視圖中的數據 175

9.3.4  刪除視圖中的數據 176

9.4  小結 176

9.5  實踐與練習 176

 

第3篇 高 級 應 用

 

第10章  存儲過程 178

 視頻講解:27分鐘

10.1  存儲過程概述 178

10.1.1  存儲過程的概念 178

10.1.2  存儲過程的優點 179

10.2  創建存儲過程 179

10.2.1  使用向導創建存儲過程 180

10.2.2  使用CREATE PROC語句

創建存儲過程 181

10.3  管理存儲過程 182

10.3.1  執行存儲過程 182

10.3.2  查看存儲過程 183

10.3.3  修改存儲過程 185

10.3.4  重命名存儲過程 187

10.3.5  刪除存儲過程 188

10.4  小結 190

10.5  實踐與練習 190

第11章  觸發器 191

 視頻講解:19分鐘

11.1  觸發器概述 191

11.1.1  觸發器的概念 191

11.1.2  觸發器的優點 192

11.1.3  觸發器的種類 192

11.2  創建觸發器 193

11.2.1  創建DML觸發器 193

11.2.2  創建DDL觸發器 194

11.2.3  創建登錄觸發器 195

11.3  管理觸發器 197

11.3.1  查看觸發器 197

11.3.2  修改觸發器 198

11.3.3  重命名觸發器 200

11.3.4  禁用和啟用觸發器 200

11.3.5  刪除觸發器 202

11.4  小結 204

11.5  實踐與練習 204

第12章  游標的使用 205

 視頻講解:25分鐘

12.1  游標的概述 205

12.1.1  游標的實現 206

12.1.2  游標的類型 206

12.2  游標的基本操作 207

12.2.1  聲明游標 207

12.2.2  打開游標 210

12.2.3  讀取游標中的數據 210

12.2.4  關閉游標 212

12.2.5  釋放游標 212

12.3  使用系統過程查看游標 213

12.3.1  sp_cursor_list 213

12.3.2  sp_describe_cursor 215

12.4  小結 216

12.5  實踐與練習 216

第13章  索引與數據完整性 217

 視頻講解:57分鐘

13.1  索引的概念 217

13.2  索引的優缺點 218

13.2.1  索引的優點 218

13.2.2  索引的缺點 218

13.3  索引的分類 218

13.3.1  聚集索引 219

13.3.2  非聚集索引 219

13.4  索引的操作 220

13.4.1  索引的創建 220

13.4.2  查看索引信息 222

13.4.3  索引的修改 224

13.4.4  索引的刪除 224

13.4.5  設置索引的選項 226

13.5  索引的分析與維護 228

13.5.1  索引的分析 228

13.5.2  索引的維護 230

13.6  全文索引 232

13.6.1  使用可視化管理工具啟用全文索引 232

13.6.2  使用SQL語句啟用全文索引 234

13.6.3  使用SQL語句刪除全文索引 236

13.6.4  全文目錄的維護 237

13.7  數據完整性 239

13.7.1 域完整性 239

13.7.2 實體完整性 240

13.7.3 引用完整性 241

13.7.4  用戶定義完整性 241

13.8  小結 242

13.9  實踐與練習 242

第14章  SQL中的事務 243

 視頻講解:28分鐘

14.1  事務的概念 243

14.2  顯式事務與隱式事務 244

14.2.1  顯式事務 244

14.2.2  隱式事務 245

14.2.3  事務的COMMIT和ROLLBACK 246

14.3  使用事務 246

14.3.1  開始事務 246

14.3.2  結束事務 247

14.3.3  回滾事務 247

14.3.4  事務的工作機制 248

14.3.5  自動提交事務 249

14.3.6  事務的並發問題 249

14.3.7  事務的隔離級別 250

14.4  鎖 253

14.4.1  SQL Server鎖機制 253

14.4.2  鎖模式 253

14.4.3  鎖的粒度 254

14.4.4  查看鎖 255

14.4.5  死鎖 256

14.5  分佈式事務處理 257

14.5.1  分佈式事務簡介 257

14.5.2  創建分佈式事務 257

14.5.3  分佈式事務處理協調器 258

14.6  小結 258

14.7  實踐與練習 258

第15章  維護SQL Server數據庫 259

 視頻講解:46分鐘

15.1  離線與聯機數據庫 259

15.1.1  離線數據庫 259

15.1.2  聯機數據庫 260

15.2  分離和附加數據庫 260

15.2.1  分離數據庫 261

15.2.2  附加數據庫 261

15.3  導入和導出數據表 262

15.3.1  導入SQL Server數據表 262

15.3.2  導入其他數據源的數據 265

15.3.3  導出SQL Server數據表 268

15.4  備份和恢復數據庫 270

15.4.1  備份類型 270

15.4.2  恢復模式 271

15.4.3  備份數據庫 271

15.4.4  恢復數據庫 273

15.5  收縮數據庫和文件 274

15.5.1  自動收縮數據庫 274

15.5.2  手動收縮數據庫 275

15.6  生成與執行SQL腳本 276

15.6.1  將數據庫生成SQL腳本 276

15.6.2  將數據表生成SQL腳本 277

15.6.3  執行SQL腳本 278

15.7  小結 279

15.8  實踐與練習 279

第16章  數據庫的安全機制 280

 視頻講解:30分鐘

16.1  數據庫安全概述 280

16.2  數據庫登錄管理 280

16.2.1  選擇驗證模式 281

16.2.2  管理登錄賬號 281

16.2.3  更改登錄驗證方式 289

16.2.4  設置密碼 290

16.3  用戶及權限管理 291

16.3.1  創建與刪除數據庫用戶 291

16.3.2  設置服務器角色權限 292

16.4  小結 293

16.5  實踐與練習 293

 

第4篇 項 目 實 戰

 

第17章  Visual C++ + SQL Server實現

酒店客房管理系統 296

 視頻講解:30分鐘

17.1  開發背景 296

17.2  需求分析 297

17.3  系統設計 297

17.3.1  系統目標 297

17.3.2  系統功能結構 297

17.3.3  系統預覽 298

17.3.4  業務流程圖 299

17.3.5  數據庫設計 300

17.4  主窗體設計 301

17.4.1  主窗體概述 301

17.4.2  主窗體實現過程 301

17.5  登錄模塊設計 306

17.5.1  登錄模塊概述 306

17.5.2  登錄模塊技術分析 307

17.5.3  登錄模塊設計過程 307

17.6  客房預訂模塊設計 311

17.6.1  客房預訂模塊概述 311

17.6.2  客房預訂模塊技術分析 311

17.6.3  客房預訂模塊實現過程 311

17.7  追加押金模塊設計 315

17.7.1  追加押金模塊概述 315

17.7.2  追加押金模塊技術分析 316

17.7.3  追加押金模塊實現過程 316

17.8  調房登記模塊設計 321

17.8.1  調房登記模塊概述 321

17.8.2  調房登記模塊技術分析 321

17.8.3  調房登記模塊實現過程 322

17.9  客房銷售報表模塊設計 326

17.9.1  客房銷售報表模塊概述 326

17.9.2  客房銷售報表模塊技術分析 327

17.9.3  客房銷售報表模塊實現過程 327

17.10  小結 335

第18章  C# + SQL Server實現

企業人事管理系統 336

 視頻講解:95分鐘

18.1  系統概述 336

18.2  系統設計 337

18.2.1  系統目標 337

18.2.2  系統功能結構 337

18.2.3  系統業務流程圖 338

18.3  系統運行環境 338

18.4  數據庫與數據表設計 339

18.4.1  數據庫分析 339

18.4.2  主要數據表結構 339

18.4.3  數據表邏輯關系 343

18.5  創建項目 345

18.6  公共類設計 346

18.6.1  MyMeans公共類 346

18.6.2  MyModule公共類 348

18.7  登錄模塊設計 361

18.7.1  設計登錄窗體 361

18.7.2  按下Enter鍵時移動鼠標焦點 361

18.7.3  登錄功能的實現 362

18.8  系統主窗體設計 363

18.8.1  設計菜單欄 363

18.8.2  設計工具欄 364

18.8.3  設計導航菜單 365

18.8.4  設計狀態欄 366

18.9  人事檔案管理模塊設計 367

18.9.1  設計人事檔案管理窗體 367

18.9.2  添加/修改人事檔案信息 370

18.9.3  刪除人事檔案信息 371

18.9.4  單條件查詢人事檔案信息 372

18.9.5  逐條查看人事檔案信息 374

18.9.6  將人事檔案信息導出為Word文檔 376

18.9.7  將人事檔案信息導出為Excel表格 380

18.10  用戶設置模塊設計 384

18.10.1  設計用戶設置窗體 384

18.10.2  添加/修改用戶信息 385

18.10.3  刪除用戶基本信息 386

18.10.4  設置用戶操作權限 387

18.11  數據庫維護模塊設計 388

18.11.1  設計數據庫維護窗體 388

18.11.2  備份數據庫 389

18.11.3  還原數據庫 389

18.12  小結 391

第19章  Java + SQL Server實現

學生成績管理系統 392

 視頻講解:53分鐘

19.1  系統概述 392

19.2  系統分析 393

19.2.1  需求分析 393

19.2.2  可行性研究 393

19.3  系統設計 393

19.3.1  系統目標 393

19.3.2  系統功能結構 393

19.3.3  系統預覽 394

19.3.4  構建開發環境 395

19.3.5  文件夾組織結構 395

19.4  數據庫設計 396

19.4.1  數據庫分析 396

19.4.2  數據庫概念設計 396

19.4.3  數據庫邏輯結構設計 396

19.5  公共模塊設計 398

19.5.1  各種實體類的編寫 398

19.5.2  操作數據庫公共類的編寫 400

19.6  系統用戶登錄模塊設計 404

19.6.1  系統用戶登錄模塊概述 404

19.6.2  系統用戶登錄模塊技術分析 405

19.6.3  系統用戶登錄模塊實現過程 405

19.7  主窗體模塊設計 407

19.7.1  主窗體模塊概述 407

19.7.2  主窗體模塊技術分析 408

19.7.3  主窗體模塊實現過程 408

19.8  班級信息設置模塊設計 411

19.8.1  班級信息設置模塊概述 411

19.8.2  班級信息設置模塊技術分析 411

19.8.3  班級信息設置模塊實現過程 411

19.9  學生基本信息管理模塊設計 414

19.9.1  學生基本信息管理模塊概述 414

19.9.2  學生基本信息管理模塊技術分析 415

19.9.3  學生基本信息管理模塊實現過程 415

19.10  考試成績信息管理模塊設計 419

19.10.1  考試成績信息管理模塊概述 419

19.10.2  考試成績信息管理模塊技術分析 420

19.10.3  考試成績信息管理模塊實現過程 420

19.11  基本信息數據查詢模塊設計 424

19.11.1  基本信息數據查詢模塊概述 424

19.11.2  基本信息數據查詢模塊技術分析 425

19.11.3  基本信息數據查詢模塊實現過程 425

19.12  考試成績班級明細數據查詢

模塊設計 427

19.12.1  考試成績班級明細數據

查詢模塊概述 427

19.12.2  考試成績班級明細數據查詢

模塊技術分析 428

19.12.3  考試成績班級明細數據查詢

模塊實現過程 428

19.13  小結 430