本書以培養(yǎng)數據管理應用型人才為目標,系統(tǒng)、全面地介紹數據庫的基本理論與應用。全書共8章,主要內容包括:數據庫系統(tǒng)概述,關系數據庫,關系數據庫標準語言,關系規(guī)范化理論,數據庫設計,數據庫安全保護,PL/SQL與應用,數據庫新技術和國產數據庫。除了介紹數據庫技術基本原理,本書還選用優(yōu)秀國產數據庫產品——人大金倉KingbaseES V8.3作為實驗環(huán)境,介紹該平臺下數據庫技術的實現,包括數據庫和數據表的創(chuàng)建和維護、查詢與統(tǒng)計、視圖管理、存儲過程和觸發(fā)器管理、用戶管理、PL/SQL程序設計等內容,本書通過大量應用實例源碼和解釋說明,使讀者加深對數據庫原理的理解,達到理論和實踐的緊密結合。 本書內容循序漸進、深入淺出、結構合理、內容翔實,每章后附有習題,包括選擇題、填空題、判斷題和簡答題,實踐性較強的章節(jié)后還配有實驗題和實驗手冊,以幫助讀者鞏固所學知識點;對重要的知識點、例題、實踐操作內容,作者團隊制作了相關講解微視頻、微課件,便于讀者線上學習。 本書可作為高等學校軟件工程和計算機相關專業(yè)教材,也可供從事相關領域工作的技術人員學習和參考。
錢育蓉,女,新疆大學軟件學院教授,博士生導師,曾獲國家教學成果二等獎1項,自治區(qū)教學成果獎一等獎1項,自治區(qū)科技進步獎2項;主持國家自然科學基金3項,主持自治區(qū)教學教育改革項目1項,主持教育部產學研項目3項。
目 錄
第1章 數據庫系統(tǒng)概述 1
1.1 數據庫系統(tǒng)基本概念 2
1.1.1 信息和數據 2
1.1.2 數據處理與數據管理 3
1.1.3 數據管理技術的發(fā)展 3
1.1.4 數據庫系統(tǒng)的組成 7
1.2 數據庫系統(tǒng)的體系結構 9
1.2.1 數據庫系統(tǒng)的三級模式結構 9
1.2.2 數據庫系統(tǒng)的二級映像和數據獨立性 10
1.2.3 數據庫系統(tǒng)的三級模式結構和二級映像的優(yōu)點 11
1.2.4 數據庫系統(tǒng)的應用架構 12
1.3 數據模型 14
1.3.1 三個世界及其有關概念 14
1.3.2 數據模型的分類及其組成要素 17
1.3.3 關系模型 18
1.3.4 其他非關系型數據模型 21
1.4 數據庫管理系統(tǒng) 25
1.4.1 常見的數據庫管理系統(tǒng) 25
1.4.2 數據庫管理系統(tǒng)的主要功能 26
1.4.3 數據庫管理系統(tǒng)的組成 26
1.4.4 數據庫管理系統(tǒng)的數據存取過程 27
小結 28
習題1 28
第2章 關系數據庫 31
2.1 關系模型的數據結構 32
2.1.1 關系的形式化定義和有關概念 32
2.1.2 關系的性質 33
2.1.3 關系模式 33
2.1.3 關系數據庫 34
2.2 關系的碼與關系的完整性 34
2.2.1 關系的碼 35
2.2.2 實體完整性 35
2.2.3 參照完整性 36
2.2.4 用戶自定義完整性 37
2.3 關系代數 37
2.3.1 關系代數的分類及其運算符 37
2.3.2 傳統(tǒng)的集合運算 38
2.3.3 專門的關系運算 39
2.4 關系演算* 46
2.4.1 元組關系演算語言 47
2.4.2 域關系演算語言 48
小結 48
習題2 49
第3章 關系數據庫標準語言 52
3.1 SQL的基本概念與特點 53
3.1.1 SQL的發(fā)展及標準化 53
3.1.2 SQL的基本概念 53
3.1.3 SQL的特點 54
3.2 人大金倉KingbaseES簡介 54
3.2.1 KingbaseES的發(fā)展和版本 54
3.2.2 KingbaseES的客戶端工具 55
3.2.3 數據庫對象管理工具 55
3.3 創(chuàng)建和使用數據庫 56
3.3.1 KingbaseES數據庫的結構 56
3.3.2 創(chuàng)建用戶數據庫 58
3.3.3 修改用戶數據庫 60
3.3.4 刪除用戶數據庫 61
3.4 創(chuàng)建和使用數據表 61
3.4.1 數據類型 61
3.4.2 創(chuàng)建數據表 63
3.4.3 定義數據表的約束 65
3.4.4 修改數據表 68
3.4.5 查看數據表 70
3.4.6 刪除數據表 71
3.5 數據操縱 71
3.5.1 添加數據 71
3.5.2 修改數據 72
3.5.3 刪除數據 73
3.6 數據查詢 74
3.6.1 SELECT命令的格式與基本使用 74
3.6.2 投影查詢 75
3.6.3 條件查詢 76
3.6.4 常用庫函數及統(tǒng)計匯總查詢 77
3.6.5 分組查詢 79
3.6.6 查詢結果的排序 80
3.6.7 數據表連接及連接查詢 80
3.7 子查詢 83
3.7.1 不相關子查詢 83
3.7.2 相關子查詢 86
3.7.3 數據操縱中使用子查詢 87
3.8 其他類型查詢 88
3.8.1 集合運算查詢 88
3.8.2 查詢結果存至表中 89
3.9 視圖 90
3.9.1 視圖概述 90
3.9.2 創(chuàng)建視圖 91
3.9.3 查詢視圖 93
3.9.4 修改視圖 94
3.9.5 更新視圖 94
3.9.6 刪除視圖 95
3.10 創(chuàng)建和使用索引 96
3.10.1 索引概述 96
3.10.2 索引的類型 97
3.10.3 創(chuàng)建索引 97
3.10.4 更改索引定義 99
3.10.5 刪除索引 99
小結 100
習題3 100
實驗 103
實驗3.1 103
實驗3.2 105
實驗3.3 106
第4章 關系規(guī)范化理論 107
4.1 規(guī)范化問題 108
4.1.1 規(guī)范化理論的主要內容 108
4.1.2 不合理的關系模式存在的異常問題 108
4.2 函數依賴 110
4.2.1 函數依賴的定義 110
4.2.2 函數依賴的邏輯蘊涵 111
4.2.3 函數依賴的推理規(guī)則及正確性 111
4.2.4 屬性集的閉包及其算法 112
4.2.5 候選碼的求解理論和算法 113
4.2.6 函數依賴集的等價、覆蓋和最小函數依賴集 114
4.3 關系模式的分解 115
4.3.1 模式分解問題 115
4.3.2 無損連接分解 115
4.3.3 保持函數依賴的分解 117
4.4 關系模式的范式 118
4.4.1 第一范式 118
4.4.2 第二范式 118
4.4.3 第三范式 119
4.4.4 BC范式 119
4.4.5 多值依賴與第四范式* 120
4.4.6 模式分解的算法 121
4.5 關系模式的規(guī)范化 122
小結 123
習題4 124
第5章 數據庫設計 126
5.1 數據庫設計概述 127
5.1.1 數據庫設計的任務、內容和特點 127
5.1.2 數據庫設計方法簡述 128
5.1.3 數據庫設計的步驟 130
5.1.4 數據庫系統(tǒng)設計案例 131
5.2 系統(tǒng)需求分析 132
5.2.1 需求分析的任務 132
5.2.2 需求分析的方法 133
5.2.3 需求分析應用案例 135
5.3 概念結構設計 137
5.3.1 概念結構設計的必要性 137
5.3.2 概念模型的特點及表示 138
5.3.3 概念結構設計的方法與步驟 139
5.3.4 概念結構設計案例 142
5.4 邏輯結構設計 143
5.4.1 邏輯結構設計的任務和步驟 143
5.4.2 初構關系模式設計 144
5.4.3 關系模式規(guī)范化 145
5.4.4 模式評價和優(yōu)化 146
5.4.5 邏輯結構設計案例 147
5.5 物理結構設計 148
5.5.1 確定物理結構 148
5.5.2 物理結構設計的評價 150
5.6 數據庫實施 150
5.7 數據庫運行和維護 152
小結 153
習題5 153
實驗:倉庫管理系統(tǒng)設計 156
實驗5.1 數據庫的概要設計 156
實驗5.2 數據庫系統(tǒng)的邏輯設計 157
實驗5.3 數據庫系統(tǒng)的物理設計 157
第6章 數據庫安全保護 159
6.1 數據庫的安全性 160
6.1.1 數據庫的安全標準 160
6.1.2 數據庫安全性控制 161
6.1.3 KingbaseES數據安全管理機制 164
6.1.4 權限和角色 166
6.2 完整性控制 168
6.2.1 數據庫完整性的含義 168
6.2.2 完整性規(guī)則的組成 169
6.2.3 完整性約束條件的分類 171
6.2.4 數據完整性的實施 172
6.3 事務的并發(fā)控制和封鎖 173
6.3.1 事務 173
6.3.2 并發(fā)執(zhí)行與數據的不一致性 175
6.3.3 封鎖和封鎖協(xié)議 177
6.3.4 活鎖和死鎖 180
6.4 數據庫的備份和還原 182
6.4.1 數據庫備份和還原概述 182
6.4.2 數據庫還原 184
6.4.3 數據庫的故障和還原策略 187
6.4.4 金倉數據庫的備份和還原 190
小結 190
習題6 191
實驗 193
第7章 PL/SQL與應用 195
7.1 PL/SQL編程基礎 196
7.1.1 PL/SQL簡介 196
7.1.2 變量聲明 198
7.1.3 數據類型、表達式與運算符 199
7.1.4 控制結構和語句 202
7.1.5 常用函數 215
7.1.6 用戶自定義函數 219
7.2 存儲過程 221
7.2.1 存儲過程的概念和優(yōu)點 221
7.2.2 創(chuàng)建存儲過程 222
7.2.3 調用存儲過程 224
7.2.4 刪除存儲過程 224
7.3 觸發(fā)器 225
7.3.1 觸發(fā)器概述 225
7.3.2 創(chuàng)建觸發(fā)器 226
7.3.3 激活觸發(fā)器 228
7.3.4 刪除觸發(fā)器 228
7.4 游標 228
7.4.1 游標概述 228
7.4.2 游標使用示例 230
小結 232
習題7 232
實驗 235
第8章 數據庫新技術和國產數據庫 237
8.1 數據庫新技術 238
8.1.1 數據倉庫及數據挖掘技術 238
8.1.2 分布式數據庫技術 241
8.1.3 大數據技術 243
8.1.4 其他數據庫新技術 244
8.2 國產數據庫 247
8.2.1 金倉數據庫管理系統(tǒng) 247
8.2.2 達夢數據庫管理系統(tǒng) 248
8.2.3 神通數據庫管理系統(tǒng) 249
8.2.4 其他國產主流數據庫系統(tǒng) 249
小結 251
習題8 251
參考文獻 254