当前位置:首页 > 工业技术
数据库系统  面向应用的方法  第2版
数据库系统  面向应用的方法  第2版

数据库系统 面向应用的方法 第2版PDF电子书下载

工业技术

  • 电子书积分:15 积分如何计算积分?
  • 作 者:(美)基弗,(美)伯恩斯坦,(美)刘易斯著;陈立军等译
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2006
  • ISBN:7115152691
  • 页数:459 页
图书介绍:本书是数据库课程的教材,采用面向应用的独特方法。
《数据库系统 面向应用的方法 第2版》目录

第1章 数据库和事务概述 2

1.1 什么是数据库和事务 2

第一部分 简介 2

1.2 现代数据库和事务处理系统的特性 4

1.3 数据库和事务处理系统的实现和支持中的主要角色 5

1.4 决策支持系统——OLAP和OLTP 6

2.1 案例学习:学生选课系统 8

2.2 关系数据库绪论 8

第2章 综述 8

2.3 使程序成为事务——ACID属性 12

参考文献注解 15

习题 15

第二部分 数据库管理 20

第3章 关系数据模型 20

3.1 什么是数据模型 20

3.2 关系模型 22

3.2.1 基本概念 22

3.2.2 完整性约束 26

3.3 SQL的数据定义子语言 29

3.3.1 定义关系类型 30

3.3.2 系统目录 30

3.3.3 码约束 31

3.3.4 处理缺失信息 31

3.3.5 语义约束 32

3.3.6 用户定义的域 34

3.3.7 外码约束 35

3.3.8 反应性约束 36

3.3.9 数据库视图 38

3.3.10 修改已有定义 39

3.3.11 SQL模式 40

3.3.12 访问控制 41

参考文献注解 43

习题 43

第4章 用E-R图和UML构建数据库的概念模型 46

4.1 用E-R方法进行概念建模 46

4.2 实体和实体类型 47

4.3 联系和联系类型 48

4.4 概念数据建模中的高级特性 52

4.4.1 实体类型层次 52

4.4.2 参与约束 54

4.4.3 part-of联系 55

4.5 从E-R图到关系数据库模式 57

4.5.1 实体的表示法 57

4.5.2 联系的表示法 58

4.5.3 在关系模型中表示IsA层次 60

4.5.4 参与约束的表示法 61

4.5.5 part-of联系的表示法 63

4.6 UML:一种新方法 63

4.6.1 在UML中表示实体 64

4.6.2 在UML中表示联系 65

4.6.3 UML中的高级建模概念 68

4.6.4 转换为SQL 70

4.7 一个经纪公司的例子 70

4.7.1 实体-联系设计 70

4.7.2 UML设计 73

4.8 案例学习:学生注册系统的数据库设计 74

4.8.1 需求文档的数据库部分 74

4.8.2 数据库设计 75

4.9 数据建模方法的局限性 79

参考文献注解 81

习题 82

第5章 关系代数和SQL 84

5.1 关系代数:SQL的秘密 84

5.1.1 基本运算符 85

5.1.2 导出运算符 91

5.2 SQL的查询子语言 97

5.2.1 简单SQL查询 97

5.2.2 集合运算 101

5.2.3 嵌套查询 103

5.2.4 量化谓词 107

5.2.5 数据上的聚集 108

5.2.6 FROM子句中的连接表达式 112

5.2.7 一个简单的查询求值算法 113

5.2.8 再谈SQL中的视图 114

5.2.9 物化视图 117

5.2.10 NULL值的两难问题 119

5.3 在SQL中修改关系实例 120

5.3.1 插入数据 120

5.3.2 删除数据 121

5.3.3 更新现有的数据 122

5.3.4 视图上的更新 122

习题 124

参考文献注解 124

第6章 用关系规范化理论设计数据库 127

6.1 冗余问题 127

6.2 分解 128

6.3 函数依赖 130

6.4 函数依赖的特性 132

6.5 范式 136

6.5.1 Boyce-Codd范式 137

6.5.2 第三范式 138

6.6 分解的特性 139

6.6.1 无损分解和有损分解 140

6.6.2 保持依赖分解 142

6.7 BCNF分解的一个算法 144

6.8 3NF模式的合成 146

6.8.1 最小覆盖 146

6.8.2 通过模式合成进行3NF分解 148

6.8.3 通过3NF合成得到BCNF分解 149

6.9 第四范式 151

6.10.1 MVD及它们的特性 155

6.10 高级4NF设计 155

6.10.2 4NF的设计难点 156

6.10.3 如何进行4NF分解 158

6.11 范式分解总结 159

6.12 案例学习:学生注册系统的模式细化 159

6.13 调优问题:分解还是不分解 161

参考文献注解 162

习题 162

7.1 什么是触发器 165

第7章 触发器和主动数据库 165

7.2 触发器处理中的语义问题 166

7.3 SQL:1999中的触发器 168

7.4 避免链式反应 174

参考文献注解 174

习题 175

第8章 在应用中使用SQL 176

8.1 所涉及的主要问题 176

8.2 嵌入式SQL 177

8.2.1 状态处理 179

8.2.2 会话、连接和事务 180

8.2.3 执行事务 180

8.2.4 游标 182

8.2.5 服务器上的存储过程 186

8.3 深入完整性约束 188

8.4 动态SQL 189

8.4.1 动态SQL中的语句准备 190

8.4.2 预备语句和描述符区域 191

8.4.3 游标 192

8.4.4 服务器上的存储过程 193

8.5 JDBC和SQLJ 194

8.5.1 JDBC基础 194

8.5.2 预备语句 196

8.5.3 结果集和游标 196

8.5.4 获得关于结果集的信息 198

8.5.5 状态处理 198

8.5.6 执行事务 199

8.5.7 服务器上的存储过程 199

8.5.9 SQLJ:面向Java的语句级接口 200

8.5.8 一个例子 200

8.6 ODBC 203

8.6.1 预备语句 204

8.6.2 游标 204

8.6.3 状态处理 206

8.6.4 执行事务 206

8.6.5 服务器上的存储过程 206

8.6.6 一个例子 207

参考文献注解 208

8.7 比较 208

习题 209

第三部分 数据库管理系统性能优化和事务处理 212

第9章 物理数据组织与索引 212

9.1 磁盘组织 212

9.2 堆文件 218

9.3 顺序文件 221

9.4 索引 224

9.4.1 聚集索引与非聚集索引 226

9.4.2 稀疏索引与稠密索引 228

9.4.3 搜索码包含多个属性 229

9.5 多级索引 230

9.5.1 索引顺序访问 233

9.5.2 B+树 235

9.6 散列索引 240

9.6.1 静态散列 240

9.6.2 动态散列算法 242

9.7.1 位图索引 246

9.7 特殊用途索引 246

9.7.2 连接索引 248

9.8 调优问题:为应用选择索引 248

参考文献注解 249

习题 249

第10章 查询处理基础 252

10.1 查询处理概述 252

10.2 外部排序 253

10.3 投影、集合并与集合差 256

10.4 选择 257

10.4.1 简单条件的选择 258

10.4.2 访问路径 259

10.4.3 复杂条件的选择 260

10.5 连接 261

10.5.1 简单的嵌套循环连接 262

10.5.2 归并连接 264

10.5.3 散列连接 266

10.6 多关系连接 267

习题 268

10.7 聚集函数 268

参考文献注解 268

第11章 查询优化概述 270

11.1 查询处理的架构 270

11.2 基于关系代数等价性的启发式优化 271

11.3 查询执行计划的开销估计 273

11.4 输出结果大小的估计 279

11.5 选择一个计划 281

习题 284

参考文献注解 284

第12章 数据库调优 288

12.1 磁盘高速缓存 288

12.2 模式调优 290

12.2.1 索引 291

12.2.2 反向规范化 295

12.2.3 重复组 296

12.2.4 分片 297

12.3 数据操纵语言调优 298

12.5 管理物理资源 300

12.4 工具 300

12.6 影响优化器 301

参考文献注解 303

习题 303

第13章 事务处理概述 307

13.1 隔离性 307

13.1.1 可串行性 308

13.1.2 两阶段加锁 309

13.1.3 死锁 312

13.1.4 关系数据库加锁 312

13.1.5 隔离级别 314

13.1.6 加锁粒度与意向锁 317

13.1.7 小结 318

13.2 原子性与持久性 319

13.2.1 先写式日志 319

13.2.2 从大容量存储器故障中恢复 322

13.3 实现分布式事务 322

13.3.1 原子性与持久性——两阶段提交协议 323

13.3.2 全局可串行性与死锁 325

13.3.3 复制 326

13.3.4 小结 328

参考文献注解 328

习题 328

第四部分 软件工程问题和文档 332

第14章 需求与规约 332

14.1 软件工程方法学 332

14.2 学生注册系统的需求文档 334

14.3 需求分析——新的问题 339

14.4 学生注册系统的规约说明 340

14.5 学生注册系统的规约文档:第Ⅲ部分 341

14.6 软件工程过程的下一步 342

参考文献注解 343

习题 343

15.1 设计过程 344

15.1.1 数据库设计 344

第15章 设计、编码与测试 344

15.1.2 用UML状态图描述对象的行为 345

15.1.3 设计文档的结构 346

15.1.4 设计评审 347

15.2 测试计划 348

15.3 项目计划 350

15.4 编码 351

15.6 项目管理计划 353

15.5 增量开发 353

15.7 学生注册系统的设计与编码 354

15.7.1 完成数据库设计:完整性约束 354

15.7.2 注册事务的设计 356

15.7.3 注册事务的部分代码 357

参考文献注解 359

习题 359

第五部分 数据库高级主题 362

第16章 对象数据库介绍 362

16.1 关系数据模型的不足 362

16.2.1 对象与值 366

16.2 概念对象数据模型 366

16.2.2 类 367

16.2.3 类型 367

16.2.4 对象-关系数据库 370

16.3 SQL:1999和SQL:2003中的对象 370

16.3.1 行类型 371

16.3.2 用户定义类型 371

16.3.3 对象 372

16.3.5 更新用户定义类型 373

16.3.4 查询用户定义类型 373

16.3.6 引用类型 375

16.3.7 继承 377

16.3.8 集合类型 377

参考文献注解 379

习题 380

第17章 XML和Web数据介绍 382

17.1 半结构化数据 382

17.2 XML概述 384

17.2.1 XML元素与数据库对象 386

17.2.2 XML属性 387

17.2.3 命名空间 390

17.2.4 DTD 392

17.2.5 DTD作为数据定义语言的不足 393

17.3 XML模式 395

17.3.1 XML模式和命名空间 395

17.3.2 简单类型 398

17.3.3 复杂类型 401

17.3.4 整合 406

17.3.5 捷径:匿名类型与元素引用 407

17.3.6 完整性约束 410

17.4 XML查询语言 414

17.4.1 XPath:一种轻量级的XML查询语言 415

17.4.2 SQL/XML 420

参考文献注解 426

习题 427

参考文献 431

索引 437

返回顶部