本書以關(guān)系數(shù)據(jù)庫為重點,全面、系統(tǒng)地介紹數(shù)據(jù)庫系統(tǒng)的基本概念、原理與技術(shù)。全書分為上、下兩篇,上篇為基礎(chǔ)篇,介紹數(shù)據(jù)、數(shù)據(jù)模型、數(shù)據(jù)庫及數(shù)據(jù)庫系統(tǒng)等基本概念,以及關(guān)系數(shù)據(jù)庫、關(guān)系規(guī)范化、SQL語言、數(shù)據(jù)庫設(shè)計、事務(wù)處理技術(shù)、數(shù)據(jù)庫完整性與安全性等數(shù)據(jù)庫基本理論與技術(shù);下篇為擴展篇,介紹數(shù)據(jù)庫應用系統(tǒng)開發(fā)、SQL擴展與應用,以及數(shù)據(jù)倉庫與聯(lián)機分析處理等技術(shù)。為了便于教學與自學,每章均配有適量習題,并在附錄中提供了實驗指導書。
1.不強調(diào)學科的系統(tǒng)性,以管用、夠用、適用、實用為原則編寫教材; 2.以學生學習的主動性為基礎(chǔ),構(gòu)建與之相配合的教材編寫體系,即采用任務(wù)驅(qū)動、項目導向、案例引入的編寫模式; 3.教材的重點落在技能的夯實,必要的保障學生可持續(xù)發(fā)展的理論知識及全面素質(zhì)的培養(yǎng),并與職業(yè)資格證書的初、中、高三級技能相匹配; 4.教材配套全面的教學資源,包括教學大綱及教案、電子課件、習題庫及答案、動畫及視頻資料、實訓指導書、學生作業(yè)單(工作單)等。
數(shù)據(jù)庫技術(shù)主要研究如何組織存儲數(shù)據(jù),如何高效地分析處理數(shù)據(jù),從數(shù)據(jù)中獲取有效信息。它是計算機科學的重要分支,是信息管理的核心技術(shù),是各行各業(yè)信息化建設(shè)的重要基礎(chǔ)。數(shù)據(jù)庫技術(shù)的出現(xiàn)極大地促進了計算機應用技術(shù)的發(fā)展。隨著大數(shù)據(jù)、云計算和人工智能技術(shù)的迅猛發(fā)展,人們對數(shù)據(jù)管理提出越來越多新的要求,從而不斷推動數(shù)據(jù)庫技術(shù)的發(fā)展與應用。 為了適應教學與科研需要,我們在多年從事數(shù)據(jù)庫教學與科研的基礎(chǔ)上編寫了這本書。全書以關(guān)系數(shù)據(jù)庫為重點,全面、系統(tǒng)地介紹了數(shù)據(jù)庫的基本概念、原理與技術(shù),并結(jié)合實際應用案例,詳細介紹了數(shù)據(jù)庫設(shè)計、數(shù)據(jù)庫應用系統(tǒng)開發(fā)、數(shù)據(jù)倉庫與聯(lián)機分析處理等技術(shù),取材上力圖反映當前數(shù)據(jù)庫技術(shù)的發(fā)展水平和發(fā)展趨勢。 本書分上、下兩篇,共10章。上篇為基礎(chǔ)篇,共7章:第1章介紹數(shù)據(jù)、數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)模型等基本概念,以及數(shù)據(jù)庫系統(tǒng)的組成結(jié)構(gòu)和基本原理;第2章介紹關(guān)系數(shù)據(jù)庫的基本概念,包括關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)、完整性約束以及關(guān)系操作;第3章介紹SQL語言,結(jié)合一個數(shù)據(jù)庫實例,詳細地介紹數(shù)據(jù)定義、數(shù)據(jù)查詢、數(shù)據(jù)更新的語法結(jié)構(gòu)及其用法,并結(jié)合SQL語言進一步介紹關(guān)系數(shù)據(jù)庫中的基本表、視圖等基本概念;第4章介紹關(guān)系數(shù)據(jù)理論,內(nèi)容包括函數(shù)依賴及Armstrong公理系統(tǒng)、關(guān)系規(guī)范化及模式分解;第5章以數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計和邏輯結(jié)構(gòu)設(shè)計為重點,介紹數(shù)據(jù)庫設(shè)計的基本步驟和基本方法,以及PowerDesigner的使用方法;第6章介紹事務(wù)的概念,以及事務(wù)在數(shù)據(jù)庫恢復和并發(fā)控制中的應用、數(shù)據(jù)庫恢復和并發(fā)控制的一般原理和方法;第7章介紹數(shù)據(jù)庫安全性和完整性等數(shù)據(jù)庫保護技術(shù),包括用戶身份鑒別、SQL存取控制、視圖、加密、審計、防止SQL注入等安全控制方法,實體完整性、參照完整性、用戶自定義完整性約束的聲明方法和程序完整性控制方法。下篇為擴展篇,共3章:第8章介紹利用編程工具或語言來訪問、連接以及操縱后臺數(shù)據(jù)庫的方法和步驟,并通過案例詳細介紹Web數(shù)據(jù)庫應用系統(tǒng)開發(fā)過程;第9章介紹嵌入式SQL、擴展SQL的主要技術(shù)及其應用;第10章介紹數(shù)據(jù)倉庫與聯(lián)機分析處理技術(shù),為數(shù)據(jù)庫的進一步應用打下基礎(chǔ)。 為了配合數(shù)據(jù)庫原理課程的實驗教學,附錄提供了數(shù)據(jù)庫實驗指導書,其中有4個驗證型實驗、1個綜合設(shè)計型實驗。通過實驗課教學,可以使學生學會使用數(shù)據(jù)庫管理系統(tǒng),掌握數(shù)據(jù)庫創(chuàng)建、數(shù)據(jù)查詢、數(shù)據(jù)更新和數(shù)據(jù)控制的基本方法,以及數(shù)據(jù)庫應用系統(tǒng)的設(shè)計與開發(fā)方法,進一步加深對數(shù)據(jù)庫的基本概念和原理的理解。書中配有豐富的例題與習題,便于教學與自學。 本書第1、3、6、10章由熊才權(quán)編寫,第7、9章和附錄A由曾玲編寫,第5、8章由康瑞華編寫,第2、4章由熊英編寫,江南、李志輝參加了前期部分工作,邵雄凱、胡延忠、潘媛媛對本書編寫提出了很多有益的建議,王凌云參加了程序調(diào)試和書稿校對工作,全書由熊才權(quán)負責統(tǒng)稿。 由于水平有限,書中難免存在不足或錯誤之處,懇請專家和讀者批評指正。
上篇 基礎(chǔ)篇 1
第1章 數(shù)據(jù)庫系統(tǒng)概述 2
1.1 數(shù)據(jù)與數(shù)據(jù)管理 2
1.2 數(shù)據(jù)庫系統(tǒng)基本概念 7
1.3 數(shù)據(jù)庫系統(tǒng)的模式結(jié)構(gòu) 12
1.4 數(shù)據(jù)模型 15
1.5 小結(jié) 27
習題1 28
第2章 關(guān)系數(shù)據(jù)庫 30
2.1 關(guān)系數(shù)據(jù)結(jié)構(gòu) 30
2.2 關(guān)系完整性約束 33
2.3 關(guān)系操作 35
2.4 關(guān)系代數(shù) 36
2.5 查詢優(yōu)化 46
2.6 小結(jié) 51
習題2 52
第3章 SQL語言 54
3.1 SQL概述 54
3.2 數(shù)據(jù)定義 59
3.3 數(shù)據(jù)查詢 62
3.4 視圖操作 88
3.5 數(shù)據(jù)更新 93
3.6 數(shù)據(jù)控制 98
3.7 小結(jié) 101
習題3 101
第4章 關(guān)系規(guī)范化理論 105
4.1 規(guī)范化問題的提出 105
4.2 函數(shù)依賴 107
4.3 范式 110
4.4 多值依賴與4NF 113
4.5 關(guān)系規(guī)范化 116
4.6 數(shù)據(jù)依賴的公理系統(tǒng) 117
4.7 模式的分解 122
4.8 小結(jié) 128
習題4 129
第5章 數(shù)據(jù)庫設(shè)計 131
5.1 數(shù)據(jù)庫設(shè)計概述 131
5.2 需求分析 135
5.3 概念結(jié)構(gòu)設(shè)計 141
5.4 邏輯結(jié)構(gòu)設(shè)計 152
5.5 物理結(jié)構(gòu)設(shè)計 157
5.6 數(shù)據(jù)庫的實施 159
5.7 數(shù)據(jù)庫的運行與維護 161
5.8 基于3NF的泛關(guān)系數(shù)據(jù)庫設(shè)計方法 162
5.9 PowerDesigner輔助設(shè)計 163
5.10 小結(jié) 168
習題5 169
第6章 事務(wù)處理技術(shù) 170
6.1 事務(wù) 170
6.2 數(shù)據(jù)庫恢復 172
6.3 并發(fā)控制 180
6.4 小結(jié) 193
習題6 194
第7章 數(shù)據(jù)庫安全性和完整性 197
7.1 數(shù)據(jù)庫安全性概述 197
7.2 數(shù)據(jù)庫安全性控制 197
7.3 數(shù)據(jù)庫完整性概述 202
7.4 數(shù)據(jù)庫完整性控制 203
7.5 小結(jié) 207
習題7 207
下篇 擴展篇 209
第8章 數(shù)據(jù)庫應用開發(fā) 210
8.1 數(shù)據(jù)庫應用結(jié)構(gòu)和數(shù)據(jù)庫訪問接口 210
8.2 Web數(shù)據(jù)庫應用開發(fā)實例 215
8.3 小結(jié) 224
習題8 225
第9章 SQL應用與擴展 226
9.1 嵌入式SQL 226
9.2 SQL擴展語句概述 229
9.3 存儲過程 230
9.4 觸發(fā)器 235
9.5 游標 239
9.6 小結(jié) 242
習題9 242
第10章 數(shù)據(jù)倉庫技術(shù) 244
10.1 數(shù)據(jù)倉庫技術(shù)產(chǎn)生的背景 244
10.2 數(shù)據(jù)倉庫概述 246
10.3 聯(lián)機分析處理 253
10.4 小結(jié) 265
習題10 265
附錄A 實驗指導書 268
實驗1 數(shù)據(jù)定義 268
實驗2 數(shù)據(jù)更新 275
實驗3 SQL數(shù)據(jù)查詢與視圖 277
實驗4 數(shù)據(jù)庫安全性和完整性控制 283
實驗5 數(shù)據(jù)庫設(shè)計 291
參考文獻 294