第1章 緒論 1
1.1 數據庫的基本概念 1
1.1.1 數據庫 1
1.1.2 數據庫管理系統(tǒng) 1
1.1.3 數據庫系統(tǒng)和數據庫應用系統(tǒng) 2
1.2 數據庫管理系統(tǒng)的發(fā)展 2
1.2.1 早期數據庫管理系統(tǒng) 2
1.2.2 關系數據庫系統(tǒng) 3
1.2.3 數據庫系統(tǒng)的研究與發(fā)展 5
1.3 數據庫系統(tǒng)的結構 9
1.3.1 體系結構 9
1.3.2 模式結構 10
1.4 數據庫管理系統(tǒng)組成 12
習題 13
第2章 關系代數 14
2.1 關系代數概述 14
2.2 關系代數操作 14
2.2.1 關系中的集合操作 14
2.2.2 笛卡兒積 16
2.2.3 投影 17
2.2.4 選擇 17
2.2.5 連接 18
2.2.6 除 20
2.3 包上關系操作 21
2.3.1 并、交、差 21
2.3.2 笛卡兒積 23
2.3.3 投影 23
2.3.4 選擇 23
2.3.5 連接 23
2.4 關系演算 23
2.4.1 元組關系演算 23
2.4.2 域關系演算 26
2.4.3 關系運算的安全性和等價性 28
2.5 關系代數操作的實現算法 28
2.5.1 集合操作的實現算法 29
2.5.2 笛卡兒積的實現算法 30
2.5.3 選擇運算的實現算法 30
2.5.4 投影運算的實現算法 31
2.5.5 連接運算的實現算法 31
2.6 查詢優(yōu)化 31
2.6.1 查詢優(yōu)化概述 31
2.6.2 關系代數等價變換規(guī)則 32
2.6.3 查詢優(yōu)化算法 34
習題 36
第3章 關系數據庫 37
3.1 數據模型 37
3.1.1 概念層數據模型 37
3.1.2 組織層數據模型 40
3.2 關系模型 41
3.2.1 數據結構 41
3.2.2 關系運算 41
3.2.3 完整性約束 41
3.2.4 常見數據庫對象 42
3.3 SQL Server的數據庫 45
3.3.1 系統(tǒng)數據庫 45
3.3.2 數據庫對象 46
3.3.3 管理數據庫 49
3.3.4 主要數據庫對象管理 54
3.3.5 生成關系圖 60
3.4 案例說明 61
習題 63
第4章 關系數據庫語言SQL 64
4.1 SQL語言概述 64
4.2 SQL的數據類型 65
4.3 關系模式定義 65
4.3.1 表與約束 66
4.3.2 索引 68
4.3.3 視圖 69
4.3.4 訪問控制 71
4.4 數據查詢 72
4.4.1 單表查詢 73
4.4.2 多表查詢 75
4.4.3 嵌套查詢 77
4.4.4 SQL中的分組與聚集 80
4.4.5 查詢求值小結 82
4.5 數據更新 82
4.5.1 插入數據 82
4.5.2 刪除數據 83
4.5.3 修改數據 84
4.6 使用SQL 85
4.6.1 嵌入式SQL語言 85
4.6.2 ODBC 90
4.6.3 JDBC 93
4.6.4 SQLJ 97
4.7 SQL Server的T-SQL語言概述 98
習題 106
第5章 關系數據庫模式設計 108
5.1 函數依賴 108
5.1.1 函數依賴的定義 108
5.1.2 關系的鍵 109
5.1.3 函數依賴分類 109
5.2 關系模式規(guī)范化 110
5.2.1 第一范式 110
5.2.2 第二范式 111
5.2.3 第三范式 111
5.2.4 Boyce Codd范式 112
5.2.5 第四范式 113
5.3 關系模式分解 114
5.3.1 函數依賴公理系統(tǒng) 114
5.3.2 關系模式分解 115
習題 117
第6章 數據庫的存儲結構 118
6.1 物理存儲介質 118
6.1.1 存儲系統(tǒng)層次 118
6.1.2 磁盤存儲器的結構 120
6.1.3 SQL Server的存儲體系結構 121
6.1.4 SQL Server的I/O體系結構 121
6.2 文件的組織 122
6.2.1 文件的邏輯結構 122
6.2.2 文件的物理結構 123
6.2.3 數據元素的表示 123
6.2.4 SQL Server數據庫的存儲結構 124
6.3 索引 125
6.3.1 聚簇索引 125
6.3.2 非聚簇索引 126
6.3.3 稠密索引 126
6.3.4 稀疏索引 127
6.3.5 多級索引 128
6.3.6 散列索引 130
6.3.7 關系代數表達式與索引的存儲結構 134
6.3.8 SQL Server數據庫的索引結構 134
習題 137
第7章 數據庫設計 139
7.1 需求分析 139
7.1.1 信息收集 139
7.1.2 信息建模 140
7.1.3 需求說明 142
7.1.4 案例分析 142
7.2 概念結構設計 146
7.2.1 概念結構設計的方法 147
7.2.2 數據抽象與局部視圖設計 147
7.3 邏輯結構設計 151
7.3.1 邏輯結構設計的過程 151
7.3.2 關系數據庫的邏輯設計 151
7.4 物理結構設計 153
7.4.1 確定數據庫的存儲結構 153
7.4.2 確定數據庫的存取方式 153
7.4.3 對物理結構進行評價 155
7.5 數據庫實現和維護 155
7.5.1 數據庫實現 155
7.5.2 數據庫維護 156
7.6 UML在數據庫設計中的應用 157
7.6.1 UML概述 157
7.6.2 創(chuàng)建概念數據模型 159
7.6.3 類圖映射到關系表 162
習題 164
第8章 數據庫保護 166
8.1 數據庫的安全性 166
8.1.1 安全控制模型 166
8.1.2 數據庫的安全控制技術 167
8.1.3 SQL Server的安全管理 167
8.2 數據完整性控制 170
8.2.1 數據完整性控制的基本概念 170
8.2.2 完整性約束分類 171
8.3 SQL Server的數據完整性 172
8.3.1 數據完整性的種類 172
8.3.2 數據完整性的具體實現 172
8.4 數據庫的并發(fā)控制 182
8.4.1 事務及并發(fā)控制的基本概念 182
8.4.2 并發(fā)控制 184
8.4.3 SQL Server的并發(fā)控制機制 189
8.5 數據庫備份與恢復 191
8.5.1 數據庫故障的種類 191
8.5.2 數據庫歸檔 192
8.5.3 數據庫恢復 194
8.6 SQL Server的數據備份和還原 195
8.6.1 基于SSMS的數據備份和還原 196
8.6.2 基于T-SQL的數據備份和還原 201
習題 210
第9章 數據庫應用系統(tǒng)開發(fā) 212
9.1 系統(tǒng)設計 212
9.1.1 需求分析 212
9.1.2 系統(tǒng)功能描述 213
9.1.3 系統(tǒng)功能模塊劃分 213
9.2 數據庫設計 215
9.2.1 概念結構設計 215
9.2.2 邏輯結構設計 217
9.2.3 數據表的創(chuàng)建 217
9.2.4 創(chuàng)建存儲過程 218
9.3 詳細設計與編碼 219
9.3.1 連接數據庫 219
9.3.2 瀏覽管理員信息 219
9.3.3 刪除管理員信息 221
9.3.4 添加新管理員信息 224
9.3.5 更新管理員信息 225
習題 227
附錄A 數據庫管理系統(tǒng)
SQL Server 2005簡介 230
附錄B Web數據庫簡介 241
附錄C ASP.NET簡介 246
附錄D ASP.NET應用程序開發(fā)
環(huán)境簡介 274
參考文獻 288