內容簡介
本書從數據庫基礎理論、數據庫實踐、數據庫設計、國產數據庫等方面全面闡述了數據庫技術的應用體系。全書理論闡述求精求易,理論與實踐環環相扣,重點介紹國產數據庫。本書選用MySQL作為實踐平臺,附錄中的上機實驗可作為數據庫課程的實驗內容,便於讀者學以致用。本書可作為普通高等院校計算機科學與技術及相關專業本科生數據庫課程的教材,也可作為數據庫初學者的入門讀物。
作者簡介
何玉潔 北京信息科技大學計算機學院副教授,長期從事數據庫方面的教學和研究工作,出版過多部數據庫方面的本科生教材,其中《數據庫原理與應用教程》被評為普通高等教育”十一五”國家級規劃教材,《數據倉庫與OLAP實踐教程》為北京市精品教材立項教材。主講課程包括:數據庫系統基礎、數據庫課程設計、數據庫技術實踐。
岳清 北京信息科技大學計算機學院副教授,從事數據庫方面的教學和研究工作,主持過多項國家及地方疾病控制中心實驗室樣本數據管理項目,提高了實驗室數據管理能力。主講課程包括:數據庫原理與應用、數據庫安全。
梁琦 北京信息科技大學計算機學院教師,長期從事數據庫方面的教學工作。主講課程為數據庫原理與應用。
目錄
目錄
前言
第1章 數據庫概述1
1 1 概述1
1 2 一些基本概念1
1 2 1 數據1
1 2 2 數據庫2
1 2 3 數據庫管理系統2
1 2 4 數據庫系統3
1 3 數據管理技術的發展3
1 3 1 文件管理4
1 3 2 數據庫管理7
1 4 數據獨立性10
1 5 數據庫系統的組成10
本章 小結11
習題12
第2章 數據模型與數據庫結構14
2 1 數據和數據模型14
2 1 1 數據與信息14
2 1 2 數據模型15
2 2 概念層數據模型16
2 2 1 基本概念16
2 2 2 實體-聯繫模型17
2 3 組織層數據模型19
2 3 1 層次模型19
2 3 2 網狀模型21
2 3 3 關係模型23
2 4 面向對象模型24
2 5 數據庫體系結構24
2 5 1 模式的基本概念24
2 5 2 三級模式結構25
2 5 3 模式映像與數據獨立性26
本章 小結27
習題28
第3章 關係數據庫30
3 1 關係模型30
3 1 1 數據結構30
3 1 2 數據操作30
3 1 3 數據完整性約束32
3 2 關係模型的基本術語與形式化定義32
3 2 1 基本術語33
3 2 2 形式化定義34
3 3 完整性約束37
3 3 1 實體完整性37
3 3 2 參照完整性38
3 3 3 用戶定義的完整性40
3 4 關係代數40
3 4 1 傳統的集合運算41
3 4 2 專門的關係運算43
3 4 3 關係代數示例49
本章 小結51
習題52
第4章 SQL語言基礎及基本表的定義55
4 1 SQL語言概述55
4 1 1 SQL語言的發展過程55
4 1 2 SQL語言的特點56
4 1 3 SQL語言的主要功能56
4 2 數據類型57
4 2 1 數值類型 57
4 2 2 字符串類型 58
4 2 3 日期時間類型60
4 3 基本表61
4 3 1 基本表的定義61
4 3 2 查看基本表結構66
4 3 3 基本表的維護67
本章 小結72
習題73
第5章 數據操作語句75
5 1 數據查詢語句的基本結構75
5 2 單表查詢78
5 2 1 選擇表中的若干列78
5 2 2 選擇表中的若干元組80
5 2 3 對查詢結果進行排序88
5 2 4 使用聚合函數統計數據89
5 2 5 對數據進行分組統計91
5 3 多表連接查詢94
5 3 1 內連接94
5 3 2 自連接98
5 3 3 外連接99
5 4 限制查詢結果集行數102
5 5 CASE表達式104
5 5 1 CASE表達式介紹104
5 5 2 CASE表達式應用示例106
5 6 子查詢108
5 6 1 WHERE子句中的子查詢108
5 6 2 FROM子句中的子查詢116
5 6 3 SELECT查詢列表中的子
查詢117
5 7 複製錶117
5 8 數據更改功能118
5 8 1 插入數據118
5 8 2 更新數據120
5 8 3 刪除數據121
本章 小結122
習題124
第6章 索引和視圖127
6 1 索引127
6 1 1 索引的基本概念127
6 1 2 索引的存儲結構及分類128
6 1 3 建立和刪除索引133
6 2 視圖135
6 2 1 視圖的基本概念135
6 2 2 定義視圖136
6 2 3 通過視圖查詢數據138
6 2 4 修改視圖定義140
6 2 5 更新視圖數據141
6 2 6 刪除視圖142
6 2 7 視圖的作用142
本章 小結143
習題145
第7章 SQL擴展編程147
7 1 SQL編程基礎147
7 1 1 變量147
7 1 2 _xFFFF_標148
7 1 3 運算符148
7 1 4 分支結構149
7 1 5 循環結構150
7 2 存儲過程151
7 2 1 存儲過程的概念與作用151
7 2 2 定義與調用存儲過程152
7 2 3 維護存儲過程157
7 3 函數158
7 3 1 函數的概念與作用158
7 3 2 定義與調用函數158
7 3 3 維護函數159
7 4 觸發器160
7 4 1 觸發器的概念與作用160
7 4 2 定義觸發器160
7 4 3 維護觸發器162
本章 小結163
習題164
第8章 關係規範化理論165
8 1 關係規範化的意義165
8 2 函數依賴166
8 3 函數依賴的推理規則168
8 3 1 Armstrong公理169
8 3 2 閉包及候選鍵求解方法170
8 3 3 極小函數依賴集174
8 4 範式175
8 4 1
第一範式176
8 4 2
第二範式177
8 4 3
第三範式179
8 4 4 Boyce-Codd範式180
8 4 5 規範化小結182
8 5 關係模式的分解準則182
本章 小結185
習題186
第9章 數據庫設計189
9 1 數據庫設計概述189
9 1 1 數據庫設計的特點190
9 1 2 數據庫設計方法概述190
9 1 3 數據庫設計的基本步驟191
9 2 數據庫需求分析192
9 2 1 需求分析的任務193
9 2 2 需求分析的過程193
9 3 概念結構設計198
9 3 1 概念結構設計概述198
9 3 2 ER模型198
9 3 3 概念結構設計方法202
9 4 邏輯結構設計208
9 4 1 ER模型向關係模型的轉換209
9 4 2 數據模型的優化211
9 4 3 設計外模式212
9 5 物理結構設計213
9 5 1 物理結構設計的內容和方法214
9 5 2 確定數據的存取方法214
9 5 3 確定數據的存儲結構215
9 5 4 物理結構設計評價215
9 6 數據庫行為設計216
9 6 1 功能分析與設計216
9 6 2 安全設計217
9 7 數據庫實施與運維217
9 7 1 加載數據217
9 7 2 調試和運行應用程序218
9 7 3 數據庫運行和維護218
9 8 數據庫設計示例219
9 8 1 需求分析219
9 8 2 概念結構設計221
9 8 3 邏輯結構設計225
9 8 4 物理結構設計227
9 8 5 數據庫行為設計227
本章 小結227
習題228
第10章 事務與併發控制232
10 1 事務232
10 1 1 事務的基本概念232
10 1 2 事務的特徵233
10 1 3 事務處理模型233
10 2 併發控制234
10 2 1 併發控制概述235
10 2 2 併發控制措施236
10 2 3 封鎖協議237
10 2 4 活鎖和死鎖240
10 2 5 併發調度的可串行性242
10 2 6 兩段鎖協議243
本章 小結244
習題246
第11章 安全管理248
11 1 安全管理概述248
11 1 1 安全管理目標248
11 1 2 安全控制模型249
11 2 數據庫訪問控制250
11 2 1 自主訪問控制250
11 2 2 強制訪問控制251
11 3 MySQL的安全管理251
11 3 1 登錄管理252
11 3 2 用戶管理254
11 3 3 權限管理255
11 3 4 角色管理257
本章 小結260
習題261
第12章 數據庫恢復技術263
12 1 恢復的基本概念263
12 2 數據庫故障的種類264
12 3 數據庫恢復的類型265
12 4 數據庫恢復的檢查點技術266
12 5 MySQL的備份和恢復方法 267
12 5 1 MySQL數據庫備份268
12 5 2 MySQL數據庫恢復269
本章 小結270
習題271
第13章 國產數據庫273
13 1 國產數據庫研發的必要性273
13 2 國產數據庫的起步274
13 2 1 20世紀70年代274
13 2 2 20世紀80年代274
13 2 3 20世紀90年代274
13 3 國產數據庫的發展275
13 3 1 科技創新、開發自主的
數據庫管理系統275
13 3 2 國產數據庫市場的主要分類277
13 4 國產數據庫展望279
本章 小結280
附錄 上機實驗281
參考文獻289
前 言
前 言
數據庫技術是信息技術領域的核心組成部分,其重要性在於提供了高效、安全、可靠的數據存儲、訪問和管理機制。它不僅支撐了現代企業的運營決策,也促進了大數據、雲計算、人工智能等前沿技術的發展。數據庫技術通過確保數據的完整性、一致性和安全性,為各種應用提供了穩定、快速的數據服務,成為信息化社會不可或缺的基礎設施。數據庫技術的教學成為計算機專業教學的重中之重,數據庫課程也成為很多高校計算機類專業的核心課程。
本書可作為本科生數據庫基礎課程的教科書。在選擇實驗平臺時,本書充分考慮了軟件的流行性和易獲得性,因此選擇MySQL數據庫管理系統作為實驗平臺。
本書具有如下特點:
1)理論闡述求精、求易。數據庫基礎理論較為抽象,但又是實踐的基礎。沒有扎實的基本功是無法靈活運用理論並付諸實踐的,因而基礎理論的教學歷來是重點和難點。本書在理論闡釋方面力求深入淺出,突出概念和技術的直觀意義,用大量圖表和示例幫助讀者理解並啟發思維,使讀者不僅能深刻理解相關理論的來源、思路、適用範圍和條件,更能靈活運用,舉一反三。
2)理論與實踐環環相扣。以行而求知,因知以進行。本書每部分內容都根據相關理論和應用需求進行了精選,例如,以例題的形式細緻描述了實踐步驟和執行結果,使讀者能夠以行驗知,以行證知;通過對現實場景進行需求分析、設計和建模,完整地說明數據庫設計的全過程。本書還配有大量的習題供讀者瞭解自己對知識的掌握程度,附錄中的上機實驗可以作為數據庫課程的實驗內容。
3)順應時代潮流,介紹國產數據庫。數據庫作為具有較高技術壁壘的基礎軟件,是信創工程中需要突破的關鍵一環。關鍵核心產業使用國產數據庫,可以保障國