当前位置:首页 > 工业技术
数据库原理与实现
数据库原理与实现

数据库原理与实现PDF电子书下载

工业技术

  • 电子书积分:11 积分如何计算积分?
  • 作 者:高屹,高岩,李雷编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2013
  • ISBN:9787302312864
  • 页数:300 页
图书介绍:本书共分3个部分。第一部分介绍数据库通用原理,而不局限于某一种商业DBMS。第二部分介绍数据库应用的设计与开发,结合一个具有一定复杂度的数据库设计实例,较系统地介绍数据库设计的方法与步骤,帮助读者完成由编程人员向系统设计人员的转变。第三部分介绍DBMS系统的设计与实现中涉及的主要理论和技术,通过对CXDB源代码的分析,巩固前面所学内容,最终使每个感兴趣的读者都能够实现一个数据库管理系统。
《数据库原理与实现》目录

第1部分 数据库原理 3

第1章 数据库基础知识 3

1.1数据管理技术的发展 3

1.1.1数据和数据处理 3

1.1.2数据管理的三个阶段 3

1.2数据库的基本概念 5

1.2.1数据库系统 5

1.2.2数据模型 7

1.2.3数据库的发展 8

1.2.4数据库分类 10

1.3 DBMS体系结构 11

习题1 12

第2章 关系数据模型 13

2.1关系模型基础 13

2.1.1基本术语 13

2.1.2关系的数学定义 15

2.2关系代数 17

2.2.1传统的集合运算 17

2.2.2专门的关系运算 18

2.2.3关系演算 21

2.3基于包的关系代数 22

2.3.1传统的集合运算 22

2.3.2专门的关系运算 23

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

2.4.1实体完整性约束 24

2.4.2参照完整性约束 25

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

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

习题2 28

第3章 结构化查询语言SQL 30

3.1 SQL概述 30

3.1.1 SQL的标准和特点 30

3.1.2 SQL的术语 31

3.1.3 RDBMS的体系结构 32

3.2数据定义 32

3.2.1数据类型 33

3.2.2定义基表 34

3.2.3修改与删除基表 38

3.3基本数据查询 39

3.3.1 SELECT语句的语法 39

3.3.2单表查询 40

3.3.3分组统计查询 43

3.4连接查询 45

3.4.1交叉连接 45

3.4.2内连接 46

3.4.3外连接 47

3.4.4多表连接查询 49

3.5数据更新 51

3.5.1数据插入 51

3.5.2数据修改 52

3.5.3数据删除 52

3.6复杂的查询条件 53

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

3.6.2空值的判断 55

3.6.3针对字符数据的查询 56

实验SQL实验 58

习题3 60

第4章 数据库对象 62

4.1视图 62

4.1.1视图的概念 62

4.1.2创建、删除视图 63

4.1.3修改视图 64

4.1.4使用视图数据 64

4.2索引 64

4.2.1索引的概念 64

4.2.2使用索引 65

4.3序列 66

实验 使用数据库对象 68

4.4存储过程 68

4.5触发器 69

习题4 70

第5章 数据的安全性 72

5.1事务和锁的概念 72

5.1.1事务的概念 72

5.1.2事务的ACID特性 73

5.1.3事务生命周期 74

5.1.4锁 75

5.2使用事务 76

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

5.2.2显式模式 77

5.2.3隐性模式 77

5.2.4自动提交模式 78

5.3特殊事务模型 79

5.3.1嵌套事务 79

5.3.2保存点 79

5.3.3分布式事务 80

实验 事务的并发与隔离 80

5.4 SQL中的授权机制 84

5.4.1用户 84

5.4.2权限 84

5.4.3授权 85

5.4.4解除授权 85

习题5 86

第2部分 数据库设计与开发 89

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

6.1问题提出 89

6.2函数依赖和模式分解 91

6.2.1函数依赖 91

6.2.2模式分解 92

6.3关系范式 93

6.3.1第一范式 95

6.3.2第二范式 96

6.3.3第三范式 97

6.3.4非规范化 99

6.4 Boyce-Codd范式(BCNF) 100

实验 规范化设计案例 101

习题6 102

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

7.1数据库设计的工作 103

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

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

7.3.1基本ER元素 108

7.3.2高级ER元素 112

7.3.3建立ER模型 114

7.4逻辑模式设计 117

7.4.1概念模型向关系模式的转化 117

7.4.2继续转化为逻辑模式 122

7.5选择索引 123

7.5.1单个索引的收益 124

7.5.2主键上的索引 125

7.5.3索引的选择 125

实验 数据库建模实验 125

习题7 126

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

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

8.1.1数据库的访问 127

8.1.2几种常见的体系结构 128

8.1.3三层体系结构 129

8.2应用程序接口 130

8.2.1 ODBC 130

8.2.2 JDBC 130

实验 使用ODBC连接数据库 132

习题8 133

第3部分DBMS的实现 137

第9章DBMS的设计 137

9.1需求分析 137

9.1.1关于数据量 138

9.1.2关于并发度 139

9.1.3 CXDB教学版简介 139

9.2接口设计 140

9.2.1数据接口设计 141

9.2.2语言接口设计 141

9.2.3编程接口设计 142

9.3总体设计 143

9.3.1总体设计的任务 143

9.3.2 DBMS的一般体系结构 144

9.3.3 CXDB-E的体系结构 145

实验 基于CXDB-E的编程 147

习题9 148

第10章 存储管理 149

10.1数据存储技术概述 149

10.1.1存储器的层次 149

10.1.2磁盘的读写 150

10.1.3磁盘调度 151

10.1.4磁盘缓存(Disk Cache) 151

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

10.1.6 RAID 152

10.2数据在文件中的组织 153

10.2.1 CXDB-E文件格式 154

10.2.2 CXDB-E的文件头格式 154

10.3页的寻址 155

实验CXDB-E的存储管理 156

习题10 157

第11章 数据缓冲 158

11.1数据缓冲层概述 158

11.1.1缓冲区的概念 158

11.1.2散列表 159

11.2缓冲区管理 160

11.2.1文件页和缓冲区页 160

11.2.2缓冲区管理的功能 162

11.2.3缓冲区的大小 163

11.3缓冲区替换策略 163

实验CXDB-E的数据缓冲 165

习题11 165

第12章 数据操纵 166

12.1记录的存储技术 166

12.1.1记录在页中的存放 166

12.1.2记录的寻址 167

12.1.3溢出页的使用 168

12.2 CXDB-E的数据页格式 168

12.2.1数据记录格式 169

12.2.2数据页格式 170

12.2.3溢出页格式 171

12.2.4空闲页格式 171

12.3游标 172

12.3.1游标种类 172

12.3.2游标操作 173

12.3.3游标结构 174

实验CXDB-E的记录操纵 174

习题12 175

第13章 索引技术 176

13.1索引技术概述 176

13.2 B树索引 178

13.2.1 B树的概念 178

13.2.2 B树的基本算法 179

13.2.3 B树基本算法的讨论 182

13.2.4 B+树 182

13.3 CXDB-E的索引页格式 183

13.4用于索引的B树算法 184

13.4.1需要考虑的问题 185

13.4.2算法 186

实验CXDB-E的索引操纵 192

13.5其他索引技术 193

13.5.1散列表索引 193

13.5.2位图索引 193

13.5.3多维索引 194

习题13 194

第14章 查询处理 195

14.1查询处理的一般过程 195

14.1.1编译 195

14.1.2优化 197

14.1.3执行 198

14.2物理查询计划操作符 198

14.2.1关系的扫描 198

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

14.2.3衡量代价的参数 199

14.2.4两阶段多路归并排序 200

14.2.5物理操作符迭代器 201

14.2.6算法分类 202

14.3选择操作 203

14.4连接操作 205

14.4.1一趟算法 205

14.4.2嵌套循环连接 205

14.4.3基于排序的两趟算法 206

14.4.4基于散列的两趟算法 208

14.4.5基于索引的算法 209

14.5聚合操作 210

14.5.1一趟算法 210

14.5.2基于排序的两趟算法 212

14.5.3基于散列的两趟算法 212

14.5.4基于索引的算法 213

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

14.6.1交换律和结合律 213

14.6.2与选择有关的定律 213

14.6.3与投影有关的定律 214

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

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

14.7选择逻辑查询计划 215

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

14.7.2逻辑查询计划的优化 217

14.8选择物理查询计划 217

习题14 219

第15章CXDB-E的SQL层 221

15.1 SQL语句的编译 221

15.1.1编译的一般步骤 221

15.1.2 lex与yacc介绍 222

15.1.3 SQL语句的语法描述 223

15.1.4 SQL语句的内存结构 225

15.2 CXDB-E的查询处理 226

15.2.1语义分析 227

15.2.2选择查询计划 228

15.2.3查询执行 232

15.2.4条件表达式向索引的转化 234

实验SQL层的实现 235

习题15 235

第16章 事务管理 236

16.1事务调度 236

16.1.1串行调度和并行调度 237

16.1.2可串行化 238

16.1.3冲突可串行化 239

16.2事务隔离级别 240

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

16.2.2事务隔离级别 242

16.3并发控制 243

16.3.1并发控制的分类 243

16.3.2基于锁的并发控制 244

16.4锁的类型 244

16.4.1共享锁与排他锁 245

16.4.2锁的相容矩阵 245

16.4.3锁升级 246

16.4.4更新锁 246

16.4.5意向锁 247

16.5封锁粒度和封锁协议 248

16.5.1锁的粒度 248

16.5.2两段锁协议 249

16.6加锁产生的问题 251

16.6.1阻塞 252

16.6.2死锁 252

16.6.3死锁的预防 252

16.6.4死锁检测与解除 253

16.6.5活锁 254

16.7 CXDB加锁的实现 254

16.7.1 CXDB加锁的粒度 254

16.7.2 CXDB表级锁的类型 255

16.7.3 CXDB的死锁检测与解决 257

实验 死锁 257

习题16 259

第17章 故障恢复 261

17.1故障恢复概述 261

17.1.1故障类型 261

17.1.2故障恢复 262

17.2 Undo日志 263

17.2.1日志的概念 264

17.2.2日志记录 264

17.2.3使用Undo日志的恢复 265

17.2.4检查点 267

17.2.5模糊检查点 268

17.3 Redo日志 268

17.3.1使用Redo日志的恢复 269

17.3.2 Redo日志的检查点 270

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

17.4 Undo/Redo日志 270

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

17.4.2 Undo/Redo日志的检查点 271

17.5防备介质故障 272

17.5.1备份类型 272

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

习题17 274

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

18.1数据仓库 276

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

18.1.2数据仓库的特点 277

18.1.3数据仓库的组成 278

18.1.4新一代数据仓库 279

18.2 XML和XQuery 280

18.2.1半结构化数据 280

18.2.2 XML 281

18.2.3 XPath 282

18.2.4.XQuery 284

附录A人员数据库设计 287

A.1表定义和表数据 287

A.2创建语句 288

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

B.1规章制度 291

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

B.3数据库设计 293

参考文献 300

相关图书
作者其它书籍
返回顶部