本書使用深入淺出、通俗易懂的語言介紹數(shù)據(jù)庫系統(tǒng)的基本原理、技術(shù)和方法,并結(jié)合典型案例,將理論知識融入實踐內(nèi)容,通過實踐驗證理論,幫助讀者掌握數(shù)據(jù)庫相關(guān)知識與技術(shù)。
全書共9章,全面系統(tǒng)地闡述數(shù)據(jù)庫原理與應(yīng)用,主要內(nèi)容包括數(shù)據(jù)庫系統(tǒng)概述、關(guān)系數(shù)據(jù)庫、關(guān)系數(shù)據(jù)庫標準語言、關(guān)系數(shù)據(jù)庫規(guī)范化理論、數(shù)據(jù)庫設(shè)計、數(shù)據(jù)庫的安全性控制與完整性控制、并發(fā)控制、數(shù)據(jù)庫備份與恢復(fù)和SQL Server 2019高級應(yīng)用。本書以SQL Server 2019為平臺介紹數(shù)據(jù)庫技術(shù)的實現(xiàn),主要包括數(shù)據(jù)庫創(chuàng)建與維護、數(shù)據(jù)表創(chuàng)建與維護、查詢與統(tǒng)計操作、視圖創(chuàng)建與維護、存儲過程和觸發(fā)器的創(chuàng)建、用戶管理與權(quán)限分配、數(shù)據(jù)庫備份與恢復(fù)等內(nèi)容,使讀者能夠通過SQL Server 2019實現(xiàn)教學(xué)案例,理論與實踐緊密結(jié)合,進一步加深對數(shù)據(jù)庫系統(tǒng)基本原理、技術(shù)和方法的理解。
結(jié)合新工科建設(shè)需要,既能滿足計算機專業(yè)教學(xué)需求,也能夠滿足非計算機專業(yè)教學(xué)需要。
1.融入課程思政:充分體現(xiàn)習近平新時代中國特色社會主義思想、社會主義核心價值觀、家國情懷、法制意識、社會責任、文化自信、人文情懷、工匠精神等相關(guān)思想政治教育元素。
2.采用項目驅(qū)動教學(xué):將真實案例貫穿于整本教材知識點的編寫。
3.融入信息化技術(shù):對重要知識點配套微視頻講解,同時,教材編寫組立項建設(shè)的在線開放課程將上線,可配套教材進行在線學(xué)習。
4.與行業(yè)需求對接:教材編寫組邀請企業(yè)數(shù)據(jù)庫開發(fā)技術(shù)人員作為技術(shù)顧問,根據(jù)市場技術(shù)需求對教材內(nèi)容進行規(guī)劃,使新編教材更具實踐性,能夠更好滿足技術(shù)需求,更符合應(yīng)用型人才培養(yǎng)要求。
5.立體化教學(xué)資源:提供配套的教學(xué)資料,包括重點知識微視頻、教學(xué)課件、教學(xué)執(zhí)行大綱、實驗操作指導(dǎo)、綜合實踐項目案例、SQL Sever的操作視頻、相關(guān)配套的My SQL資料、豐富的練習題、商業(yè)案例分析等,能夠滿足線上線下混合式教學(xué)所需的教學(xué)資源。
趙軍民,博士,副教授,先后擔任河南城建學(xué)院數(shù)字媒體教研室主任、副院長,教務(wù)處副處長等職務(wù)。2004年從事教學(xué)工作以來,教學(xué)態(tài)度嚴謹,積極開拓教學(xué)思路,注重理論聯(lián)系實際,及時更新學(xué)科發(fā)展的新興技術(shù),靈活運用教材,不斷嘗試教學(xué)改革。參與《應(yīng)用型本科高校線上線下混合式金課教學(xué)模式、質(zhì)量標準與規(guī)范評價體系研究與實踐以河南城建學(xué)院為例》《城建類應(yīng)用型本科專業(yè)計算機基礎(chǔ)課程體系建設(shè)研究》教改項目;2019年立項建設(shè)省級在線開放課程《數(shù)據(jù)庫原理及應(yīng)用》已在中國慕課(MOOC)上線。參編《計算思維》《計算機基礎(chǔ)應(yīng)用》《Internet技術(shù)與應(yīng)用》《大學(xué)計算機基礎(chǔ)》等教材;先后承擔《數(shù)據(jù)庫原理及應(yīng)用》《C語言程序設(shè)計》《數(shù)據(jù)結(jié)構(gòu)》《計算思維》等課程授課任務(wù),教學(xué)效果優(yōu)秀,受到學(xué)生和同行的一致好評,多次獲得學(xué)校教學(xué)質(zhì)量考評優(yōu)秀優(yōu)秀教師等榮譽。 近年來,發(fā)表學(xué)術(shù)論文20余篇,其中SCI收錄2篇、EI收錄6篇、中文核心2篇。論文An Edge-based Protein Complex Identification Algorithm With Gene Co-expression Data(PCIA-GeCo)獲得河南省第三屆自然科學(xué)學(xué)術(shù)論文獎二等獎。參與省部級以上項目6項,其中主持2項:國家語委十二五科研規(guī)劃項目面向中文信息處理的情感詞語識別研究、國家語委十三五科研規(guī)劃項目情感詞語知識庫、語料庫建設(shè)及應(yīng)用;出版《基于生物網(wǎng)絡(luò)的數(shù)據(jù)挖掘方法》學(xué)術(shù)專著1部;申請發(fā)明專利1項。
第 1章 數(shù)據(jù)庫系統(tǒng)概述1
1.1 數(shù)據(jù)庫系統(tǒng)的基本概念1
1.1.1 數(shù)據(jù)和信息1
1.1.2 數(shù)據(jù)庫2
1.1.3 數(shù)據(jù)庫管理系統(tǒng)2
1.1.4 數(shù)據(jù)庫系統(tǒng)2
1.2 數(shù)據(jù)管理技術(shù)的產(chǎn)生和發(fā)展4
1.2.1 數(shù)據(jù)管理中的術(shù)語和基本概念4
1.2.2 人工管理階段5
1.2.3 文件系統(tǒng)管理階段5
1.2.4 數(shù)據(jù)庫系統(tǒng)管理階段8
1.3 數(shù)據(jù)模型10
1.3.1 兩類數(shù)據(jù)模型11
1.3.2 三個世界的劃分及其相關(guān)概念11
1.3.3 數(shù)據(jù)模型的組成要素14
1.3.4 常用的邏輯數(shù)據(jù)模型15
1.4 數(shù)據(jù)庫系統(tǒng)的結(jié)構(gòu)20
1.4.1 數(shù)據(jù)庫系統(tǒng)模式的概念21
1.4.2 數(shù)據(jù)庫系統(tǒng)的三級模式結(jié)構(gòu)21
1.4.3 數(shù)據(jù)庫系統(tǒng)的二級映像和數(shù)據(jù)獨立性23
1.5 數(shù)據(jù)庫領(lǐng)域的新技術(shù)24
1.5.1 數(shù)據(jù)倉庫和數(shù)據(jù)挖掘技術(shù)24
1.5.2 大數(shù)據(jù)技術(shù)27
1.5.3 區(qū)塊鏈技術(shù)30
本章小結(jié)33
習題33
第 2章 關(guān)系數(shù)據(jù)庫35
2.1 關(guān)系數(shù)據(jù)模型35
2.1.1關(guān)系數(shù)據(jù)結(jié)構(gòu)35
2.1.2關(guān)系模型的形式化定義37
2.1.3關(guān)系的性質(zhì)39
2.1.4關(guān)系模式40
2.2 關(guān)系的碼40
2.2.1候選碼40
2.2.2主碼41
2.2.3全碼41
2.2.4外碼42
2.3 關(guān)系的完整性42
2.3.1實體完整性42
2.3.2參照完整性44
2.3.3 用戶自定義完整性45
2.4 關(guān)系代數(shù)45
2.4.1關(guān)系代數(shù)的運算符45
2.4.2傳統(tǒng)的集合運算45
2.4.3專門的關(guān)系運算46
本章小結(jié)49
習題49
第3章 關(guān)系數(shù)據(jù)庫標準語言SQL55
3.1 SQL概述55
3.1.1 SQL的發(fā)展55
3.1.2 SQL的特點55
3.1.3 SQL的組成56
3.2 數(shù)據(jù)庫的創(chuàng)建與管理56
3.2.1 數(shù)據(jù)庫的結(jié)構(gòu)56
3.2.2 系統(tǒng)數(shù)據(jù)庫58
3.2.3 創(chuàng)建用戶數(shù)據(jù)庫59
3.2.4 修改用戶數(shù)據(jù)庫62
3.2.5 刪除用戶數(shù)據(jù)庫65
3.2.6 查看數(shù)據(jù)庫信息66
3.2.7 分離和附加用戶數(shù)據(jù)庫67
3.3 數(shù)據(jù)表及其操作69
3.3.1 數(shù)據(jù)類型70
3.3.2 創(chuàng)建數(shù)據(jù)表72
3.3.3 修改表結(jié)構(gòu)77
3.3.4 查看數(shù)據(jù)表79
3.3.5 刪除數(shù)據(jù)表79
3.3.6 更新數(shù)據(jù)表80
3.4 數(shù)據(jù)查詢82
3.4.1 投影查詢82
3.4.2 選擇查詢85
3.4.3 排序查詢89
3.4.4 使用聚合函數(shù)91
3.4.5 分組查詢91
3.4.6 連接查詢93
3.4.7 子查詢98
3.4.8 集合查詢101
3.5 視圖102
3.5.1 創(chuàng)建視圖102
3.5.2 修改視圖105
3.5.3 查看視圖106
3.5.4 刪除視圖107
3.5.5 查詢視圖108
3.5.6 更新視圖108
3.6 索引110
3.6.1 索引的概念110
3.6.2 索引的類型111
3.6.3 創(chuàng)建索引112
3.6.4 修改索引114
3.6.5 查看索引116
3.6.6 刪除索引116
本章小結(jié)117
習題117
第4章 關(guān)系數(shù)據(jù)庫規(guī)范化理論120
4.1關(guān)系規(guī)范化的引入120
4.1.1 規(guī)范化問題的提出120
4.1.2 問題解決的方法121
4.1.3 關(guān)系模式規(guī)范化的概念123
4.2 函數(shù)依賴124
4.2.1 函數(shù)依賴的定義124
4.2.2 函數(shù)依賴分類與符號表示125
4.2.3 碼的函數(shù)依賴表示126
4.3 函數(shù)依賴的公理系統(tǒng)126
4.3.1 函數(shù)依賴集的完備性127
4.3.2 函數(shù)依賴的推理規(guī)則127
4.3.3 屬性的閉包與F邏輯蘊含的充要條件130
4.3.4 最小函數(shù)依賴集Fmin131
4.4 關(guān)系模式的規(guī)范化133
4.4.1 第 一范式133
4.4.2 第二范式135
4.4.3 第三范式136
4.4.4 BCNF范式137
4.5 多值依賴與4NF*138
4.5.1 問題的引入138
4.5.2 多值依賴基本概念139
4.5.3 第四范式140
4.6 關(guān)系模式分解140
4.6.1無損分解141
4.6.2 保持函數(shù)依賴145
4.7 關(guān)系模式規(guī)范化步驟147
本章小結(jié)148
習題149
第5章 數(shù)據(jù)庫系統(tǒng)設(shè)計154
5.1 數(shù)據(jù)庫系統(tǒng)設(shè)計概述154
5.1.1 數(shù)據(jù)庫系統(tǒng)設(shè)計的內(nèi)容154
5.1.2 數(shù)據(jù)庫系統(tǒng)設(shè)計的特點155
5.1.3 數(shù)據(jù)庫系統(tǒng)設(shè)計的方法155
5.1.4 數(shù)據(jù)庫系統(tǒng)設(shè)計的基本過程和步驟157
5.2 需求分析160
5.2.1 需求的類型160
5.2.2 需求分析的步驟161
5.2.3 獲取需求的常用方法162
5.2.4 需求分析創(chuàng)建模型的方法163
5.2.5 數(shù)據(jù)流圖164
5.2.6 數(shù)據(jù)字典169
5.3 概念結(jié)構(gòu)設(shè)計171
5.3.1 概念結(jié)構(gòu)設(shè)計的特點171
5.3.2 概念結(jié)構(gòu)設(shè)計使用的方法172
5.3.3 概念結(jié)構(gòu)設(shè)計的步驟172
5.3.4 局部E-R圖設(shè)計173
5.3.5 總體E-R圖設(shè)計178
5.4 邏輯結(jié)構(gòu)設(shè)計185
5.4.1 概念模型轉(zhuǎn)換為邏輯模型的步驟185
5.4.2 概念模型向關(guān)系模型轉(zhuǎn)換的原則185
5.4.3 邏輯模型優(yōu)化及外模式設(shè)計189
5.5 物理結(jié)構(gòu)設(shè)計190
5.5.1 物理結(jié)構(gòu)設(shè)計的步驟190
5.5.2 確定數(shù)據(jù)存取方法191
5.5.3 確定數(shù)據(jù)的物理存儲結(jié)構(gòu)193
5.5.4 評價物理結(jié)構(gòu)193
5.6 數(shù)據(jù)庫實施、運行和維護194
5.6.1 創(chuàng)建數(shù)據(jù)庫結(jié)構(gòu)194
5.6.2 數(shù)據(jù)入庫194
5.6.3 數(shù)據(jù)庫試運行195
5.6.4 數(shù)據(jù)庫運行和維護195
本章小結(jié)196
習題197
第6章 數(shù)據(jù)庫的安全性控制和完整性控制200
6.1 數(shù)據(jù)庫的安全性控制200
6.1.1 數(shù)據(jù)庫安全性的含義200
6.1.2 數(shù)據(jù)庫安全性控制的方法200
6.1.3 SQL Server的安全機制202
6.1.4 SQL Server 的身份驗證模式202
6.1.5 SQL Server 登錄賬號和服務(wù)器角色204
6.1.6 SQL Server 數(shù)據(jù)庫用戶賬號和數(shù)據(jù)庫角色206
6.2 數(shù)據(jù)庫的完整性控制207
6.2.1 數(shù)據(jù)庫完整性概述207
6.2.2 規(guī)則207
6.2.3 默認值209
6.2.4 使用約束實施數(shù)據(jù)庫完整性210
本章小結(jié)212
習題212
第7章 并發(fā)控制214
7.1 事務(wù)214
7.1.1事務(wù)的概念214
7.1.2 事務(wù)的特性215
7.2 并發(fā)控制216
7.2.1 并發(fā)控制的含義216
7.2.2 并發(fā)操作帶來的問題216
7.3 封鎖與封鎖協(xié)議217
7.3.1 封鎖類型217
7.3.2 封鎖協(xié)議217
7.4 活鎖與死鎖219
7.4.1 活鎖219
7.4.2 死鎖220
7.5 并發(fā)調(diào)度的可串行性與兩段鎖協(xié)議221
7.5.1 并發(fā)調(diào)度的可串行性221
7.5.2 兩段鎖協(xié)議222
7.6 封鎖粒度與多粒度封鎖223
7.6.1 封鎖粒度223
7.6.2 多粒度封鎖224
7.7 SQL SERVER的并發(fā)控制機制224
7.7.1 SQL Server的事務(wù)224
7.7.2 SQL Server的封鎖方式224
本章小結(jié)225
習題225
第8章 數(shù)據(jù)庫備份與恢復(fù)227
8.1 數(shù)據(jù)庫故障及恢復(fù)策略227
8.1.1事務(wù)故障及其恢復(fù)227
8.1.2系統(tǒng)故障及其恢復(fù)228
8.1.3介質(zhì)故障及其恢復(fù)228
8.2 數(shù)據(jù)庫恢復(fù)的原理及方法229
8.2.1數(shù)據(jù)備份229
8.2.2登記日志文件229
8.2.3數(shù)據(jù)庫鏡像技術(shù)231
8.3 數(shù)據(jù)庫備份操作231
8.3.1備份類型231
8.3.2備份設(shè)備232
8.3.3實現(xiàn)備份233
8.4 數(shù)據(jù)庫恢復(fù)操作236
8.4.1還原模式237
8.4.2恢復(fù)的順序237
8.4.3實現(xiàn)恢復(fù)237
本章小結(jié)240
習題240
第9章 SQL SERVER 2019 高級應(yīng)用243
9.1 T-SQL編程基礎(chǔ)243
9.1.1T-SQL語法元素243
9.1.2常量244
9.1.3變量245
9.1.4運算符246
9.1.5流程控制語句248
9.1.6常用函數(shù)251
9.2 游標256
9.2.1游標的概念256
9.2.2游標的語法格式257
9.2.3游標的局限258
9.3 存儲過程258
9.3.1存儲過程的概念及特點258
9.3.2創(chuàng)建存儲過程260
9.3.3查看、刪除、修改和重命名存儲過程262
9.4觸發(fā)器263
9.4.1觸發(fā)器的概念和工作原理264
9.4.2創(chuàng)建觸發(fā)器265
9.4.3查看、刪除、修改觸發(fā)器267
9.4.4禁用和啟用觸發(fā)器269
本章小結(jié)269
習題270
參考文獻271