书籍 数据库原理的封面

数据库原理PDF电子书下载

(中国)赵文栋,张少娴,徐正芹

购买点数

12

出版社

北京:清华大学出版社

出版时间

2019

ISBN

标注页数

333 页

PDF页数

351 页

图书目录

第一部分 数据库原理 3

第1章 数据库基础知识 3

1.1 数据管理技术的发展 3

1.1.1 数据和数据处理 3

1.1.2 数据管理的三个阶段 4

1.2 数据库的基本概念 5

1.2.1 数据库系统 5

1.2.2 数据模型 8

1.2.3 数据库的发展 9

1.2.4 数据库分类 11

1.3 DBMS体系结构 12

习题1 13

第2章 关系数据模型 15

2.1 关系模型基础 15

2.1.1 基本术语 15

2.1.2 关系的数学定义 17

2.2 关系代数 19

2.2.1 传统的集合运算 20

2.2.2 专门的关系运算 22

2.2.3 关系演算 24

2.3 基于包的关系代数 25

2.3.1 传统的集合运算 25

2.3.2 专门的关系运算 27

2.4 关系的三类完整性约束 27

2.4.1 实体完整性约束 28

2.4.2 参照完整性约束 28

2.4.3 用户自定义的完整性约束 29

实验 畅想数据库管理系统 29

习题2 32

第3章 结构化查询语言(SQL) 35

3.1 SQL概述 35

3.1.1 SQL的标准和特点 35

3.1.2 SQL的术语 36

3.1.3 RDBMS的体系结构 37

3.2 数据定义 38

3.2.1 数据类型 38

3.2.2 定义基表 40

3.2.3 修改与删除基表 44

3.3 基本数据查询 45

3.3.1 SELECT语句的语法 45

3.3.2 单表查询 45

3.3.3 分组统计查询 49

3.4 连接查询 51

3.4.1 交叉连接 51

3.4.2 内连接 52

3.4.3 外连接 53

3.4.4 多表连接查询 56

3.5 数据更新 57

3.5.1 数据插入 57

3.5.2 数据修改 58

3.5.3 数据删除 59

3.6 复杂的查询条件 60

3.6.1 查询条件表达式的语法 60

3.6.2 空值的判断 62

3.6.3 针对字符数据的查询 62

实验 SQL实验 64

习题3 67

第4章 数据库对象 69

4.1 视图 69

4.1.1 视图的概念 69

4.1.2 创建和删除视图 70

4.1.3 修改视图 71

4.1.4 使用视图数据 71

4.2 索引 72

4.2.1 索引的概念 72

4.2.2 使用索引 73

4.3 序列 73

实验 使用数据库对象 75

4.4 存储过程 75

4.5 触发器 77

习题4 78

第5章 数据的安全性 79

5.1 事务和锁的概念 79

5.1.1 事务的概念 79

5.1.2 事务的ACID特性 80

5.1.3 事务生命周期 82

5.1.4 锁 83

5.2 使用事务 83

5.2.1 用户、连接和事务的关系 83

5.2.2 显式模式 84

5.2.3 隐性模式 85

5.2.4 自动提交模式 86

5.3 特殊事务模型 86

5.3.1 嵌套事务 86

5.3.2 保存点 87

5.3.3 分布式事务 87

实验 事务的并发与隔离 88

5.4 SQL中的授权机制 92

5.4.1 用户 92

5.4.2 权限 92

5.4.3 授权 93

5.4.4 解除授权 93

习题5 94

第二部分 数据库设计与开发 97

第6章 关系模式的规范化 97

6.1 问题提出 97

6.2 函数依赖和模式分解 99

6.2.1 函数依赖 99

6.2.2 模式分解 101

6.3 关系范式 102

6.3.1 第一范式 104

6.3.2 第二范式 105

6.3.3 第三范式 107

6.3.4 非规范化 108

6.4 Boyce-Codd范式(BCNF) 109

实验 规范化设计案例 111

习题6 111

第7章 数据库设计与建模 113

7.1 数据库设计的工作 113

7.2 数据库系统的设计方法及步骤 116

7.3 概念模型设计与ER模型 118

7.3.1 基本ER元素 118

7.3.2 高级ER元素 123

7.3.3 建立ER模型 125

7.4 逻辑模式设计 128

7.4.1 概念模型向关系模式的转换 129

7.4.2 继续转换为逻辑模式 134

7.5 选择索引 135

7.5.1 单个索引的收益 135

7.5.2 主键上的索引 136

7.5.3 索引的选择 136

实验 数据库建模实验 137

习题7 137

第8章 数据库应用程序开发 139

8.1 数据库系统的体系结构 139

8.1.1 数据库的访问 139

8.1.2 几种常见的体系结构 140

8.1.3 三层体系结构 142

8.2 应用程序接口 142

8.2.1 ODBC 143

8.2.2 JDBC 143

实验 使用ODBC连接数据库 145

习题8 146

第三部分 DBMS的实现 149

第9章 DBMS的设计 149

9.1 需求分析 149

9.1.1 关于数据量 150

9.1.2 关于并发度 151

9.1.3 CXDB教学版简介 152

9.2 接口设计 153

9.2.1 数据接口设计 153

9.2.2 语言接口设计 153

9.2.3 编程接口设计 154

9.3 总体设计 155

9.3.1 总体设计的任务 155

9.3.2 DBMS的一般体系结构 156

9.3.3 CXDB-E的体系结构 158

实验 基于CXDB-E的编程 160

习题9 161

第10章 存储管理 163

10.1 数据存储技术概述 163

10.1.1 存储器的层次 163

10.1.2 磁盘的读写 164

10.1.3 磁盘调度 165

10.1.4 磁盘缓存 166

10.1.5 提高磁盘I/O速度的方法 166

10.1.6 RAID 167

10.2 数据在文件中的组织 168

10.2.1 CXDB-E文件格式 168

10.2.2 CXDB-E的文件头格式 169

10.3 页的寻址 170

实验 CXDB-E的存储管理 171

习题10 171

第11章 数据缓冲 173

11.1 数据缓冲层概述 173

11.1.1 缓冲区的概念 173

11.1.2 散列表 174

11.2 缓冲区管理 175

11.2.1 文件页和缓冲区页 175

11.2.2 缓冲区管理的功能 177

11.2.3 缓冲区的大小 178

11.3 缓冲区替换策略 179

实验 CXDB-E的数据缓冲 181

习题11 181

第12章 数据操纵 183

12.1 记录的存储技术 183

12.1.1 记录在页中的存放 183

12.1.2 记录的寻址 185

12.1.3 溢出页的使用 185

12.2 CXDB-E的数据页格式 186

12.2.1 数据记录格式 186

12.2.2 数据页格式 187

12.2.3 溢出页格式 188

12.2.4 空闲页格式 189

12.3 游标 190

12.3.1 游标种类 190

12.3.2 游标操作 190

12.3.3 游标结构 191

实验 CXDB-E的记录操纵 192

习题12 193

第13章 索引技术 195

13.1 索引技术概述 195

13.2 B树索引 197

13.2.1 B树的概念 197

13.2.2 B树的基本算法 198

13.2.3 B树基本算法的讨论 202

13.2.4 B+树 203

13.3 CXDB-E的索引页格式 204

13.4 用于索引的B树算法 205

13.4.1 需要考虑的问题 205

13.4.2 算法 206

实验 CXDB-E的索引操纵 213

13.5 其他索引技术 214

13.5.1 散列索引 214

13.5.2 位图索引 215

13.5.3 多维索引 215

习题13 216

第14章 查询处理 217

14.1 查询处理的一般过程 217

14.1.1 编译 218

14.1.2 优化 219

14.1.3 执行 220

14.2 物理查询计划操作符 220

14.2.1 关系的扫描 221

14.2.2 物理操作符的代价计算模型 221

14.2.3 衡量代价的参数 221

14.2.4 两阶段多路归并排序 222

14.2.5 物理操作符迭代器 224

14.2.6 算法分类 225

14.3 选择操作 226

14.4 连接操作 228

14.4.1 一趟算法 228

14.4.2 嵌套循环连接 228

14.4.3 基于排序的两趟算法 229

14.4.4 基于散列的两趟算法 231

14.4.5 基于索引的算法 232

14.5 聚合操作 233

14.5.1 一趟算法 234

14.5.2 基于排序的两趟算法 235

14.5.3 基于散列的两趟算法 236

14.5.4 基于索引的算法 236

14.6 关系代数的等价性定律 236

14.6.1 交换律和结合律 236

14.6.2 与选择有关的定律 237

14.6.3 与投影有关的定律 238

14.6.4 与连接和积有关的定律 238

14.6.5 与分组和聚合有关的定律 238

14.7 选择逻辑查询计划 238

14.7.1 将分析树转换为关系代数表达式树 239

14.7.2 逻辑查询计划的优化 240

14.8 选择物理查询计划 241

习题14 242

第15章 CXDB-E的SQL层 245

15.1 SQL语句的编译 245

15.1.1 编译的一般步骤 246

15.1.2 lex与yacc介绍 246

15.1.3 SQL语句的语法描述 248

15.1.4 SQL语句的内存结构 249

15.2 CXDB-E的查询处理 250

15.2.1 语义分析 251

15.2.2 选择查询计划 252

15.2.3 查询执行 256

15.2.4 条件表达式向索引的转换 259

实验 SQL层的实现 259

习题15 260

第16章 事务管理 261

16.1 事务调度 261

16.1.1 串行调度和并行调度 262

16.1.2 可串行化 265

16.1.3 冲突可串行化 266

16.2 事务隔离级别 267

16.2.1 并行调度造成的不一致现象 267

16.2.2 事务隔离级别 269

16.3 并发控制 270

16.3.1 并发控制的分类 270

16.3.2 基于锁的并发控制 270

16.4 锁的类型 271

16.4.1 共享锁与排他锁 271

16.4.2 锁的相容矩阵 271

16.4.3 锁升级 272

16.4.4 更新锁 273

16.4.5 意向锁 274

16.5 封锁粒度和封锁协议 275

16.5.1 锁的粒度 275

16.5.2 两段锁协议 276

16.6 加锁产生的问题 279

16.6.1 阻塞 279

16.6.2 死锁 280

16.6.3 死锁的预防 280

16.6.4 死锁检测与解除 281

16.6.5 活锁 282

16.7 CXDB加锁的实现 282

16.7.1 CXDB加锁的粒度 282

16.7.2 CXDB表级锁的类型 283

16.7.3 CXDB的死锁检测与解决 285

实验 死锁 285

习题16 287

第17章 故障恢复 289

17.1 故障恢复概述 289

17.1.1 故障类型 289

17.1.2 故障恢复基础 290

17.2 Undo日志 292

17.2.1 日志的概念 292

17.2.2 日志记录 293

17.2.3 使用Undo日志的恢复 294

17.2.4 检查点 295

17.2.5 模糊检查点 296

17.3 Redo日志 297

17.3.1 使用Redo日志的恢复 297

17.3.2 Redo日志的检查点 298

17.3.3 使用带检查点的Redo日志的恢复 299

17.4 Undo/Redo日志 299

17.4.1 使用Undo/Redo日志的恢复 299

17.4.2 Undo/Redo日志的检查点 300

17.5 防备介质故障 301

17.5.1 备份类型 301

17.5.2 使用备份和日志的恢复 302

习题17 302

第18章 数据库技术的发展 305

18.1 数据仓库 306

18.1.1 数据仓库的发展与定义 306

18.1.2 数据仓库的特点 307

18.1.3 数据仓库的组成 308

18.1.4 新一代数据仓库 309

18.2 XML和XQuery 310

18.2.1 半结构化数据 311

18.2.2 XML 311

18.2.3 XPath 313

18.2.4 XQuery 314

附录A 人员数据库设计 319

A.1 表定义和表数据 319

A.2 创建语句 321

附录B 图书借阅数据库设计 323

B.1 规章制度 323

B.2 与藏书有关的需求 324

B.3 数据库设计 325

参考文献 333

查看更多关于的内容

本类热门
在线购买PDF电子书
下载此书RAR压缩包