《数据库系统分析与实现》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:刘云生编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2009
  • ISBN:9787302193463
  • 页数:543 页
图书介绍:本书详细介绍了数据库理论、技术、方法、分析、实现和应用,并对现代数据库的新发展,如实时、主动、内存、时态等数据库给予系统介绍。

第一部分 数据库系统基础第1章 绪论 3

1.1 数据库管理技术 3

1.1.1 文件管理系统 4

1.1.2 数据库系统 5

1.2 数据库系统的发展 7

1.3 数据库的研究 9

1.3.1 数据库理论研究 9

1.3.2 数据库管理系统研究 10

1.3.3 数据库应用研究 10

1.4 数据库应用 11

1.5 数据库系统评估 12

1.5.1 数据特征 13

1.5.2 应用特征 13

1.5.3 DBMS支持 13

1.6 现代数据库技术 14

习题1 14

第2章 数据库系统概念 15

2.1 数据及其表示 15

2.1.1 数据与信息 15

2.1.2 数据表示的两个领域 16

2.1.3 数据项间的联系 17

2.1.4 记录间的联系 18

2.2 数据的视图 19

2.2.1 数据抽象 19

2.2.2 数据库的分层视图 19

2.2.3 数据独立性 21

2.2.4 模式与实例 22

2.3 数据模型 23

2.3.1 模型的概念 23

2.3.2 数据模型的概念 24

2.3.3 数据模型的分析 24

2.4 数据库语言 25

2.4.1 数据定义语言 25

2.4.2 数据操纵语言 26

2.4.3 宿主语言 26

2.5 数据库组织 27

2.6 查询 28

2.7 事务管理 28

2.7.1 接纳 28

2.7.2 资源管理 29

2.7.3 数据库一致性保护 29

2.7.4 故障恢复 29

2.7.5 执行管理 29

2.8 存储数据管理 29

2.9 数据库用户 30

2.9.1 数据处理人员 30

2.9.2 非数据处理人员(最终用户) 31

2.10 数据库系统概述 31

2.10.1 数据库系统组成 31

2.10.2 关系数据库系统 33

2.10.3 网状数据库系统 36

2.10.4 层次数据库系统 40

习题2 43

第3章 数据库数据模型 44

3.1 数据模型的概念 44

3.2 E-R模型 45

3.2.1 实体与实体集 45

3.2.2 属性、关键字及值域 46

3.2.3 联系与联系集 47

3.2.4 E-R图 49

3.2.5 标识 50

3.2.6 联系的成员籍 51

3.2.7 弱实体 52

3.3 关系模型 53

3.3.1 概述 53

3.3.2 基本概念 54

3.3.3 关系的一般特征 56

3.3.4 关系数据完整性 56

3.3.5 关系代数 57

3.3.6 关系演算 63

3.4 记录式模型 66

3.4.1 网状模型 66

3.4.2 层次模型 68

3.4.3 数据完整性约束 70

3.5 语义模型 70

3.5.1 语义模型概述 70

3.5.2 扩展的关系模型 72

3.5.3 角色模型 74

3.5.4 函数模型 77

3.6 对象数据模型 78

3.6.1 面向对象的基本概念 78

3.6.2 对象数据结构 81

3.6.3 类结构 82

3.6.4 方法与消息 83

习题3 84

第4章 SQL数据库语言 86

4.1 SQL的组成 86

4.1.1 主要部件 86

4.1.2 基本查询结构 87

4.2 数据定义及其维护 87

4.2.1 基本关系的定义及变更 87

4.2.2 视图的定义与撤销 89

4.2.3 索引的建立 89

4.3 基本查询 89

4.3.1 无条件简单查询 90

4.3.2 条件查询 90

4.3.3 空值查询 92

4.3.4 查询结果排序 93

4.4 使用聚集函数的查询 93

4.4.1 聚集函数 93

4.4.2 消去重复 94

4.4.3 查询结果分组 94

4.4.4 分组筛选 94

4.5 复杂查询 95

4.5.1 关系的连接 95

4.5.2 简单连接查询 96

4.5.3 元组变量 97

4.5.4 查询的并、交、差 97

4.5.5 嵌套的子查询 98

4.6 数据库的变更 101

4.6.1 数据插入 101

4.6.2 数据删除 101

4.6.3 数据修改 102

4.7 数据控制 102

4.7.1 安全性控制 102

4.7.2 完整性控制 104

4.7.3 事务执行控制 107

4.7.4 事务并发控制 107

4.8 嵌入式SQL 109

4.8.1 阻抗不匹配问题 109

4.8.2 SQL与主语言的接口 109

4.8.3 游标 110

4.9 动态SQL 113

4.9.1 嵌入式动态SQL语句 113

4.9.2 参数与变元 114

4.9.3 SELECT语句的处理 115

4.9.4 动态SQL游标的使用 116

4.10 SQL的触发器 116

习题4 117

第二部分 数据库系统结构第5章 数据库系统体系结构 121

5.1 数据库系统的一般功能模型 121

5.2 数据库系统的层次结构模型 122

5.3 集中式数据库系统结构 125

5.4 分布式数据库系统结构 126

5.5 客户机/服务器数据库系统结构 127

5.5.1 一般C/S系统 127

5.5.2 事务服务器系统 128

5.5.3 数据服务器系统 129

5.6 并行数据库系统结构 130

5.6.1 无共享结构 130

5.6.2 全共享结构 131

5.6.3 共享磁盘结构 131

5.6.4 层次结构 131

5.7 移动数据库系统结构 131

习题5 132

第6章 数据库存储结构 133

6.1 数据库存储空间组织 133

6.1.1 存储层次结构 133

6.1.2 磁盘结构 135

6.1.3 RAID(磁盘阵列)技术 139

6.1.4 磁盘空间管理 142

6.2 缓冲区管理 143

6.2.1 缓冲区管理器 143

6.2.2 缓冲区替换策略 144

6.3 物理数据库模型 145

6.3.1 逻辑存储结构到物理存储结构的映射 145

6.3.2 存储数据的安置 146

6.3.3 存储文件结构 147

6.3.4 页结构 149

6.3.5 存储记录格式 151

6.3.6 特殊数据项的存储处理 153

6.3.7 记录的存储处理 157

6.4 文件的组织形式 159

6.5 顺序结构 160

6.6 索引结构 161

6.6.1 KTA变换 161

6.6.2 索引的组织 162

6.6.3 索引的特性 162

6.6.4 索引存取 164

6.7 Hash结构 165

6.7.1 一般Hash组织模型 165

6.7.2 桶式Hash 169

6.7.3 撒播Hash 169

6.7.4 索引Hash 170

6.7.5 可扩展的Hash 170

6.7.6 线性扩展Hash 172

6.7.7 多目录Hash 174

6.8 树索引结构 175

6.8.1 B-树结构 175

6.8.2 B+-树结构 179

6.8.3 B-树的性能分析 180

6.8.4 索引顺序结构 181

6.9 链表结构 183

6.9.1 整体链表结构 183

6.9.2 多分链表结构 184

6.9.3 链表的查询 185

6.9.4 链表结构的数据维护 186

6.10 倒排表结构 186

习题6 187

第7章 数据库管理系统体系结构 190

7.1 数据的集成管理 190

7.1.1 数据独立 190

7.1.2 数据共享 193

7.1.3 数据的集中控制 194

7.1.4 数据可用性 194

7.2 DBMS的功能 195

7.3 DBMS的组成与结构 195

7.4 数据字典系统 197

7.4.1 数据字典结构 197

7.4.2 数据字典的管理 197

7.4.3 数据字典系统的实现 198

7.5 DBMS的进程结构 199

7.5.1 N:0式结构 199

7.5.2 N:N式结构 200

7.5.3 N:1式结构 200

7.5.4 N:M式结构 201

习题7 202

第三部分 数据库系统实现第8章 数据库使用 205

8.1 数据库运行 205

8.1.1 运行环境的构成 205

8.1.2 运行环境的类型 206

8.1.3 处理方式 207

8.2 数据库使用方式 207

8.2.1 编程使用方式 207

8.2.2 交互使用方式 209

8.3 用户请求的实现过程 209

8.4 数据库的存取 211

8.4.1 逻辑数据存取 212

8.4.2 物理数据存取 212

8.4.3 数据库存取实现过程 212

习题8 214

第9章 查询处理 215

9.1 查询处理概述 215

9.2 查询处理步骤 217

9.2.1 语法分析 217

9.2.2 语法树 218

9.2.3 语句翻译 219

9.2.4 逻辑计划生成 220

9.2.5 逻辑查询计划优化 221

9.2.6 物理查询计划生成 221

9.2.7 物理计划优化 223

9.2.8 查询计划执行 224

9.3 查询优化技术 224

9.3.1 关系代数的等价性定律 224

9.3.2 逻辑查询优化的一般策略 227

9.3.3 物理操作实现的算法 227

9.4 查询的代价估算 230

9.4.1 操作代价模型 230

9.4.2 一趟算法的代价 231

9.4.3 基于排序两趟算法的代价 231

9.4.4 基于Hash两趟算法的代价 232

9.4.5 基于索引算法的代价 233

9.5 查询计划的选择方法 233

9.5.1 相关技术 233

9.5.2 逻辑查询计划的启发式选优 234

9.5.3 物理查询计划的选择方法 234

习题9 236

第10章 事务 237

10.1 事务的概念 237

10.2 事务的ACID特性 238

10.2.1 原子性 238

10.2.2 一致性 239

10.2.3 隔离性 239

10.2.4 永久性 240

10.3 事务的分类 240

10.3.1 按构造分类 240

10.3.2 按执行时间分类 241

10.3.3 按使用数据的方式分类 241

10.3.4 按执行的方式分类 241

10.4 事务的状态 241

10.5 事务的正确性 243

10.6 复杂事务的模型 243

10.6.1 复杂事务的一般模型 243

10.6.2 典型复杂事务类型 244

10.6.3 复杂事务的特性 245

10.6.4 嵌套事务 246

习题10 247

第11章 事务处理 248

11.1 事务处理的任务 248

11.2 事务经历模型 249

11.2.1 事务管理原语操作 250

11.2.2 数据库原语操作 250

11.2.3 事务经历 251

11.2.4 事务处理过程 252

11.3 事务调度 253

11.4 可串行性 255

11.4.1 效果可串行性 255

11.4.2 视图可串行性 255

11.4.3 冲突可串行性 256

11.4.4 可串行性的测试 258

11.5 并发调度的原则 262

11.5.1 事务相互干扰的问题 262

11.5.2 可串行性的程度 264

11.5.3 可恢复性 264

11.5.4 隔离的级别 266

11.6 封锁式并发控制 267

11.6.1 锁 267

11.6.2 加锁与解锁 268

11.6.3 封锁的主要问题 269

11.6.4 两阶段封锁 270

11.6.5 2PL的变种 271

11.6.6 锁的升级与更新锁 273

11.6.7 增量锁 274

11.6.8 封锁管理及其实现 275

11.7 多层结构数据的封锁 277

11.7.1 多粒度锁 277

11.7.2 树结构的封锁 278

11.8 幻象处理与索引的封锁 280

11.9 死锁处理 282

11.9.1 死锁的预防 282

11.9.2 死锁检测 284

11.9.3 死锁解除 285

11.10 无锁的并发控制 285

11.10.1 基于时间戳的方法 285

11.10.2 乐观的方法 289

11.10.3 多版本的方法 291

习题11 293

第12章 故障恢复 295

12.1 数据库故障恢复概述 295

12.2 故障分类 297

12.2.1 事务失败 297

12.2.2 系统崩溃 297

12.2.3 介质故障 297

12.3 日志 298

12.3.1 日志记录类型 298

12.3.2 日志记录格式 299

12.3.3 日志管理 300

12.4 检验点 301

12.4.1 清晰检验点 302

12.4.2 含混检验点 303

12.4.3 模糊检验点 303

12.5 备份 304

12.5.1 清晰备份 305

12.5.2 模糊备份 305

12.6 基于日志的恢复 306

12.6.1 事务失败恢复 306

12.6.2 系统崩溃的恢复 307

12.6.3 介质故障恢复 311

12.7 其他恢复策略 312

12.7.1 ARIES 312

12.7.2 影子法 313

12.7.3 逻辑日志法 314

习题12 314

第13章 数据库安全 315

13.1 数据库安全概述 315

13.2 用户识别 316

13.2.1 用户的个人特征识别 317

13.2.2 用户的特有东西识别 317

13.2.3 用户的专门知识识别 317

13.3 授权 317

13.3.1 授权方案 318

13.3.2 权限转授 318

13.3.3 视图与程序授权 319

13.4 存取控制模型 319

13.4.1 存取控制的层次 320

13.4.2 存取控制矩阵 321

13.4.3 逻辑存取控制模型 321

13.5 存取控制策略 322

13.5.1 自主存取控制 322

13.5.2 强制存取控制 322

13.5.3 多级安全与多实例性 323

13.5.4 隐通道 324

13.5.5 统计数据库的安全性 324

13.6 数据加密 325

13.6.1 基本概念 325

13.6.2 基本的传统加密方法 326

13.6.3 改进的传统加密方法 327

13.6.4 公钥加密法 329

13.7 数据库安全的其他问题 330

13.7.1 安全级别 330

13.7.2 网络环境下的数据库安全 331

13.7.3 审计 332

习题13 333

第四部分 数据库系统建立第14章 数据库设计 337

14.1 数据库设计概述 337

14.1.1 数据库设计问题 337

14.1.2 数据库设计方法学 338

14.1.3 数据库设计过程 339

14.1.4 数据与应用特征的考虑 342

14.2 需求分析 343

14.2.1 需求的分类 343

14.2.2 需求分析的步骤与任务 344

14.2.3 应用环境分析 345

14.2.4 元数据收集 345

14.2.5 应用分析 346

14.2.6 需求规范表示与文档编制工具 348

14.3 概念数据建模 349

14.3.1 建模观点 349

14.3.2 建模方法 349

14.3.3 建模的基本任务与步骤 350

14.4 逻辑结构设计 351

14.4.1 逻辑结构设计的任务与步骤 351

14.4.2 概念模型到关系模型的逻辑转换 353

14.4.3 关系模型到记录式模型的转换 353

14.4.4 应用设计 353

14.4.5 模式性能评测 354

14.5 物理数据库设计 355

14.5.1 物理设计的任务 356

14.5.2 存储记录结构设计 357

14.5.3 存储记录的安置 357

14.5.4 存取机制选择 359

14.5.5 物理数据库性能测量 359

14.6 数据库的管理 360

14.6.1 数据库的建立 361

14.6.2 数据库测试 362

14.6.3 应用程序测试 363

14.6.4 性能监视与调整 363

14.6.5 数据库重组与重构 364

习题14 366

第15章 语义数据建模 367

15.1 语义建模概述 367

15.2 基于语义建模的数据库设计 368

15.3 数据抽象 370

15.3.1 聚集 370

15.3.2 分类 370

15.3.3 概括 370

15.3.4 组合 371

15.4 用户视图的E-R建模 372

15.4.1 基本原则 372

15.4.2 实体、联系与属性的选择 374

15.4.3 一些E-R建模问题 374

15.4.4 扩展的E-R特性 376

15.5 视图合并 377

15.5.1 恒等合并 377

15.5.2 聚集合并 378

15.5.3 概括合并 378

习题15 379

第16章 关系数据分析 381

16.1 关系数据库设计法概述 381

16.1.1 表示标准 382

16.1.2 冗余标准 382

16.2 不良设计带来的问题 383

16.2.1 冗余 383

16.2.2 插入异常 383

16.2.3 删除异常 384

16.2.4 修改异常 384

16.2.5 空值 384

16.3 函数依赖 385

16.3.1 基本概念 385

16.3.2 关键字的定义 386

16.3.3 函数依赖的推理 386

16.3.4 函数依赖集的闭包 387

16.3.5 属性集的闭包 390

16.4 关系模式的基本范式 391

16.4.1 1NF 391

16.4.2 2NF 392

16.4.3 3NF 393

16.4.4 Boyce-Codd范式 394

16.5 关系的分解 395

16.5.1 无损连接分解 395

16.5.2 无损连接分解的检测 396

16.5.3 保持依赖分解 398

16.5.4 保持依赖分解的测试 399

16.6 关系模式的规范化 400

16.6.1 BCNF模式分解 400

16.6.2 3NF模式分解 402

16.6.3 BCNF和3NF的比较 404

16.7 其他依赖与范式 404

16.7.1 多值依赖 404

16.7.2 第四范式 407

16.7.3 连接依赖与第五范式 408

16.7.4 更多的依赖与范式 409

16.8 规范化过程小结 410

16.9 关系模式综合法 412

16.9.1 函数依赖的语义 412

16.9.2 综合算法开发 413

习题16 414

第17章 数据库应用开发 416

17.1 用户接口与工具 416

17.1.1 表格接口 416

17.1.2 报告生成器 417

17.1.3 数据分析工具 417

17.1.4 图形用户界面 417

17.1.5 应用开发接口 417

17.2 JDBC 418

17.2.1 JDBC体系结构 418

17.2.2 JDBC工作原理 420

17.2.3 执行SQL语句 421

17.2.4 事务管理 423

17.2.5 数据库元数据 423

17.2.6 SQL异常与警告 424

17.3 ODBC简介 425

17.4 模式级存储过程 427

17.4.1 存储过程的结果与执行原理 428

17.4.2 创建存储过程 428

17.4.3 调用存储过程 429

17.4.4 SQL/PSM 430

习题17 432

第五部分 现代数据库技术新发展第18章 实时数据库 435

18.1 实时数据库的发展 435

18.2 数据库、实时系统和实时数据库 436

18.2.1 实时应用特征与要求 436

18.2.2 数据库与实时系统 437

18.2.3 档储数据库与实时数据库 438

18.3 实时数据库的特征 438

18.3.1 实时数据库中的时间 438

18.3.2 实时数据特征 439

18.3.3 实时事务特征 440

18.4 实时数据模型 440

18.4.1 实时数据对象 440

18.4.2 时间一致性限制 441

18.4.3 实时关系代数 441

18.5 实时数据库系统结构 442

18.5.1 RTDB的功能特性 442

18.5.2 RTDB的主要技术 443

18.5.3 实时数据库管理系统结构 444

18.6 实时事务处理 445

18.6.1 实时事务模型 445

18.6.2 实时事务的正确性 448

18.6.3 实时事务调度 449

18.6.4 实时事务并发控制 451

18.7 实时数据库管理 453

18.7.1 实时内存数据库技术 453

18.7.2 实时数据安置原则 454

18.7.3 内外存数据库的交换 454

18.8 实时数据库I/O调度 454

18.9 实时数据库缓冲区管理 455

18.9.1 P-LRU策略 455

18.9.2 P-LFU策略 456

18.9.3 优先夭折 456

18.9.4 优先继承 457

第19章 内存数据库 458

19.1 内存数据库的研究 458

19.2 内存数据库的概念 459

19.2.1 内存数据库与磁盘数据库的比较分析 459

19.2.2 内存数据库的定义 461

19.2.3 内存数据库的关键问题 462

19.3 内存数据库组织 463

19.3.1 内存数据库的存储空间结构 463

19.3.2 主要的物理数据组织方式 464

19.4 MMDB的Hash存取方法 465

19.4.1 桶散布Hashing 466

19.4.2 可扩展Hashing 466

19.4.3 线性扩展Hashing 467

19.4.4 多目录Hashing 468

19.4.5 多层目录Hashing 468

19.5 MMDB图的存取方法 468

19.5.1 内存数据库图 468

19.5.2 MM-DBG的操作 470

19.5.3 MM-DBG的性能分析 470

19.6 SB-树索引存取方法 472

19.6.1 SB-树结构 472

19.6.2 SB-树的查找 473

19.6.3 SB-树的维护 473

19.6.4 性能分析 473

19.7 MMDB的数据装入与交换 474

19.7.1 M-DB的初始装入 474

19.7.2 内外存数据交换策略 475

19.7.3 基于事务预分析处理的数据交换 475

19.8 内存数据库的恢复 476

19.8.1 一般恢复机制模型 476

19.8.2 记日志 477

19.8.3 检验点操作 479

19.8.4 M-DB重装 479

第20章 主动数据库 481

20.1 主动数据库的研发 481

20.1.1 动机与应用要求 481

20.1.2 主动数据库的发展 482

20.1.3 主动数据库的应用 483

20.2 主动数据库概念 484

20.2.1 主动能力 484

20.2.2 主动机制 485

20.2.3 执行方式 486

20.3 主动数据库的体系结构 487

20.3.1 对象管理 488

20.3.2 事务管理 488

20.3.3 事务探测器与处理 488

20.3.4 触发器管理 488

20.3.5 条件评价 488

20.3.6 数据及存储资源管理 488

20.4 事件 488

20.4.1 事件的概念 489

20.4.2 事件的类型 489

20.4.3 事件的操作 490

20.4.4 事件的探测与处理 491

20.5 触发器 491

20.5.1 触发器的概念 492

20.5.2 触发器条件及其评价 492

20.5.3 被触发的活动 494

20.6 触发器的监视与执行 495

20.6.1 触发器的监视 495

20.6.2 触发器的执行模型 495

20.6.3 触发器的实现过程 496

第21章 时态数据库 497

21.1 时态数据库概述 497

21.1.1 时态数据库的发展 497

21.1.2 时态数据库的研究领域 498

21.1.3 时态数据库的动机 499

21.1.4 时态数据库的特征与要求 500

21.2 关于时态数据管理 500

21.2.1 时间表示 500

21.2.2 时间维 501

21.2.3 时态推理 502

21.2.4 与数据相连的时间 502

21.3 时态数据库的进化 502

21.3.1 瞬像数据库 502

21.3.2 回滚数据库 503

21.3.3 历史数据库 504

21.3.4 时态数据库 504

21.4 时态数据建模 505

21.4.1 时态数据结构 505

21.4.2 时态数据操作 506

21.4.3 时态约束 507

21.4.4 两种典型的时态数据模型 507

21.5 时态查询语言 510

21.5.1 基于SQL的时态查询语言开发 510

21.5.2 TQuel语言 511

21.5.3 TempSQL语言 512

21.5.4 TSQL2语言 512

21.6 时态数据库管理系统 513

21.6.1 时态数据库管理系统的基本能力 513

21.6.2 时态数据库管理系统的组成 514

21.6.3 时态查询处理技术 515

第22章 其他现代数据库 517

22.1 工程数据库 517

22.1.1 工程数据库的特征 517

22.1.2 工程数据模型 518

22.1.3 工程数据库管理系统 519

22.1.4 工程数据库系统的开发方法 520

22.1.5 工程数据库的主要应用领域 520

22.2 多媒体数据库 521

22.2.1 多媒体数据库与传统数据库的不同 521

22.2.2 多媒体数据表示 522

22.2.3 多媒体数据模型 523

22.2.4 多媒体数据库管理系统 524

22.2.5 多媒体数据库关键技术及其实现 526

22.3 Internet与数据库 527

22.3.1 WWW 527

22.3.2 Web数据库管理 530

22.3.3 HTML文档 531

22.3.4 XML文档 532

22.3.5 XML数据管理 534

22.4 移动数据库 535

22.4.1 移动数据库的系统模型 535

22.4.2 移动数据库系统的特性 536

22.4.3 移动数据库的关键技术 536

22.5 空间数据库 538

22.5.1 空间数据 538

22.5.2 空间查询 539

22.5.3 空间索引 539

参考文献 541