數據庫原理與應用

許薇 黃燦輝 劉雲香 鄭冬花 林樹青 賀琳

  • 出版商: 清華大學
  • 出版日期: 2025-09-01
  • 售價: $474
  • 語言: 簡體中文
  • ISBN: 7302703418
  • ISBN-13: 9787302703419
  • 相關分類: MySQL
  • 下單後立即進貨 (約4週~6週)

  • 數據庫原理與應用-preview-1
  • 數據庫原理與應用-preview-2
  • 數據庫原理與應用-preview-3
數據庫原理與應用-preview-1

商品描述

"數據庫原理與應用基於MySQL 9.0,系統介紹了數據庫技術的原理和應用方法。全書結構合理、重難點突出,符合教學和讀者的認知規律。本書包括數據庫系統概念、數據庫操作、數據庫優化和管理、數據庫設計和數據庫編程5篇17章,內容循序漸進,環環相扣,強化知識脈絡,案例實用、豐富。每篇提供思維導圖,可幫助讀者系統了解章節的知識架構;每章後面附有習題,可幫助讀者鞏固所學知識。 本書具有豐富的配套資源,包括實驗資源、教學課件等,讀者可以從相關網站下載。本書還可與學習通網站的“數據庫原理與應用”課程實驗配套使用。 本書可作為高等學校計算機及相關專業“數據庫原理與應用”課程的教材,也可供從事計算機軟件工作的科技人員、工程技術人員及其他有關人員參考。 "

作者簡介

許薇,廣州商學院信息工程學院計算機系教授,華北電力大學碩士;研究方向為計算機軟件開發、數據挖掘;編寫《數據庫原理與應用》、《C語言程序設計》《面向對象的程序設計C++版》《離散數學》等教材14部,在國內外刊物上發表論文30余篇。

目錄大綱

目錄

第一篇數據庫系統概念

第1章數據庫系統概述/5

1.1數據庫基礎概念和數據庫技術發展5

1.1.1數據庫基本概念5

1.1.2數據庫技術發展9

1.2數據庫系統的組成和分類12

1.2.1數據庫系統的組成12

1.2.2數據庫系統的分類13

1.3數據庫系統的體系結構16

1.3.1數據庫系統的內部體系結構16

1.3.2數據庫系統的外部體系結構18

1.4數據庫描述的三個領域21

1.4.1現實世界21

1.4.2信息世界22

1.4.3計算機世界23

1.5 數據庫領域新技術27

1.5.1分布式數據庫27

1.5.2數據倉庫與數據挖掘28

1.5.3大數據技術32

本章小結33

習題一33

第2章關系數據庫/35

2.1關系的形式及其性質35

2.1.1 關系的形式化定義35

2.1.2關系的性質37

2.2關系模式與關系數據庫模式38

2.2.1關系模式38

2.2.2關系數據庫模式39

2.3關系的碼和關系的完整性392.3.1關系的碼39

2.3.2關系的完整性40

2.3.3完整性規則41

2.3.4完整性實現要考慮的問題42

本章小結43

習題二44

第二篇數據庫操作

第3章SQL的基本概念和MySQL簡介/493.1SQL的基本概念49

3.1.1SQL的主要特點50

3.1.2SQL的分類50

3.2MySQL簡介51

3.2.1MySQL的發展和版本52

3.2.2MySQL的主要組件53

3.2.3MySQL的下載和安裝56

3.2.4MySQL管理工具60

本章小結61

習題三61

第4章數據庫的創建和管理/62

4.1MySQL數據庫的存儲引擎62

4.1.1存儲引擎概述62

4.1.2InnoDB存儲引擎62

4.1.3MyISAM存儲引擎65

4.1.4Memory存儲引擎66

4.1.5其他存儲引擎67

4.1.6MySQL數據庫存儲引擎的選擇68

4.2MySQL數據庫的存儲字符集69

4.2.1MySQL數據庫字符集概述69

4.2.2MySQL數據庫字符集設置71

4.2.3MySQL數據庫字符集常見問題74

4.3MySQL數據庫管理75

4.3.1創建數據庫75

4.3.2查看數據庫76

4.3.3修改數據庫77

4.3.4刪除數據庫77

本章小結78

習題四78

第5章數據表的管理和表中數據操縱/81

5.1MySQL數據類型81

5.1.1數值類型81

5.1.2字符串類型83

5.1.3時間日期類型85

5.1.4二進制類型86

5.1.5其他類型87

5.2MySQL數據表管理89

5.2.1創建數據表90

5.2.2定義表的約束90

5.2.3修改數據表93

5.2.4刪除數據表96

5.2.5查看數據表97

5.3數據表中數據的操縱98

5.3.1向表中添加數據98

5.3.2修改數據表中的數據102

5.3.3刪除數據表中的數據104

本章小結106

習題五106

第6章數據表中的數據查詢/108

6.1單關系數據查詢108

6.1.1單關系數據查詢結構110

6.1.2無條件查詢110

6.1.3條件查詢113

6.1.4聚合函數查詢120

6.1.5分組查詢121

6.1.6查詢結果排序123

6.1.7限制查詢結果數量124

6.2多關系數據查詢127

6.2.1多關系數據查詢結構128

6.2.2內連接查詢128

6.2.3外連接查詢130

6.2.4交叉連接查詢133

6.2.5自連接查詢134

6.3子查詢136

6.3.1普通子查詢136

6.3.2相關子查詢142

6.4集合運算查詢145

本章小結149

習題六150

第三篇數據庫優化和管理

第7章視圖和索引/1577.1視圖157

7.1.1視圖概述157

7.1.2視圖的作用158

7.1.3視圖的工作機制158

7.2MySQL視圖管理159

7.2.1創建視圖159

7.2.2查看視圖的定義162

7.2.3修改視圖的定義163

7.2.4刪除視圖165

7.2.5更新視圖的數據165

7.3索引167

7.3.1索引的作用167

7.3.2索引類型168

7.3.3索引設置原則170

7.4MySQL索引管理171

7.4.1創建索引171

7.4.2查看索引172

7.4.3刪除索引172

本章小結173

習題七174

第8章數據庫安全性管理/176

8.1數據庫安全性概述176

8.1.1數據庫安全性的含義176

8.1.2數據庫安全性控制的一般方法177

8.2MySQL權限系統181

8.2.1MySQL權限管理181

8.2.2MySQL權限管理相關表182

8.3MySQL用戶管理185

8.3.1添加用戶185

8.3.2查看用戶185

8.3.3重命名用戶186

8.3.4修改用戶密碼187

8.3.5刪除用戶188

8.4MySQL權限授予和回收189

8.4.1MySQL常見權限189

8.4.2權限授予191

8.4.3權限查看192

8.4.4權限回收193

8.4.5權限轉移193

8.5MySQL角色管理194

8.5.1MySQL角色管理概述194

8.5.2MySQL角色創建及授權195

8.5.3MySQL角色分配及激活195

8.5.4MySQL角色查看197

8.5.5MySQL角色撤銷198

本章小結199

習題八200

第9章數據庫並發控制與封鎖/202

9.1數據庫並發性的含義202

9.2事務及其性質202

9.2.1事務的概念203

9.2.2事務的性質204

9.3並發控制與數據不一致性205

9.3.1丟失修改206

9.3.2讀“臟”數據206

9.3.3不可重復讀207

9.3.4幻影讀207

9.4事務的隔離級別208

9.4.1讀取未提交的數據208

9.4.2讀取提交的數據208

9.4.3可重復讀208

9.4.4串行化209

9.5封鎖及封鎖協議209

9.5.1封鎖粒度209

9.5.2封鎖類型210

9.5.3封鎖協議210

9.5.4死鎖與活鎖214

本章小結217

習題九217

第10章數據庫備份還原和日誌管理/219

10.1備份和還原219

10.1.1備份和還原概述220

10.1.2備份和還原的方法220

10.2MySQL數據庫備份222

10.2.1使用mysqldump命令備份222

10.2.2使用工具備份224

10.3MySQL數據庫還原225

10.3.1使用命令進行數據庫還原225

10.3.2使用工具進行數據庫還原226

10.4MySQL數據庫遷移226

10.4.1MySQL同類型數據庫遷移227

10.4.2MySQL和其他數據庫管理系統間的數據庫遷移227

10.5數據庫導出和導入228

10.5.1使用SQL語句導出和導入文件228

10.5.2使用命令導出和導入文件229

10.6MySQL日誌管理230

10.6.1日誌的類型230

10.6.2日誌的作用231

10.6.3錯誤日誌管理232

10.6.4二進制日誌管理233

10.6.5慢查詢日誌管理235

10.6.6通用日誌管理236

本章小結237

習題十237

第四篇數據庫設計

第11章數據庫設計概述及需求分析/24311.1數據庫設計概述243

11.1.1數據庫設計的任務和內容243

11.1.2數據庫設計方法245

11.2數據庫設計各階段的主要工作245

11.3數據庫設計案例概述及關鍵業務描述246

11.3.1案例概述246

11.3.2案例關鍵業務描述247

11.4需求分析的任務和方法論247

11.4.1需求分析的任務248

11.4.2需求分析的方法論248

11.5案例的需求分析249

11.5.1數據流圖249

11.5.2數據字典252

11.5.3案例的需求分析253

本章小結256

習題十一257

第12章關系模式的規範化理論/258

12.1規範化的內容和常見異常問題258

12.1.1規範化的內容258

12.1.2不合理的關系模式存在的異常問題259

12.2函數依賴260

12.2.1函數依賴的定義260

12.2.2函數依賴的類型262

12.2.3案例的函數依賴分析265

12.3範式266

12.3.1範式的提出266

12.3.2第一範式267

12.3.3第二範式269

12.3.4第三範式270

12.3.5BC範式271

12.3.6關系模式的規範化過程272

12.3.7關系模式的規範化的要求277

本章小結278

習題十二278

第13章數據庫概念結構設計和邏輯結構設計/280

13.1概念結構設計280

13.1.1概念結構設計的主要任務和必要性280

13.1.2概念模型的ER圖表示方式281

13.1.3概念結構設計的步驟284

13.1.4局部ER圖設計284

13.1.5案例的局部ER圖設計285

13.1.6全局ER圖設計286

13.1.7案例的全局ER圖設計286

13.2邏輯結構設計288

13.2.1邏輯結構設計的任務步驟288

13.2.2初始關系模式轉換原則和具體做法289

13.2.3數據模型優化290

13.2.4關系模式的評價和改進290

13.2.5案例的邏輯結構設計291

本章小結291

習題十三292

第14章數據庫物理結構設計、實施和運行維護/294

14.1數據庫物理結構設計294

14.1.1數據庫物理結構設計的任務步驟294

14.1.2數據庫物理結構設計的內容和方法295

14.1.3確定物理結構295

14.1.4評價物理結構296

14.1.5案例的物理結構設計296

14.2數據庫實施及運行維護297

14.2.1數據庫實施297

14.2.2數據庫運行和維護298

本章小結299

習題十四299

第五篇數據庫編程

第15章存儲過程與存儲函數/30515.1MySQL存儲過程與存儲函數305

15.1.1存儲過程與存儲函數概述305

15.1.2存儲過程的優點306

15.1.3存儲過程與存儲函數的比較306

15.2MySQL編程基礎307

15.2.1註釋、定界符與語句塊307

15.2.2變量的定義和使用308

15.2.3運算符與表達式312

15.2.4流程控制語句315

15.3MySQL常用內置函數318

15.3.1數學函數318

15.3.2字符串函數319

15.3.3日期和時間函數320

15.3.4系統信息函數322

15.3.5聚合與統計函數322

15.3.6加密函數323

15.3.7其他函數323

15.4MySQL存儲過程的使用324

15.4.1創建存儲過程325

15.4.2調用存儲過程327

15.4.3查看存儲過程329

15.4.4修改存儲過程329

15.4.5刪除存儲過程329

15.4.6存儲過程的參數330

15.5MySQL用戶自定義函數330

15.5.1創建函數330

15.5.2調用自定義函數331

15.5.3函數的維護管理331

15.6遊標的使用333

本章小結335

習題十五336

第16章觸發器和事件/337

16.1MySQL觸發器337

16.1.1觸發器概述337

16.1.2創建觸發器338

16.1.3查看觸發器339

16.1.4刪除觸發器340

16.2MySQL事件341

16.2.1事件概述341

16.2.2創建事件341

16.2.3查看事件343

16.2.4修改事件343

本章小結344

習題十六344

第17章綜合案例——網上選課系統的開發與設計/346

17.1網上選課系統的目標346

17.2網上選課系統的可行性分析347

17.3網上選課系統的系統分析348

17.3.1網上選課系統的功能需求分析348

17.3.2網上選課系統的非功能需求分析349

17.4網上選課系統的系統設計350

17.4.1網上選課系統的概念結構設計350

17.4.2網上選課系統的邏輯結構設計351

17.4.3網上選課系統的物理結構設計354

17.4.4網上選課系統的系統實施356

17.5網上選課系統的測試360

本章小結362

參考文獻/363

附錄AMySQL實驗指導/364實驗一數據庫的創建和管理364

實驗二數據表的創建和數據操縱370

實驗三數據表中的數據查詢380

實驗四視圖和索引的管理390

實驗五數據庫安全性管理395

實驗六MySQL備份和還原400

實驗七綜合案例——網上選課系統的設計405