当前位置:首页 > 工业技术
数据库系统  设计  实现与管理  基础篇
数据库系统  设计  实现与管理  基础篇

数据库系统 设计 实现与管理 基础篇PDF电子书下载

工业技术

  • 电子书积分:18 积分如何计算积分?
  • 作 者:(英)托马斯M.康诺利(Thomas M.Connolly),(英)卡洛琳E.贝格(Carolyn E.Begg)著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2016
  • ISBN:9787111537403
  • 页数:606 页
图书介绍:本书是数据库领域的经典著作,内容系统、全面、实用,被世界多所大学选为数据库相关课程的教材。中文版分为基础篇和进阶篇,分别对应原书第一~五部分和第六~九部分。本书为基础篇,主要内容包括:数据库系统与数据库设计的基础知识;关系模型与语言;数据库分析与设计的主要技术;数据库设计方法学;以及现代数据库管理相关专题,涵盖安全问题、法律与道德问题、事务管理和查询处理。本书既可作为数据库设计与管理相关课程的本科生或研究生教材,亦可作为数据库专业技术人员的参考书籍。
《数据库系统 设计 实现与管理 基础篇》目录

第一部分 背景 2

第1章 数据库简介 2

1.1 引言 3

1.2 传统的基于文件的系统 4

1.2.1 基于文件的方法 5

1.2.2 基于文件方法的局限性 8

1.3 数据库方法 10

1.3.1 数据库 10

1.3.2 数据库管理系统(DBMS) 11

1.3.3 (数据库)应用程序 12

1.3.4 DBMS环境的组成部分 13

1.3.5 数据库设计:范型改变 15

1.4 数据库环境中的各种角色 16

1.4.1 数据管理员和数据库管理员 16

1.4.2 数据库设计人员 16

1.4.3 应用开发人员 17

1.4.4 终端用户 17

1.5 数据库管理系统的历史 17

1.6 DBMS的优点和缺点 20

本章小结 23

思考题 23

习题 24

扩展阅读 25

第2章 数据库环境 26

2.1 ANSI-SPARC三层体系结构 27

2.1.1 外部层 28

2.1.2 概念层 28

2.1.3 内部层 28

2.1.4 模式、映射和实例 29

2.1.5 数据独立性 30

2.2 数据库语言 30

2.2.1 数据定义语言(DDL) 31

2.2.2 数据操作语言(DML) 31

2.2.3 第四代语言 32

2.3 数据模型和概念建模 33

2.3.1 基于对象的数据模型 34

2.3.2 基于记录的数据模型 34

2.3.3 物理数据模型 36

2.3.4 概念建模 36

2.4 DBMS的功能 36

本章小结 39

思考题 40

习题 40

扩展阅读 41

第3章 数据库的结构与Web 42

3.1 多用户DBMS结构 42

3.1.1 远程处理 43

3.1.2 文件服务器结构 43

3.1.3 传统的两层客户-服务器结构 44

3.1.4 三层客户-服务器结构 45

3.1.5 N层客户-服务器结构 47

3.1.6 中间件 47

3.1.7 事务处理监视器 49

3.2 Web服务与面向服务的结构 50

3.2.1 Web服务 50

3.2.2 面向服务的结构(SOA) 51

3.3 分布式DBMS 53

3.4 数据仓库 54

3.5 云计算 56

3.5.1 云计算的好处与风险 58

3.5.2 基于云的数据库方案 60

3.6 DBMS的组件 63

3.7 Oracle的体系结构 65

3.7.1 Oracle的逻辑数据库结构 65

3.7.2 Oracle的物理数据库结构 67

本章小结 71

思考题 71

习题 72

扩展阅读 72

第二部分 关系模型与语言 74

第4章 关系模型 74

4.1 关系模型简史 74

4.2 基本术语 76

4.2.1 关系数据结构 76

4.2.2 数学中的关系 78

4.2.3 数据库中的关系 79

4.2.4 关系的性质 79

4.2.5 关系关键字 80

4.2.6 关系数据库模式的表示 81

4.3 完整性约束 83

4.3.1 空 83

4.3.2 实体完整性 83

4.3.3 引用完整性 84

4.3.4 一般性约束 84

4.4 视图 84

4.4.1 术语 85

4.4.2 视图的用途 85

4.4.3 视图的更新 86

本章小结 86

思考题 86

习题 87

扩展阅读 87

第5章 关系代数与关系演算 88

5.1 关系代数 88

5.1.1 一元运算 90

5.1.2 集合运算 91

5.1.3 连接运算 93

5.1.4 除法运算 96

5.1.5 聚集运算和分组运算 96

5.1.6 关系代数运算小结 97

5.2 关系演算 98

5.2.1 元组关系演算 99

5.2.2 域关系演算 101

5.3 其他语言 103

本章小结 103

思考题 104

习题 104

扩展阅读 106

第6章 SQL:数据操作 107

6.1 SQL简介 108

6.1.1 SQL的目标 108

6.1.2 SQL的历史 109

6.1.3 SQL的重要性 110

6.1.4 术语 110

6.2 书写SQL命令 110

6.3 数据操作 111

6.3.1 简单查询 112

6.3.2 查询结果排序(ORDER BY子句) 118

6.3.3 使用SQL聚集函数 119

6.3.4 查询结果分组(GROUP BY子句) 121

6.3.5 子查询 123

6.3.6 ANY和ALL 125

6.3.7 多表查询 126

6.3.8 EXISTS和NOT EXISTS 131

6.3.9 合并结果表(UNION、INTERSECT和EXCEPT) 132

6.3.10 数据库更新 133

本章小结 136

思考题 137

习题 137

第7章 SQL:数据定义 140

7.1 ISO SQL数据类型 141

7.1.1 SQL标识符 141

7.1.2 SQL标量数据类型 141

7.2 完整性增强特性 145

7.2.1 必须有值的数据 145

7.2.2 域约束 145

7.2.3 实体完整性 146

7.2.4 引用完整性 147

7.2.5 一般性约束 148

7.3 数据定义 148

7.3.1 创建数据库 149

7.3.2 创建表(CREATE TABLE) 149

7.3.3 修改表定义(ALTER TABLE) 152

7.3.4 删除表(DROP TABLE) 153

7.3.5 创建索引(CREATE INDEX) 153

7.3.6 删除索引(DROP INDEX) 154

7.4 视图 154

7.4.1 创建视图(CREATE VIEW) 154

7.4.2 删除视图(DROP VIEW) 156

7.4.3 视图分解 157

7.4.4 视图的局限性 157

7.4.5 视图的可更新性 158

7.4.6 WITH CHECK OPTION 159

7.4.7 视图的优缺点 160

7.4.8 视图物化 161

7.5 事务 162

7.6 自主访问控制 163

7.6.1 授予其他用户权限(GRANT) 164

7.6.2 撤销用户权限(REVOKE) 166

本章小结 167

思考题 168

习题 168

第8章 高级SQL 171

8.1 SQL编程语言 171

8.1.1 声明 172

8.1.2 赋值 173

8.1.3 控制语句 173

8.1.4 PL/SQL的异常 175

8.1.5 PL/SQL的游标 176

8.2 子程序、存储过程、函数和包 178

8.3 触发器 179

8.4 递归 184

本章小结 185

思考题 185

习题 186

扩展阅读 186

第9章 对象关系DBMS 187

9.1 高级数据库应用 188

9.2 RDBMS的缺点 191

9.3 在关系数据库中存储对象 195

9.3.1 将类映射为关系 196

9.3.2 访问关系数据库中的对象 197

9.4 对象关系数据库系统简介 198

9.5 SQL:2011 200

9.5.1 行类型 201

9.5.2 用户自定义类型 201

9.5.3 子类型和超类型 204

9.5.4 用户自定义例程 206

9.5.5 多态性 207

9.5.6 引用类型和对象标识 208

9.5.7 创建表 208

9.5.8 数据查询 210

9.5.9 集类型 211

9.5.10 类型视图 214

9.5.11 持久化存储模块 215

9.5.12 触发器 215

9.5.13 大对象 217

9.5.14 递归 219

9.6 Oracle中面向对象的扩展 219

9.6.1 用户自定义数据类型 219

9.6.2 操作对象表 223

9.6.3 对象视图 224

9.6.4 权限 225

本章小结 226

思考题 226

习题 226

扩展阅读 227

第三部分 数据库分析与设计 230

第10章 数据库系统开发生命周期 230

10.1 信息系统生命周期 231

10.2 数据库系统开发生命周期 231

10.3 数据库规划 233

10.4 系统定义 233

10.5 需求收集与分析 234

10.5.1 集中式方法 235

10.5.2 视图集成方法 235

10.6 数据库设计 237

10.6.1 数据库设计方法 237

10.6.2 数据建模 238

10.6.3 数据库设计的阶段划分 238

10.7 DBMS选型 240

10.8 应用程序设计 243

10.8.1 事务设计 243

10.8.2 用户界面设计指南 244

10.9 建立原型系统 246

10.10 实现 246

10.11 数据转换与加载 246

10.12 测试 247

10.13 运行维护 247

10.14 CASE工具 248

本章小结 249

思考题 250

习题 250

扩展阅读 251

第11章 数据库分析与DreamHome案例研究 252

11.1 使用实况发现技术的时机 253

11.2 收集实况的类型 253

11.3 实况发现技术 254

11.3.1 分析文档资料 254

11.3.2 面谈 254

11.3.3 观察企业的运作 255

11.3.4 研究 256

11.3.5 问卷调查 256

11.4 使用实况发现技术的实例 256

11.4.1 DreamHome案例研究——概述 257

11.4.2 DreamHome案例研究——数据库规划 260

11.4.3 DreamHome案例研究——系统定义 264

11.4.4 DreamHome案例研究——需求收集与分析 266

11.4.5 DreamHome案例研究——数据库设计 271

本章小结 271

思考题 271

习题 271

扩展阅读 272

第12章 实体-联系建模 273

12.1 实体类型 274

12.2 联系类型 275

12.2.1 联系类型的度 276

12.2.2 递归联系 278

12.3 属性 279

12.3.1 简单属性和组合属性 279

12.3.2 单值属性和多值属性 279

12.3.3 导出属性 280

12.3.4 关键字 280

12.4 强实体类型与弱实体类型 282

12.5 联系的属性 282

12.6 结构化约束 283

12.6.1 一对一(1∶1)联系 283

12.6.2 一对多(1∶*)联系 284

12.6.3 多对多(*∶*)联系 285

12.6.4 复杂联系的多重性 287

12.6.5 基数约束和参与性约束 288

12.7 ER模型的问题 289

12.7.1 扇形陷阱 289

12.7.2 断层陷阱 291

本章小结 292

思考题 293

习题 293

第13章 增强的实体-联系建模 295

13.1 特殊化/泛化 295

13.1.1 超类和子类 296

13.1.2 超类/子类联系 296

13.1.3 属性的继承 297

13.1.4 特殊化过程 297

13.1.5 泛化过程 298

13.1.6 特殊化/泛化的约束 300

13.1.7 基于DreamHome案例研究的Branch视图特殊化/泛化建模示例 301

13.2 聚合 304

13.3 组合 305

本章小结 306

思考题 306

习题 307

扩展阅读 308

第14章 规范化 309

14.1 规范化的目的 310

14.2 规范化对数据库设计的支持 310

14.3 数据冗余与更新异常 311

14.3.1 插入异常 312

14.3.2 删除异常 312

14.3.3 修改异常 312

14.4 函数依赖 313

14.4.1 函数依赖的特征 313

14.4.2 识别函数依赖 316

14.4.3 利用函数依赖确定主关键字 318

14.5 规范化过程 318

14.6 第一范式(1NF) 320

14.7 第二范式(2NF) 323

14.8 第三范式(3NF) 325

14.9 2NF和3NF的一般化定义 326

本章小结 327

思考题 328

习题 328

第15章 进一步规范化 332

15.1 函数依赖的进一步讨论 333

15.1.1 函数依赖的推导规则 333

15.1.2 最小函数依赖集 334

15.2 Boyce-Codd范式(BCNF) 335

15.3 规范化到BCNF的过程小结 337

15.4 第四范式(4NF) 342

15.4.1 多值依赖 342

15.4.2 第四范式的定义 343

15.5 第五范式(5NF) 343

15.5.1 无损连接依赖 343

15.5.2 第五范式的定义 344

本章小结 345

思考题 345

习题 346

扩展阅读 346

第四部分 方法学 348

第16章 方法学——概念数据库设计 348

16.1 数据库设计方法学简介 349

16.1.1 什么是设计方法学 349

16.1.2 概念、逻辑和物理数据库设计 349

16.1.3 成功设计数据库的关键因素 349

16.2 数据库设计方法学概述 350

16.3 概念数据库设计方法学 352

步骤1 建立概念数据模型 352

本章小结 363

思考题 364

习题 364

第17章 方法学——关系模型的逻辑数据库设计 366

17.1 关系模型的逻辑数据库设计方法学 366

步骤2 建立逻辑数据模型 366

本章小结 389

思考题 390

习题 390

扩展阅读 392

第18章 方法学——关系数据库的物理数据库设计 394

18.1 逻辑数据库设计与物理数据库设计的比较 395

18.2 物理数据库设计方法学概述 395

18.3 关系数据库的物理数据库设计方法学 396

步骤3 转换逻辑数据模型以适应目标DBMS 396

步骤4 设计文件组织方法和索引 399

步骤5 设计用户视图 410

步骤6 设计安全机制 410

本章小结 411

思考题 411

习题 412

第19章 方法学——运行时系统的监控与调优 413

19.1 逆规范化与可控冗余的引入 413

步骤7 考虑引入可控冗余 413

19.2 监控系统以提高性能 423

步骤8 监控系统和系统调优 423

本章小结 426

思考题 427

习题 427

扩展阅读 427

第五部分 可选的数据库专题 430

第20章 安全与管理 430

20.1 数据库安全 430

20.2 对策——基于计算机的控制 433

20.2.1 授权 434

20.2.2 访问控制 435

20.2.3 视图 437

20.2.4 备份和恢复 437

20.2.5 完整性 438

20.2.6 加密 438

20.2.7 RAID(独立磁盘冗余阵列) 439

20.3 Microsoft Office Access DBMS的安全机制 441

20.4 Oracle DBMS的安全机制 443

20.5 DBMS与Web安全 445

20.5.1 代理服务器 446

20.5.2 防火墙 446

20.5.3 报文摘要算法和数字签名 447

20.5.4 数字证书 447

20.5.5 Kerberos 448

20.5.6 安全套接字层和安全HTTP 448

20.5.7 安全电子交易和安全交易技术 449

20.5.8 Java安全 449

20.5.9 ActiveX安全 451

20.6 数据管理与数据库管理 451

20.6.1 数据管理 452

20.6.2 数据库管理 452

20.6.3 数据管理与数据库管理的比较 453

本章小结 453

思考题 454

习题 455

扩展阅读 455

第21章 数据管理中的职业、法律与道德问题 457

21.1 定义IT中的法律与道德问题 457

21.1.1 定义IT中的道德规范 458

21.1.2 道德行为与合法行为的差别 458

21.1.3 IT中的道德行为 459

21.2 若干法规及其对IT功能的影响 460

21.2.1 美国证券交易委员会(SEC)推出的规制国家市场体系(NMS) 460

21.2.2 萨班斯-奥克斯利法案、COBIT和COSO 460

21.2.3 健康保险流通和责任法案(HIPAA) 462

21.2.4 欧盟数据保护法令1995 463

21.2.5 英国数据保护法令(DPA)1998 464

21.2.6 信息访问法规 464

21.2.7 国际银行业——巴塞尔Ⅱ协议 465

21.3 建立守法、道德的数据管理文化 466

21.3.1 制定本组织内关于法律和道德行为的政策 467

21.3.2 行业组织和伦理守则 467

21.3.3 制定DreamHome组织内部关于法律和道德行为的政策 469

21.4 知识产权 470

21.4.1 专利 470

21.4.2 版权 471

21.4.3 (注册)商标 471

21.4.4 软件的知识产权问题 471

21.4.5 数据的知识产权问题 472

本章小结 473

思考题 473

习题 474

扩展阅读 474

第22章 事务管理 475

22.1 支持事务处理 476

22.1.1 事务的性质 478

22.1.2 数据库体系结构 478

22.2 并发控制 479

22.2.1 并发控制的必要性 479

22.2.2 可串行性与可恢复性 481

22.2.3 加锁方法 487

22.2.4 死锁 492

22.2.5 时间戳方法 494

22.2.6 多版本时间戳排序 497

22.2.7 乐观技术 498

22.2.8 数据项的粒度 499

22.3 数据库恢复 501

22.3.1 恢复的必要性 501

22.3.2 事务和恢复 502

22.3.3 恢复机制 504

22.3.4 恢复技术 506

22.3.5 分布式DBMS的恢复 508

22.4 高级事务模型 508

22.4.1 嵌套事务模型 509

22.4.2 Saga 510

22.4.3 多级事务模型 511

22.4.4 动态重构 512

22.4.5 工作流模型 513

22.5 Oracle中的并发控制与恢复 513

22.5.1 Oracle的隔离级别 514

22.5.2 多版本读一致性 514

22.5.3 死锁检测 516

22.5.4 备份和恢复 516

本章小结 518

思考题 519

习题 519

扩展阅读 521

第23章 查询处理 522

23.1 查询处理概述 523

23.2 查询解析 525

23.3 查询优化的启发式方法 528

23.3.1 关系代数运算的转换规则 529

23.3.2 启发式处理策略 532

23.4 关系代数运算的代价估算 533

23.4.1 数据库的统计信息 534

23.4.2 选择运算 534

23.4.3 连接运算 540

23.4.4 投影运算 546

23.4.5 关系代数的集合运算 547

23.5 其他可选的执行策略 548

23.5.1 流水线 549

23.5.2 线性树 549

23.5.3 物理算子和执行策略 550

23.5.4 缩小搜索空间 551

23.5.5 枚举左深树 551

23.5.6 语义查询优化 553

23.5.7 其他查询优化方法 553

23.5.8 分布式查询优化 554

23.6 查询处理与优化 554

23.7 Oracle的查询优化 558

23.7.1 基于规则和基于代价的优化 558

23.7.2 柱状图 560

23.7.3 查看执行计划 562

本章小结 563

思考题 564

习题 564

扩展阅读 566

附 录 568

附录A DreamHome案例研究的用户需求说明 568

附录B 其他案例研究 572

附录C 可选的ER建模表示法 581

附录D 关系数据库设计方法学总结 584

附录E 轻量级RDBMS:Pyrrho简介 588

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