《数据库系统设计与原理 第2版》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:冯建华,周立柱,郝晓龙编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2007
  • ISBN:7302150605
  • 页数:267 页
图书介绍:本书讲述数据库系统设计与原理。

第1章 引言 1

1.1 数据库管理系统的产生 2

1.1.1 数据管理的进展 2

1.1.2 文件处理系统 2

1.1.3 数据库管理系统 4

1.2 数据视图 5

1.2.1 数据抽象 5

1.2.2 实例和模式 6

1.2.3 数据独立性 7

1.3 数据模型 7

1.3.1 数据模型的分类 7

1.3.2 实体-联系模型 9

1.3.3 面向对象模型 9

1.3.4 关系模型 10

1.3.5 网状模型 11

1.3.6 层次模型 11

1.4 数据库语言 12

1.4.1 数据定义语言 12

1.4.2 数据操纵语言 12

1.5 事务管理 12

1.5.1 问题的提出 12

1.5.2 事务的定义 13

1.5.3 事务管理器 13

1.5.4 并发控制管理器 13

1.6 存储管理 13

1.7 数据库用户 14

1.8 数据库管理系统的总体结构 14

1.8.1 查询处理器部件 14

1.8.2 存储管理器部件 15

1.8.3 必要的数据结构 15

1.9 商业数据库管理系统 16

1.9.1 Oracle数据库系统 16

1.9.2 Sybase数据库系统 16

1.9.3 Microsoft公司与IBM公司数据库系统 17

本章小结 17

习题 18

第2章 实体-联系模型 19

2.1 基本概念 20

2.1.1 实体集与属性 20

2.1.2 属性类型的划分 20

2.1.3 联系集与属性 21

2.2 E-R模型设计中的问题 22

2.2.1 用实体集还是用属性 22

2.2.2 用实体集还是用联系集 23

2.2.3 用二元联系集还是n元联系集 24

2.3 映射约束 25

2.3.1 映射基数 25

2.3.2 映射基数与联系集的属性位置 26

2.3.3 存在依赖 26

2.4 码 27

2.4.1 码的作用 27

2.4.2 实体集的码 27

2.4.3 联系集的码 28

2.5 实体-联系图 29

2.5.1 E-R图的主要构件 29

2.5.2 E-R图的作用与好处 29

2.5.3 E-R图举例 29

2.6 弱实体集 32

2.6.1 基本概念 32

2.6.2 分辨符 32

2.6.3 弱实体集的E-R图 33

2.6.4 数据库设计中弱实体集的处理 33

2.7 扩展E-R特性 34

2.7.1 特殊化 34

2.7.2 概括 34

2.7.3 聚集 36

2.8 数据库的E-R模式设计 37

2.8.1 E-R模式设计的主要任务 37

2.8.2 E-R模式设计中的问题 37

2.9 将E-R模式转换为表 38

2.9.1 为什么要将E-R模式转换为表 38

2.9.2 用表表示强实体集 38

2.9.3 用表表示弱实体集 38

2.9.4 用表表示联系集 39

2.9.5 用表表示多值属性 41

2.9.6 用表表示概括 41

2.9.7 用表表示聚集 41

本章小结 42

习题 42

第3章 关系模型 43

3.1 关系数据库的结构 44

3.1.1 基本概念 44

3.1.2 数据库模式 46

3.1.3 码 49

3.1.4 查询语言 50

3.2 关系代数 51

3.2.1 选择运算 51

3.2.2 投影运算 52

3.2.3 并运算 52

3.2.4 集合差运算 54

3.2.5 笛卡儿积运算 54

3.2.6 命名运算 58

3.2.7 关系代数的形式化定义 59

3.2.8 集合交运算 59

3.2.9 自然连接运算 59

3.2.10 除运算 61

3.2.11 赋值运算 63

3.3 关系演算 64

3.3.1 元组关系演算 64

3.3.2 域关系演算 64

3.3.3 表达式的安全性与等价性 65

3.4 扩展关系代数运算 66

3.4.1 广义投影 66

3.4.2 外连接 66

3.4.3 聚集函数 69

3.4.4 分组聚集 70

3.5 数据库的修改 71

3.5.1 删除 71

3.5.2 插入 72

3.5.3 更新 72

3.6 视图 72

3.6.1 什么是视图 72

3.6.2 视图的使用 73

3.6.3 实体化视图 73

本章小结 74

习题 74

第4章 关系数据库查询语言SQL 76

4.1 背景 77

4.1.1 SQL的起源 77

4.1.2 SQL的标准 77

4.1.3 结构化查询语言SQL 77

4.2 基本结构 78

4.2.1 select-from-where 78

4.2.2 更名操作 80

4.2.3 字符串操作 80

4.3 集合操作 81

4.4 聚集函数 81

4.4.1 SQL中的聚集函数 81

4.4.2 分组聚集 82

4.5 空值 83

4.5.1 空值的测试 83

4.5.2 空值对SQL表达式的影响 83

4.6 嵌套子查询 84

4.6.1 集合成员资格的确认 84

4.6.2 集合的比较 84

4.6.3 集合基数的测试 85

4.7 派生关系 85

4.8 视图 86

4.9 数据库的修改 86

4.9.1 删除 86

4.9.2 插入 87

4.9.3 更新 87

4.10 关系的连接 88

4.10.1 连接类型和条件 88

4.10.2 举例 89

4.11 SQL DDL 91

4.11.1 SQL中的域类型 92

4.11.2 SQL的模式定义 92

4.11.3 模式的删除与修改 93

4.12 嵌入式SQL 93

4.13 其他SQL特性 95

本章小结 95

习题 95

第5章 数据库的完整性约束与模式分解 97

5.1 域约束 98

5.2 参照完整性 98

5.2.1 基本概念 98

5.2.2 E-R模型中的参照完整性 100

5.2.3 数据库的修改 100

5.2.4 SQL中的参照完整性 100

5.3 断言 101

5.4 触发器 102

5.5 函数依赖 103

5.5.1 基本概念 103

5.5.2 举例 104

5.5.3 函数依赖集的闭包 105

5.5.4 Armstrong公理 106

5.6 码与范式 106

5.7 关系数据库设计 107

5.8 模式分解 108

5.8.1 问题的提 108

5.8.2 无损连接分解 110

5.8.3 规范化 110

本章小结 112

习题 112

第6章 数据库的物理设计 114

6.1 数据库设计的六阶段 115

6.1.1 数据库的设计过程 115

6.1.2 数据库的三级模式 117

6.2 数据库的物理组织 118

6.3 SQL Server 2000的数据库文件组织 119

6.3.1 基本知识 119

6.3.2 SQL Server数据库文件 120

6.3.3 SQL Server数据库文件组 121

6.3.4 默认的文件组 121

6.3.5 为什么要使用多个文件 122

6.4 数据库的物理设计 123

6.5 数据的存储结构 124

6.6 数据的存取路径 125

6.7 物理设计的相关因素 125

6.8 数据库物理设计实例:全国人口查询系统 126

本章小结 128

习题 128

第7章 存储结构和文件结构 129

7.1 物理存储介质 130

7.1.1 三级存储体系 130

7.1.2 磁盘 130

7.1.3 RAID 131

7.1.4 第三级存储 132

7.2 文件组织 133

7.2.1 定长记录 133

7.2.2 变长记录 136

7.3 SQL Server 2000的数据页及其检查 140

7.3.1 SQL Server的数据页 140

7.3.2 检查数据页 142

7.4 SQL Server数据库的空间管理与文件结构 145

7.5 SQL Server的记录结构 148

7.5.1 基本知识 148

7.5.2 SQL Server的数据行结构 149

7.5.3 列偏移数组 151

7.6 SQL Server中定长和变长数据的存储 151

7.6.1 定长行的存储 151

7.6.2 变长列的存储 154

7.7 文件中记录的组织 155

7.7.1 堆文件组织 155

7.7.2 顺序文件组织 156

7.7.3 散列文件组织 157

7.7.4 簇集文件组织 157

7.8 数据字典的存储 159

7.8.1 关系的元数据 159

7.8.2 用户的元数据 159

7.8.3 统计数据和描述数据 159

7.8.4 索引的元数据 159

7.8.5 系统表 160

7.8.6 SQL Server的系统表 160

本章小结 163

习题 163

第8章 索引和散列 165

8.1 基本概念 166

8.1.1 基本的索引结构 166

8.1.2 评价索引的标准 166

8.2 顺序索引 167

8.2.1 索引顺序文件 167

8.2.2 多级索引 169

8.2.3 索引的更新 169

8.2.4 辅助索引 171

8.3 B+树索引文件 172

8.3.1 B+树索引结构 172

8.3.2 B+树索引的缺点 174

8.3.3 B+树上的查询 174

8.3.4 B+树的更新 175

8.3.5 B+树文件组织 175

8.4 散列文件组织 176

8.4.1 散列文件的操作 176

8.4.2 散列函数 176

8.4.3 桶溢出控制 177

8.5 散列索引 177

8.6 顺序索引和散列的比较 178

8.7 Microsoft SQL Server的索引组织 179

8.7.1 簇集索引 180

8.7.2 非簇集索引 181

8.7.3 在SQL Server中创建索引 182

8.7.4 约束与索引 183

8.8 多码访问 184

本章小结 185

习题 186

第9章 查询处理 187

9.1 查询处理的过程 188

9.1.1 语法分析与翻译器 188

9.1.2 查询优化器 189

9.1.3 执行引擎 190

9.2 关系代数表达式的转换 190

9.2.1 等价规则 191

9.2.2 表达式转换举例 192

9.3 查询代价的度量 193

9.3.1 查询处理的代价 193

9.3.2 代价模型 193

9.3.3 用于估计代价的统计信息 194

9.4 实现关系运算的算法代价 194

9.4.1 选择运算 194

9.4.2 连接运算 195

9.5 表达式的求值方法 197

9.5.1 实体化计算方法 197

9.5.2 流水线计算方法 197

9.6 查询优化 198

9.7 查询优化器的构造 200

本章小结 201

习题 202

第10章 事务 204

10.1 事务的概念 205

10.1.1 背景知识 205

10.1.2 事务的特性 205

10.2 事务的状态 207

10.2.1 基本术语 207

10.2.2 抽象事务模型 208

10.3 原子性和持久性的实现 208

10.4 事务的并发执行 209

10.4.1 为什么要并发执行 209

10.4.2 调度 210

10.5 调度的可串行化 211

10.5.1 调度中指令的可交换性 211

10.5.2 冲突可串行化 213

10.5.3 视图可串行化 213

10.6 调度的可恢复性 214

10.7 隔离性的实现 215

10.8 SQL中事务的定义 215

10.9 冲突可串行化的判定 216

10.9.1 判定方法 216

10.9.2 优先图 216

10.9.3 举例 216

本章小结 218

习题 219

第11章 并发控制 220

11.1 封锁协议 221

11.1.1 锁 221

11.1.2 基本的封锁协议 221

11.1.3 基本封锁协议的问题 223

11.1.4 两阶段封锁协议 224

11.1.5 加强的两阶段封锁协议 225

11.1.6 商用DBMS中封锁协议的实现 227

11.2 树状协议 228

11.2.1 树状协议的提出 228

11.2.2 树状协议内容 228

11.3 时间戳排序协议 229

11.3.1 时间戳 230

11.3.2 时间戳排序协议 230

11.3.3 Thomas(托马斯)写规则 232

11.4 有效性检查协议 233

11.5 多粒度机制 234

11.6 多版本机制 234

11.7 死锁处理 234

11.7.1 死锁问题 234

11.7.2 死锁预防 235

11.7.3 死锁检测与恢复 236

11.8 插入与删除 237

11.8.1 删除 237

11.8.2 插入 238

本章小结 238

习题 239

第12章 数据库系统的体系结构 240

12.1 集中式系统 240

12.2 客户/服务器系统 241

12.3 并行系统 243

12.4 分布式系统 244

本章小结 245

习题 246

第13章 数据仓库 247

13.1 数据库技术的发展 248

13.2 数据仓库 249

13.2.1 数据仓库的概念 249

13.2.2 数据仓库的结构 253

13.2.3 数据仓库的特点 255

13.3 数据集市 255

13.4 数据仓库的开发过程 256

13.5 基于数据库的决策支持系统的解决方案 258

本章小结 259

习题 260

附录A 清华大学本科生课程概况 261

参考文献 266