第 1 章 數據庫系統概論 1
1.1 數據管理技術的發(fā)展 1
1.1.1 人工管理階段 1
1.1.2 文件系統階段 2
1.1.3 數據庫系統階段 3
1.2 現實世界的數據化過程 7
1.2.1 概念模型 7
1.2.2 數據模型 9
1.2.3 關系模型 10
1.2.4 關系的完整性 13
1.3 數據庫系統的結構 13
1.3.1 數據庫系統中數據的三級模式結構 14
1.3.2 面對用戶的數據庫系統體系結構 16
1.3.3 用戶訪問數據庫的過程 17
習題一 18
第 2 章 SQL語言初步 19
2.1 SQL的基本概念 19
2.2 基本表. 索引的創(chuàng)建. 刪除和修改操作 20
2.2.1 創(chuàng)建基本表--CREATE TABLE 20
2.2.2 表結構的修改--ALTER TABLE 23
2.2.3 表中增加元組的基本方法--INSERT 23
2.2.4 修改表中數據的基本方法--UPDATE 24
2.2.5 刪除記錄--DELETE 24
2.2.6 更新操作與數據庫的一致性 25
2.2.7 刪除基本表--DROP TABLE 25
2.2.8 建立索引--CREATE INDEX 25
2.2.9 刪除索引--DROP INDEX 26
2.3 SQL的查詢語句--SELECT 26
2.3.1 SELECT語句的基本格式 26
2.3.2 SELECT語句的高級使用格式 29
2.3.3 SELECT語句的完整使用格式 32
2.3.4 多個SELECT語句的集合操作 33
2.4 含有子查詢的數據更新 33
2.4.1 INSERT與子查詢的集合 33
2.4.2 UPDATE與子查詢的結合 34
2.4.3 DELETE與子查詢的結合 34
2.5 視圖 35
2.5.1 定義視圖--CREATE VIEW 35
2.5.2 刪除視圖--DROP VIEW 36
2.5.3 視圖的查詢 36
2.5.4 視圖的更新 37
2.5.5 視圖的作用 38
習題二 39
第 3 章 SQL的高級應用 42
3.1 SQL中的完整性約束 42
3.1.1 實體完整性和主碼 42
3.1.2 參照完整性約束和外部碼 43
3.1.3 用戶自定義完整性約束 45
3.1.4 約束的更新 46
3.2 SQL中的觸發(fā)器 47
3.2.1 觸發(fā)器的組成和類型 47
3.2.2 創(chuàng)建觸發(fā)器 48
3.3 嵌入式SQL的使用 49
3.3.1 嵌入式SQL的一般形式 50
3.3.2 嵌入式SQL與宿主語言之間的信息傳遞 50
3.3.3 游標 53
3.3.4 通過游標的更新和刪除 55
3.3.5 動態(tài)SQL介紹 57
3.4 SQL中的存儲過程 58
3.5 SQL中的事務 59
3.5.1 事務的概念 59
3.5.2 事務的特性 61
3.6 小結 62
習題三 62
第 4 章 關系數據模型及其運算基礎 65
4.1 關系模型的基本概念 65
4.2 關系模式 66
4.3 關系數據庫 67
4.4 關系代數 67
4.4.1 傳統的集合運算 67
4.4.2 專門的關系運算 69
4.5 關系演算 72
4.5.1 元組關系演算 72
4.5.2 域關系演算 73
4.6 關系代數等價變換規(guī)則 74
4.7 查詢優(yōu)化 76
4.7.1 查詢優(yōu)化的一般策略 77
4.7.2 關系代數表達式的優(yōu)化算法 77
4.8 關系系統 78
4.8.1 全關系系統的十二條基本準則簡介 78
4.8.2 關系系統的定義 79
4.8.3 關系系統的分類 80
習題四 80
第 5 章 建立數據模型 82
5.1 建立實體聯系模型 82
5.1.1 實體聯系模型的基本構成 82
5.1.2 多元聯系 83
5.1.3 聯系的屬性 84
5.1.4 自身聯系 84
5.1.5 子類和isa層次聯系 84
5.2 E-R模型的設計方法 85
5.3 E-R模型向關系模型的轉化 90
5.4* 歷史上有影響的數據模型 91
5.4.1 層次模型 91
5.4.2 網狀模型 92
5.5 數據模型與數據庫系統的發(fā)展 93
習題五 95
第 6 章 關系數據庫規(guī)范化理論 98
6.1 關系規(guī)范化的作用 98
6.1.1 表6 - 1存在的問題 98
6.1.2 解決方法 99
6.2 函數依賴 99
6.2.1 屬性間的關系 99
6.2.2 函數依賴 100
6.2.3 碼的定義 101
6.2.4 函數依賴和碼的唯一性 102
6.3 關系模式的規(guī)范化 102
6.3.1 非規(guī)范化的關系 102
6.3.2 第一范式(1NF) 103
6.3.3 第二范式(2NF) 103
6.3.4 第三范式(3NF) 104
6.3.5 改進的3NF--BCNF 105
6.4 多值依賴和第四范式 106
6.4.1 多值依賴(Multivalued Dependency) 106
6.4.2 第四范式(4NF) 109
6.5 關系的規(guī)范化程度 109
6.6* 函數依賴公理與模式分解 110
6.6.1 函數依賴公理 110
6.6.2 閉包及其計算 111
6.6.3 函數依賴的覆蓋 112
6.6.4 關系模式的分解 113
6.7 小結 116
習題六 117
第 7 章 數據庫設計 120
7.1 數據庫設計介紹 120
7.1.1 數據庫設計的一般策略 120
7.1.2 數據庫設計的步驟 121
7.1.3 數據庫設計的主流方法 122
7.1.4 數據庫設計的基本概念 123
7.2 需求分析 123
7.2.1 需求調查 123
7.2.2 需求分析 124
7.3 概念結構設計 127
7.4 邏輯結構設計 128
7.4.1 模式評價 129
7.4.2 邏輯模式的修正 129
7.4.3 設計用戶外模式 130
7.5 物理結構設計 131
7.5.1 存儲記錄結構設計 131
7.5.2 存儲記錄布局 132
7.5.3 存取方法的設計 132
7.6 數據庫實施和維護 133
7.6.1 數據庫實施 134
7.6.2 數據庫維護 136
7.7 小結 137
習題七 137
第 8 章 數據庫保護 140
8.1 并發(fā)控制 140
8.1.1 并發(fā)可能出現的問題 141
8.1.2 封鎖(Locking) 142
8.1.3 三級封鎖協議 142
8.1.4 加鎖請求的選擇策略和活鎖 143
8.1.5 死鎖 144
8.1.6 并發(fā)調度的可串行性 145
8.1.7 兩段封鎖協議 145
8.1.8 多粒度封鎖 145
8.1.9 意向鎖 146
8.2 數據庫恢復技術 147
8.2.1 故障的種類 147
8.2.2 故障恢復的手段 147
8.2.3 恢復方法 149
8.3 數據庫安全 150
8.3.1 用戶標識和鑒別(Identificatione & Authentication) 150
8.3.2 訪問控制 151
8.3.3 強制存取控制方法 154
8.3.4 視圖和查詢修改 155
8.3.5 跟蹤審計 155
8.3.6 數據加密 155
習題八 156
第9 章 面向對象和對象-關系數據庫 158
9.1 面向對象數據模型 158
9.1.1 對象 158
9.1.2 類和實例 159
9.1.3 類的繼承 159
9.2 面向對象數據庫建模 160
9.2.1 ODL的類說明 160
9.2.2 ODL中屬性的說明 160
9.2.3 ODL中的聯系 161
9.2.4 ODL中的類的繼承 162
9.2.5 ODL中方法的說明 163
9.2.6 E-R模型向面向對象數據模型的轉換 164
9.3 對象-關系數據庫 164
9.3.1 基本數據類型的擴充 165
9.3.2 支持復雜對象 166
9.3.3 支持繼承 167
9.3.4 提供強大. 通用的規(guī)則系統 168
習題九 168
第10 章 數據庫新技術 169
10.1 分布式數據庫 169
10.1.1 分布式數據庫系統的定義 170
10.1.2 分布式數據庫系統的特點 170
10.1.3 分布式數據庫系統的模式結構 171
10.2 并行數據庫 173
10.2.1 并行數據庫系統的體系結構 173
10.2.2 并行處理技術 174
10.3 工程數據庫 175
10.3.1 工程數據庫的特點 176
10.3.2 工程數據庫的系統結構 176
10.3.3 工程數據庫的數據模型 177
10.3.4 版本和版本管理 178
10.4 數據倉庫 179
10.4.1 數據倉庫的定義與特征 179
10.4.2 數據倉庫系統 180
10.4.3 數據倉庫的數據庫模式 181
10.4.4 數據倉庫的分析工具 183
習題十 184
附錄A 上機實驗指導 185
上機實驗一--安裝和了解SQL Server 7.0 185
上機實驗二--基本表的建立和修改 190
上機實驗三--SELECT語句基本格式的使用 191
上機實驗四--SELECT語句高級格式和完整格式的使用 192
上機實驗五--SQL的存儲操作 192
上機實驗六--視圖的建立及操作 193
上機實驗七*--完整性約束的實現 194
上機實驗八*--創(chuàng)建觸發(fā)器 194
參考文獻 196