《数据库系统 概念、设计及应用》PDF下载

  • 购买积分:18 如何计算积分?
  • 作  者:(印)S.K.Singh著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2010
  • ISBN:9787111279587
  • 页数:613 页
图书介绍:本书全面地介绍了数据库系统的概念、设计和应用,共27章,分8个部分:第一部分数据库概念(第1~3章)、第二部分关系模型(第4~7章)、第三部分数据库设计(第8~10章)、第四部分查询、事务和安全管理(第11~14章)、第五部分基于对象的数据库(第15~16章)、第六部分高级和新兴的数据库概念(第17~21章)、第七部分案例学习(第22章)、第八部分商业数据库(第23~27章)。

第一部分 数据库概念第1章 数据库系统概述 1

1.1 引言 1

1.2 基本概念和定义 1

1.2.1 数据 2

1.2.2 信息 3

1.2.3 数据与信息 3

1.2.4 数据仓库 5

1.2.5 元数据 5

1.2.6 系统目录 6

1.2.7 数据项或字段 7

1.2.8 记录 7

1.2.9 文件 7

1.3 数据字典 7

1.3.1 数据字典的组件 9

1.3.2 主动和被动数据字典 11

1.4 数据库 11

1.5 数据库系统 13

1.6 数据管理员 15

1.7 数据库管理员 16

1.8 面向文件系统与数据库系统 16

1.8.1 学习面向文件系统的优点 18

1.8.2 面向文件系统的缺点 18

1.8.3 数据库方法 20

1.8.4 数据库系统环境 20

1.8.5 DBMS的优点 22

1.8.6 DBMS的缺点 24

1.9 数据库系统的历史观点 25

1.10 数据库语言 27

1.10.1 数据定义语言 27

1.10.2 数据存储定义语言 28

1.10.3 视图定义语言 29

1.10.4 数据操纵语言 29

1.10.5 第四代语言 31

1.11 事务管理 31

习题 32

第2章 数据库系统架构 39

2.1 引言 39

2.2 模式、子模式和实例 39

2.2.1 模式 40

2.2.2 子模式 42

2.2.3 实例 43

2.3 ANSI-SPARC的三层数据库架构 43

2.3.1 内部层 45

2.3.2 概念层 46

2.3.3 外部层 46

2.3.4 三层架构的优点 46

2.3.5 三层架构的特性 47

2.4 数据独立性 47

2.4.1 物理数据独立性 48

2.4.2 逻辑数据独立性 48

2.5 映射 48

2.5.1 概念模式/内模式映射 48

2.5.2 外模式/概念模式映射 48

2.6 DBMS的结构、组成和功能 49

2.6.1 DBMS的结构 49

2.6.2 DBMS的执行步骤 49

2.6.3 DBMS的组成 50

2.6.4 DBMS的功能和服务 51

2.7 数据模型 53

2.7.1 基于记录的数据模型 53

2.7.2 基于对象的数据模型 53

2.7.3 物理数据模型 54

2.7.4 层次数据模型 54

2.7.5 网状数据模型 56

2.7.6 关系数据模型 57

2.7.7 实体-联系数据模型 58

2.7.8 面向对象数据模型 60

2.7.9 不同数据模型之间的比较 61

2.8 数据库系统的类型 61

2.8.1 集中式数据库系统 62

2.8.2 并行数据库系统 62

2.8.3 客户/服务器数据库系统 64

2.8.4 分布式数据库系统 65

习题 66

第3章 物理数据组织 70

3.1 引言 70

3.2 物理存储媒体 70

3.2.1 主存储设备 71

3.2.2 二级存储设备 71

3.2.3 三级存储设备 71

3.2.4 高速缓存 72

3.2.5 主存储器 72

3.2.6 闪存 72

3.2.7 磁盘存储器 73

3.2.8 光存储器 75

3.2.9 磁带存储器 76

3.3 RAID技术 77

3.3.1 使用并行机制改进性能 77

3.3.2 RAID技术的优点 78

3.3.3 RAID技术的缺点 78

3.3.4 使用冗余来提高可靠性 78

3.3.5 RAID级别 79

3.3.6 RAID级别的选择 81

3.4 文件的基本概念 83

3.4.1 文件类型 83

3.4.2 缓冲区管理 84

3.5 文件组织 84

3.5.1 记录和记录型 85

3.5.2 文件组织技术 89

3.6 索引 96

3.6.1 主索引 97

3.6.2 二级索引 97

3.6.3 基于树的索引 98

习题 99

第二部分 关系模型第4章 关系代数和关系演算 107

4.1 引言 107

4.2 关系模型的历史观点 107

4.3 关系数据库的结构 108

4.3.1 域 108

4.3.2 关系的键 109

4.4 关系代数 111

4.4.1 选择操作 112

4.4.2 投影操作 113

4.4.3 连接操作 114

4.4.4 外连接操作 115

4.4.5 并运算 115

4.4.6 差运算 116

4.4.7 交运算 117

4.4.8 笛卡儿积运算 117

4.4.9 除运算 118

4.4.10 关系代数中的查询示例 119

4.5 关系演算 121

4.5.1 元组关系演算 121

4.5.2 域关系演算 123

习题 124

第5章 关系查询语言 130

5.1 引言 130

5.2 Codd的规则 130

5.3 基于语言的信息系统(ISBL) 131

5.3.1 ISBL查询举例 132

5.3.2 ISBL的局限性 133

5.4 查询语言 133

5.4.1 QUEL查询举例 134

5.4.2 QUEL的优点 135

5.5 结构化查询语言 135

5.5.1 SQL的优点 136

5.5.2 SQL的缺点 136

5.5.3 基本的SQL数据结构 137

5.5.4 SQL数据类型 137

5.5.5 SQL运算符 138

5.5.6 SQL数据定义语言 139

5.5.7 SQL数据查询语言 143

5.5.8 SQL数据操纵语言 145

5.5.9 SQL数据控制语言 148

5.5.10 SQL数据管理语句 149

5.5.11 SQL事务控制语句 149

5.6 嵌入式结构化查询语言 149

5.7 基于例子的查询 150

5.7.1 基于一个关系的QBE查询(单表检索) 151

5.7.2 基于几个关系的QBE查询(多表检索) 155

5.7.3 利用QBE对数据库进行修改(更新、删除和插入) 156

5.7.4 Microsoft Access中的QBE查询 156

5.7.5 QBE的优点 161

5.7.6 QBE的缺点 161

习题 161

第6章 实体-联系模型 170

6.1 引言 170

6.2 E-R模型的基本概念 170

6.2.1 实体 170

6.2.2 联系 171

6.2.3 属性 174

6.2.4 约束 177

6.3 E-R模型向关系的转换 178

6.4 E-R模型存在的问题 185

6.4.1 扇形陷阱 186

6.4.2 深坑陷阱 186

6.5 E-R图符号 187

习题 189

第7章 增强的实体-联系模型 195

7.1 引言 195

7.2 超类和子类实体型 195

7.2.1 超类和子类的符号 196

7.2.2 属性继承 197

7.2.3 超类/子类联系的使用条件 198

7.2.4 使用超类和子类的优点 198

7.3 特殊化和一般化 199

7.3.1 特殊化 199

7.3.2 一般化 200

7.3.3 特殊化和一般化的约束 201

7.4 分类 203

7.5 EER图的例子 203

习题 204

第三部分 数据库设计第8章 数据库设计介绍 207

8.1 引言 207

8.2 软件开发生命周期 207

8.2.1 软件开发成本 208

8.2.2 结构化系统分析与设计 209

8.3 数据库开发生命周期 210

8.4 自动化设计工具 216

8.4.1 手工数据库设计的局限性 216

8.4.2 计算机辅助软件工程工具 217

习题 219

第9章 函数依赖和模式分解 221

9.1 引言 221

9.2 函数依赖 221

9.2.1 函数依赖图及其示例 222

9.2.2 完全函数依赖 225

9.2.3 函数依赖的Armstrong公理 225

9.2.4 多余的函数依赖 226

9.2.5 函数依赖集的闭包 226

9.3 模式分解 228

9.3.1 有损分解 229

9.3.2 无损连接分解 230

9.3.3 保持函数依赖的分解 231

习题 232

第10章 规范化 235

10.1 引言 235

10.2 规范化 235

10.3 范式 236

10.3.1 第一范式 237

10.3.2 第二范式 239

10.3.3 第三范式 242

10.4 Boyce-Codd范式 244

10.5 多值依赖和第四范式 246

10.5.1 多值依赖的性质 249

10.5.2 第四范式 250

10.5.3 多值依赖和4NF的问题 251

10.6 连接依赖和第五范式 251

10.6.1 连接依赖 251

10.6.2 第五范式 252

习题 253

第四部分 查询、事务和安全管理第11章 查询处理及优化 259

11.1 引言 259

11.2 查询处理 259

11.3 语法分析器 260

11.4 查询分解 261

11.4.1 查询分析 261

11.4.2 查询规范化 263

11.4.3 语义分析器 264

11.4.4 查询简化器 265

11.4.5 查询重构 267

11.5 查询优化 267

11.5.1 启发式查询优化 268

11.5.2 转换规则 270

11.5.3 启发式优化算法 275

11.6 查询优化中的成本估算 275

11.6.1 查询执行的成本部分 276

11.6.2 选择操作的成本函数 276

11.6.3 连接操作的成本函数 278

11.7 流水线和具体化操作 279

11.8 查询估算计划的结构 280

习题 282

第12章 事务处理与并发控制 287

12.1 引言 287

12.2 事务概念 287

12.2.1 事务执行和问题 289

12.2.2 SQL事务执行 290

12.2.3 事务的性质 290

12.2.4 事务日志 291

12.3 并发控制 292

12.3.1 并发控制问题 292

12.3.2 一致性的度 296

12.3.3 可交换的活动 297

12.3.4 调度 297

12.3.5 可串行化调度 298

12.4 并发控制中的加锁方法 298

12.4.1 锁的粒度 299

12.4.2 锁的类型 300

12.4.3 死锁 302

12.5 并发控制的时间戳方法 305

12.5.1 粒度时间戳 305

12.5.2 时间戳排序 305

12.5.3 解决时间戳中的冲突 306

12.5.4 时间戳的缺点 306

12.6 乐观的并发控制方法 306

12.6.1 读阶段 306

12.6.2 验证阶段 306

12.6.3 写阶段 307

12.6.4 乐观的并发控制方法的优点 307

12.6.5 乐观的并发控制方法的问题 307

12.6.6 乐观的并发控制方法的应用 307

习题 307

第13章 数据库恢复系统 313

13.1 引言 313

13.2 数据库恢复概念 313

13.3 数据库故障类型 313

13.4 数据库恢复的类型 314

13.4.1 向前恢复(或重做) 314

13.4.2 向后恢复(或撤销) 315

13.4.3 介质恢复 317

13.5 恢复技术 317

13.5.1 延迟更新 318

13.5.2 立即更新 319

13.5.3 影子分页 321

13.5.4 检查点 322

13.6 缓冲区管理 323

习题 323

第14章 数据库安全 328

14.1 引言 328

14.2 数据库安全的目标 328

14.2.1 数据库安全的威胁 328

14.2.2 数据库安全问题的类型 329

14.2.3 授权和认证 329

14.3 自主访问控制 330

14.3.1 授予和收回权限 330

14.3.2 审计跟踪 333

14.4 强制访问控制 333

14.5 防火墙 334

14.6 统计数据库安全 334

14.7 数据加密 334

14.7.1 简单替换方法 335

14.7.2 多字母替换方法 335

习题 335

第五部分 基于对象的数据库第15章 面向对象数据库 339

15.1 引言 339

15.2 面向对象数据模型 339

15.2.1 面向对象数据库的特征 340

15.2.2 OODM与E-R模型的比较 341

15.3 面向对象数据库的概念 341

15.3.1 对象 341

15.3.2 对象标识 342

15.3.3 对象属性 342

15.3.4 类 343

15.3.5 对象间的关联或联系 346

15.3.6 结构、继承和概括 347

15.3.7 操作 348

15.3.8 多态性 349

15.3.9 OO概念的优点 349

15.4 面向对象DBMS 350

15.4.1 OODBMS特性 350

15.4.2 OODBMS的优点 350

15.4.3 OODBMS的缺点 351

15.5 对象数据管理组和面向对象语言 351

15.5.1 对象模型 351

15.5.2 对象定义语言 352

15.5.3 对象查询语言 354

习题 356

第16章 对象-关系数据库 359

16.1 引言 359

16.2 对象-关系DBMS的历史 359

16.2.1 RDBMS的缺点 359

16.2.2 复杂对象 359

16.2.3 ORDBMS的出现 360

16.3 ORDBMS查询语言(SQL3) 361

16.4 ORDBMS设计 363

16.4.1 ORDBMS的挑战 364

16.4.2 ORDBMS的特点 364

16.4.3 ORDBMS和OODBMS的比较 364

16.4.4 ORDBMS的优点 365

16.4.5 ORDBMS的缺点 366

习题 366

第六部分 高级和新兴的数据库概念第17章 并行数据库系统 369

17.1 引言 369

17.2 并行数据库 369

17.2.1 并行数据库的优点 370

17.2.2 并行数据库的缺点 370

17.3 并行数据库的架构 370

17.3.1 共享内存的多CPU并行数据库架构 370

17.3.2 共享磁盘的多CPU并行数据库架构 371

17.3.3 无共享的多CPU并行数据库架构 371

17.4 并行数据库处理的关键要素 373

17.4.1 加速比 373

17.4.2 可扩展性 373

17.4.3 同步 374

17.4.4 加锁 374

17.5 查询并行机制 375

17.5.1 I/O并行机制(数据分区) 375

17.5.2 查询内并行机制 377

17.5.3 交互查询并行机制 378

17.5.4 操作内并行机制 378

17.5.5 交互操作并行机制 378

习题 379

第18章 分布式数据库系统 384

18.1 引言 384

18.2 分布式数据库 384

18.2.1 并行数据库与分布式数据库之间的区别 384

18.2.2 分布式数据库的期望性质 385

18.2.3 分布式数据库的类型 385

18.2.4 分布式数据库的期望功能 387

18.2.5 分布式数据库的优点 387

18.2.6 分布式数据库的缺点 388

18.3 分布式数据库的架构 388

18.3.1 客户/服务器架构 388

18.3.2 合作服务器系统 389

18.3.3 中间件系统 390

18.4 分布式数据库系统设计 391

18.4.1 数据分解 391

18.4.2 数据分配 394

18.4.3 数据复制 396

18.5 分布式查询处理 397

18.6 分布式数据库中的并发控制 400

18.6.1 分布式加锁 401

18.6.2 分布式死锁 401

18.6.3 时间戳 402

18.7 分布式数据库中的恢复控制 402

18.7.1 两阶段提交 402

18.7.2 三阶段提交 404

习题 404

第19章 决策支持系统 410

19.1 引言 410

19.2 决策支持系统的历史 410

19.3 决策支持系统的定义 411

19.3.1 DSS的性质 412

19.3.2 DSS的优点 412

19.3.3 DSS的组件 413

19.4 操作型数据与DSS数据 414

习题 415

第20章 数据仓库与数据挖掘 417

20.1 引言 417

20.2 数据仓库 417

20.2.1 数据仓库概念的演变 418

20.2.2 数据仓库的主要组成 420

20.2.3 数据仓库的特点 421

20.2.4 数据仓库的优点 421

20.2.5 数据仓库的局限性 421

20.3 数据仓库的架构 421

20.3.1 数据集市 423

20.3.2 联机分析处理 423

20.4 数据挖掘 425

20.4.1 数据挖掘过程 425

20.4.2 数据挖掘知识发现 426

20.4.3 数据挖掘的目标 426

20.4.4 数据挖掘工具 427

20.4.5 数据挖掘应用 428

习题 429

第21章 新的数据库技术 433

21.1 引言 433

21.2 Internet数据库 433

21.2.1 Internet技术 433

21.2.2 万维网 435

21.2.3 Web技术 436

21.2.4 Web数据库 439

21.2.5 Web数据库的优点 441

21.2.6 Web数据库的缺点 441

21.3 数字图书馆 441

21.3.1 数字图书馆简介 441

21.3.2 数字图书馆的组成 442

21.3.3 对数字图书馆的需求 444

21.3.4 科学杂志的数字图书馆 444

21.3.5 数字图书馆中的技术开发 444

21.3.6 数字图书馆的技术领域 445

21.3.7 访问数字图书馆 446

21.3.8 数字图书馆数据库 446

21.3.9 数字图书馆的潜在优点 447

21.4 多媒体数据库 449

21.4.1 多媒体资源 449

21.4.2 多媒体数据库查询 450

21.4.3 多媒体数据库应用 450

21.5 移动数据库 451

21.5.1 移动数据库的架构 451

21.5.2 移动计算的特点 451

21.5.3 移动DBMS 452

21.5.4 商业移动数据库 453

21.6 空间数据库 453

21.6.1 空间数据 453

21.6.2 空间数据库特性 453

21.6.3 空间数据模型 454

21.6.4 空间数据库查询 454

21.6.5 空间数据库查询技术 455

21.7 基于集群的灾难预防数据库 455

习题 456

第七部分 案例学习第22章 数据库设计:案例学习 461

22.1 引言 461

22.2 小额银行存放业务的数据库设计 461

22.2.1 需求定义及分析 461

22.2.2 概念设计:实体-联系图 462

22.2.3 逻辑数据库设计:表定义 462

22.2.4 逻辑数据库设计:示例表数据 464

22.3 辅助制造系统的数据库设计 465

22.3.1 需求定义及分析 465

22.3.2 概念设计:实体-联系图 466

22.3.3 逻辑数据库设计:表定义 466

22.3.4 逻辑数据库设计:示例表数据 469

22.3.5 函数依赖图 470

22.4 年费用合同系统的数据库设计 471

22.4.1 需求定义及分析 471

22.4.2 概念设计:实体-联系图 472

22.4.3 逻辑数据库设计:表定义 472

22.4.4 逻辑数据库设计:示例表数据 473

22.4.5 函数依赖图 474

22.5 技术培训学院的数据库设计 474

22.5.1 需求定义及分析 474

22.5.2 概念设计:实体-联系图 475

22.5.3 逻辑数据库设计:表定义 475

22.6 网上书店的数据库设计 477

22.6.1 需求定义及分析 477

22.6.2 概念设计:实体-联系图 478

22.6.3 逻辑数据库设计:表定义 478

22.6.4 需求定义中的更改(附加) 478

22.6.5 修改的表定义 479

22.6.6 模式求精 479

22.6.7 修改实体-联系图 480

22.6.8 逻辑数据库设计:示例表数据 480

22.7 客户订购仓库的数据库设计 481

22.7.1 需求定义及分析 481

22.7.2 概念设计:实体-联系图 481

22.7.3 逻辑数据库设计:表定义 481

22.7.4 逻辑数据库设计:示例表数据 482

22.7.5 函数依赖图 482

22.7.6 逻辑记录结构及访问路径 484

习题 484

第八部分 商业数据库第23章 IBM DB2通用数据库 487

23.1 引言 487

23.2 DB2产品 487

23.3 DB2通用数据库 489

23.3.1 DB2 UDB的配置 489

23.3.2 其他DB2 UDB相关的产品 496

23.3.3 DB2通用数据库的主要组件 500

23.3.4 DB2 UDB的特性 503

23.4 安装DB2 UDB服务器的必备条件 505

23.4.1 安装必备条件:DB2 UDB个人版(Windows) 505

23.4.2 安装必备条件:DB2工作组服务器版和无分区的DB2企业服务器版(Windows) 506

23.4.3 安装必备条件:分区的DB2企业服务器版(Windows) 508

23.4.4 安装必备条件:DB2连接个人版(Windows) 510

23.4.5 安装必备条件:DB2连接企业版(Windows) 512

23.4.6 安装必备条件:DB2查询巡视器服务器(Windows) 513

23.4.7 安装必备条件:DB2多维视图(Windows) 514

23.5 安装DB2客户端的必备条件 515

23.5.1 安装必备条件:DB2客户端(Windows) 515

23.5.2 安装必备条件:DB2查询巡视器客户端(Windows) 516

23.6 安装和配置DB2 UDB服务器 517

习题 524

第24章 Oracle 528

24.1 引言 528

24.2 Oracle的历史 528

24.2.1 Oracle家族 529

24.2.2 Oracle软件 531

24.3 Oracle特性 531

24.3.1 应用程序开发特性 531

24.3.2 通信特性 533

24.3.3 分布式数据库特性 535

24.3.4 数据移动特性 536

24.3.5 性能特性 537

24.3.6 数据库管理特性 538

24.3.7 备份和恢复特性 539

24.3.8 Oracle Internet开发人员套件 540

24.3.9 Qracle Lite 542

24.4 SQL*Plus 542

24.4.1 SQL*Plus的特性 542

24.4.2 使用SQL*Plus 542

24.4.3 编辑器命令 543

24.4.4 SQL*Plus帮助系统以及其他有用的命令 543

24.4.5 格式化输出 544

24.5 Oracle的数据字典 544

24.5.1 数据字典表 544

24.5.2 数据字典视图 545

24.6 Oracle系统架构 546

24.6.1 存储管理和进程 546

24.6.2 逻辑数据库结构 548

24.6.3 物理数据库结构 548

24.7 Oracle 9i安装指南 549

习题 554

第25章 Microsoft SQL Server 557

25.1 引言 557

25.2 Microsoft SQL Server设置 557

25.2.1 SQL Server 2000版本 557

25.2.2 SQL Server 2005版本 558

25.2.3 Microsoft SQL Server的特性 558

25.3 SQL Server中的存储过程 559

25.3.1 存储过程的优点 559

25.3.2 存储过程的结构 559

25.4 安装Microsoft SQL Server 2000 560

25.4.1 安装步骤 560

25.4.2 启动和停止SQL Server 560

25.4.3 自动启动SQL Server服务 563

25.4.4 到Microsoft SQL Server数据库系统的连接 564

25.4.5 数据的源 564

25.4.6 安全性 569

25.5 Microsoft SQL Server的数据库操作 571

25.5.1 数据库连接 571

25.5.2 创建数据库 572

习题 575

第26章 Microsoft Access 577

26.1 引言 577

26.2 Access数据库 577

26.2.1 表 577

26.2.2 查询 578

26.2.3 报表 579

26.2.4 窗体 579

26.2.5 宏 581

26.3 Access中的数据库操作 582

26.3.1 创建窗体 582

26.3.2 创建一个简单的查询 582

26.3.3 修改查询 585

26.4 Microsoft Access的特性 588

习题 589

第27章 MySQL 590

27.1 引言 590

27.2 MySQL概览 590

27.2.1 MySQL特性 590

27.2.2 MySQL稳定性 592

27.2.3 MySQL表大小 592

27.2.4 MySQL开发途径 593

27.2.5 MySQL 4.0中可使用的特性 594

27.2.6 嵌入的MySQL服务器 595

27.2.7 MySQL 4.1的特性 595

27.2.8 MySQL 5.0:下一个开发的版本 596

27.2.9 MySQL邮件发送清单 596

27.2.10 MySQL支持的操作系统 597

27.3 PHP简介 598

27.3.1 PHP语言语法 598

27.3.2 PHP变量 599

27.3.3 PHP操作 599

27.3.4 安装PHP 601

27.4 MySQL数据库 601

27.4.1 创建自己的第一个数据库 601

27.4.2 MySQL连接 601

27.4.3 选择使用的数据库 602

27.4.4 MySQL表 602

27.4.5 创建MySQL表 603

27.4.6 在MySQL表中插入数据 604

27.4.7 MySQL查询 604

27.4.8 从MySQL中检索信息 605

27.5 在Windows中安装MySQL 606

27.5.1 Windows系统需求 607

27.5.2 选择一个安装包 607

27.5.3 使用自动的安装程序安装MySQL 607

27.5.4 使用MySQL安装向导 607

27.5.5 下载与启动MySQL安装向导 608

27.5.6 MySQL安装步骤 608

27.5.7 建立许可和密码 609

习题 611

参考文献 612