《数据库系统概念》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:(美)西尔伯沙茨(Abraham Silberschatz)等著;杨冬青等译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2002
  • ISBN:7111077598
  • 页数:525 页
图书介绍:数据库系统概念,ISBN:9787111077596,作者:(美)西尔伯沙茨(Abraham Silberschatz),(美)Henry F. Korth,(美)S.Sudarshan著;杨冬青 等译

第1章 引言 1

1.1数据库系统的目的 1

1.2数据视图 3

1.2.1数据抽象 3

1.2.2实例和模式 4

1.2.3数据独立性 4

1.3数据模型 5

1.3.1基于对象的逻辑模型 5

1.3.2基于记录的逻辑模型 6

1.3.3物理数据模型 7

1.4数据库语言 8

1.4.1数据定义语言 8

1.4.2数据操纵语言 8

1.5事务管理 9

1.6存储管理 10

1.7数据库管理员 10

1.8数据库用户 10

1.9系统总体结构 11

1.10总结 13

习题 13

文献注解 14

第2章 实体-联系模型 15

2.1基本概念 15

2.1.1实体集 15

2.1.2联系集 17

2.2设计问题 18

2.2.1用实体集还是用属性 18

2.2.2用实体集还是用联系集 19

2.2.3二元联系集与n元联系集 19

2.3映射约束 20

2.3.1映射的基数 20

2.3.2存在依赖 22

2.4码 22

2.4.1实体集 22

2.4.2联系集 23

2.5实体-联系图 23

2.6弱实体集 26

2.7扩展E-R特性 27

2.7.1特殊化 27

2.7.2概括 28

2.7.3属性继承 29

2.7.4约束设计 29

2.7.5聚集 31

2.8设计数据库的E-R模式 32

2.8.1设计阶段 32

2.8.2银行业务的数据需求 33

2.8.3与银行相关的实体集 34

2.8.4与银行相关的联系集 34

2.8.5银行企业E-R图 34

2.9将E-R模式转换为表 35

2.9.1用表表示强实体集 35

2.9.2用表表示弱实体集 36

2.9.3用表表示联系集 36

2.9.4多值属性 38

2.9.5用表表示概括 38

2.9.6用表表示聚集 39

2.10总结 39

习题 40

文献注解 42

第3章 关系模型 43

3.1关系数据库的结构 43

3.1.1基本结构 43

3.1.2数据库模式 44

3.1.3码 46

3.1.4查询语言 47

3.2关系代数 48

3.2.1基本运算 48

3.2.2关系代数的形式化定义 53

3.2.3附加运算 53

3.3元组关系演算 56

3.3.1查询的例子 57

3.3.2形式化定义 58

3.3.3表达式的安全性 59

3.3.4语言的表达能力 59

3.4域关系演算 59

3.4.1形式化定义 60

3.4.2查询的例子 60

3.4.3表达式的安全性 61

3.4.4语言的表达能力 61

3.5扩展关系代数运算 62

3.5.1广义投影 62

3.5.2外连接 62

3.5.3聚集函数 63

3.6数据库的修改 65

3.6.1删除 65

3.6.2插入 65

3.6.3更新 66

3.7视图 66

3.7.1视图定义 67

3.7.2通过视图进行更新与空值 68

3.7.3用视图定义视图 68

3.8总结 69

习题 70

文献注解 72

第4章 SQL 74

4.1背景 74

4.2基本结构 75

4.2.1 Select子句 76

4.2.2 Where子句 76

4.2.3 from子句 77

4.2.4更名运算 78

4.2.5元组变量 78

4.2.6字符串操作 79

4.2.7排列元组的显示次序 80

4.2.8重复 80

4.3集合操作 81

4.3.1并操作 81

4.3.2交操作 82

4.3.3差操作 82

4.4聚集函数 83

4.5空值 85

4.6嵌套子查询 85

4.6.1集合成员资格 85

4.6.2集合的比较 87

4.6.3测试是否为空关系 88

4.6.4测试是否存在重复元组 89

4.7派生关系 90

4.8视图 90

4.9数据库的修改 91

4.9.1删除 91

4.9.2插入 92

4.9.3更新 94

4.9.4视图的更新 95

4.10关系的连接 95

4.10.1举例 95

4.10.2连接类型和条件 97

4.11数据定义语言DDL 98

4.11.1 SQL中的域类型 99

4.11.2 SQL的模式定义 99

4.12嵌入式SQL 102

4.13其他SQL特性 104

4.14总结 104

习题 105

文献注解 107

第5章 其他关系语言 108

5.1 Query-by-Example 108

5.1.1在一个关系上的查询 108

5.1.2在多个关系上的查询 111

5.1.3条件框 112

5.1.4结果关系 113

5.1.5元组的显示次序 114

5.1.6聚集操作 114

5.1.7数据库的修改 116

5.2 Quel 119

5.2.1简单查询 119

5.2.2元组变量 120

5.2.3聚集函数 121

5.2.4数据库的修改 123

5.2.5集合操作 125

5.2.6 Quel和元组关系演算 126

5.3 Datalog 127

5.3.1基本结构 127

5.3.2 Datalog规则语法 128

5.3.3非递归Datalog语义 130

5.3.4安全性 132

5.3.5 Datalog中的关系运算 132

5.3.6 Datalog中的递归 133

5.3.7递归的能力 135

5.4总结 137

习题 137

文献注解 139

第6章 完整性约束 140

6.1域约束 140

6.2参照完整性 141

6.2.1基本概念 141

6.2.2 E-R模型中的参照完整性 142

6.2.3数据库的修改 142

6.2.4 SQL中的参照完整性 142

6.3断言 144

6.4触发器 145

6.5函数依赖 146

6.5.1基本概念 146

6.5.2函数依赖集的闭包 149

6.5.3属性集的闭包 150

6.5.4正则覆盖 151

6.6总结 152

习题 153

文献注解 154

第7章 关系数据库设计 156

7.1关系数据库设计中易犯的错误 156

7.2模式分解 157

7.3利用函数依赖作规范化 160

7.3.1分解应具有的特性 160

7.3.2 Boyce-Codd范式 163

7.3.3第三范式 166

7.3.4 BCNF和3NF的比较 167

7.4利用多值依赖作规范化 168

7.4.1多值依赖 168

7.4.2多值依赖的理论 170

7.4.3第四范式 171

7.5利用连接依赖作规范化 173

7.5.1连接依赖 174

7.5.2投影-连接范式 175

7.6域-码范式 176

7.7数据库设计的其他方法 177

7.8总结 178

习题 179

文献注解 181

第8章 面向对象数据库 182

8.1新的数据库应用 182

8.2面向对象数据模型 183

8.2.1对象结构 183

8.2.2对象类 184

8.2.3继承 185

8.2.4多重继承 186

8.2.5对象标识 188

8.2.6对象包含 189

8.3面向对象的语言 190

8.4持久化程序设计语言 190

8.4.1对象的持久性 191

8.4.2对象标识与指针 191

8.4.3持久对象的存储和访问 192

8.5持久化C++系统 193

8.5.1 ODMG C++对象定义语言 193

8.5.2 ODMG C++对象操纵语言 194

8.6总结 196

习题 197

文献注解 197

第9章 对象-关系数据库 199

9.1嵌套关系 199

9.2复杂类型和面向对象 201

9.2.1有结构的类型和集合体类型 201

9.2.2继承 202

9.2.3引用类型 205

9.3与复杂类型有关的查询 205

9.3.1以关系为值的属性 205

9.3.2路径表达式 206

9.3.3嵌套与解除嵌套 207

9.3.4函数 208

9.4复杂值和复杂对象的创建 209

9.5面向对象数据库与对象-关系数据库的比较 210

9.6总结 210

习题 210

文献注解 211

第10章 存储结构和文件结构 213

10.1物理存储介质概览 213

10.2磁盘 214

10.2.1磁盘的物理特性 215

10.2.2磁盘性能的度量标准 216

10.2.3磁盘块存取的优化 217

10.3 RAID 218

10.3.1通过冗余提高可靠性 219

10.3.2通过并行提高性能 219

10.3.3 RAID级别 220

10.3.4选择正确的RAID级别 222

10.3.5扩展 223

10.4第三级存储 223

10.4.1光盘 223

10.4.2磁带 223

10.5存储访问 224

10.5.1缓冲区管理器 224

10.5.2缓冲区替换策略 225

10.6文件组织 226

10.6.1定长记录 226

10.6.2变长记录 228

10.7文件中记录的组织 230

10.7.1顺序文件组织 231

10.7.2聚集文件组织 231

10.8数据字典的存储 233

10.9面向对象数据库的存储结构 234

10.9.1对象到文件的映射 234

10.9.2对象标识的实现 234

10.9.3持久化指针的管理 235

10.9.4对象的磁盘结构与内存结构 238

10.9.5大对象 239

10.10总结 239

习题 240

文献注解 242

第11章 索引和散列 244

11.1基本概念 244

11.2顺序索引 244

11.2.1主索引 245

11.2.2辅助索引 248

11.3 B+树索引文件 249

11.3.1 B+树的结构 249

11.3.2 B+树上的查询 250

11.3.3 B+树的更新 251

11.3.4 B+树文件组织 254

11.4 B树索引文件 256

11.5静态散列 257

11.5.1散列文件组织 257

11.5.2散列索引 260

11.6动态散列法 261

11.7顺序索引和散列的比较 265

11.8 SQL中的索引定义 266

11.9多码访问 267

11.9.1网格文件 268

11.9.2分段散列 270

11.10总结 270

习题 271

文献注解 272

第12章 查询处理 274

12.1概述 274

12.2用于估计代价的目录信息 276

12.3查询代价的度量 277

12.4选择运算 277

12.4.1基本算法 277

12.4.2利用索引的选择 279

12.4.3涉及比较的选择 279

12.4.4复杂选择的实现 281

12.5排序 283

12.6连接运算 285

12.6.1连接结果集大小的估计 285

12.6.2嵌套循环连接 286

12.6.3块嵌套循环连接 287

12.6.4索引嵌套循环连接 288

12.6.5归并连接 288

12.6.6散列连接 290

12.6.7复杂连接 293

12.7其他运算 294

12.7.1消除重复 294

12.7.2投影 295

12.7.3集合运算 295

12.7.4外连接 295

12.7.5聚集 296

12.8表达式计算 297

12.8.1实体化 297

12.8.2流水线 298

12.9关系表达式的转换 300

12.9.1表达式的等价性 300

12.9.2等价规则 301

12.9.3变换的一些例子 302

12.9.4连接的次序 304

12.9.5等价表达式的枚举 305

12.10选择执行计划 305

12.10.1执行技术的相互作用 306

12.10.2基于代价的优化 306

12.10.3启发式优化 307

12.10.4查询优化器的结构 309

12.11总结 310

习题 311

文献注解 313

第13章 事务 315

13.1事务概念 315

13.2事务状态 317

13.3原子性和持久性的实现 318

13.4并发执行 319

13.5可串行化 322

13.5.1冲突可串行化 322

13.5.2视图可串行化 324

13.6可恢复性 325

13.6.1可恢复调度 325

13.6.2无级联调度 325

13.7隔离性的实现 325

13.8 SQL中的事务定义 326

13.9可串行化判定 326

13.9.1冲突可串行化的判定 327

13.9.2视图可串行化的判定 328

13.10总结 331

习题 331

文献注解 332

第14章 并发控制 333

14.1基于锁的协议 333

14.1.1锁 333

14.1.2锁的授予 336

14.1.3两阶段封锁协议 336

14.1.4基于图的协议 338

14.2基于时间戳的协议 340

14.2.1时间戳 340

14.2.2时间戳排序协议 340

14.2.3 Thomas写规则 341

14.3基于有效性检查的协议 342

14.4多粒度 343

14.5多版本机制 345

14.5.1多版本的时间戳排序 345

14.5.2多版本两阶段封锁 346

14.6死锁处理 346

14.6.1死锁预防 347

14.6.2基于超时的机制 348

14.6.3死锁检测与恢复 348

14.7插入与删除操作 349

14.7.1删除 349

14.7.2插入 350

14.7.3幻象现象 350

14.8索引结构中的并发 352

14.9总结 353

习题 354

文献注解 357

第15章 恢复系统 359

15.1故障分类 359

15.2存储器结构 359

15.2.1存储器类型 359

15.2.2稳定存储器的实现 360

15.2.3数据访问 361

15.3恢复与原子性 362

15.4基于日志的恢复 362

15.4.1延迟的数据库修改 363

15.4.2立即的数据库修改 365

15.4.3检查点 367

15.5影子分页 368

15.6并发事务的恢复 370

15.6.1与并发控制的关系 371

15.6.2事务回滚 371

15.6.3检查点 371

15.6.4重启动恢复 372

15.7缓冲区管理 372

15.7.1日志记录缓冲 372

15.7.2数据库缓冲 373

15.7.3操作系统在缓冲区管理中的作用 374

15.8非易失性存储器数据丢失的故障 374

15.9高级恢复技术 375

15.9.1逻辑Undo日志 375

15.9.2事务回滚 376

15.9.3检查点 376

15.9.4重启动恢复 376

15.9.5模糊检查点 377

15.10总结 377

习题 378

文献注解 379

第16章 数据库系统体系结构 381

16.1集中式系统 381

16.2客户-服务器系统 382

16.2.1事务服务器 383

16.2.2数据服务器 384

16.3并行系统 385

16.3.1加速比和扩展性 385

16.3.2互连网络 386

16.3.3并行数据库体系结构 387

16.4分布式系统 389

16.4.1说明性的例子 389

16.4.2利弊权衡 390

16.5网络类型 391

16.5.1局域网 391

16.5.2广域网 391

16.6总结 393

习题 393

文献注解 394

第17章 并行数据库 395

17.1引言 395

17.2 I/O并行 395

17.2.1划分技术 395

17.2.2划分技术比较 396

17.2.3偏斜的处理 397

17.3查询间并行 397

17.4查询内并行 398

17.5操作内并行 399

17.5.1并行排序 399

17.5.2并行连接 400

17.5.3其他关系操作 403

17.5.4操作并行计算的代价 403

17.6操作间并行 404

17.6.1流水线并行 404

17.6.2独立的并行 405

17.6.3查询优化 405

17.7并行系统设计 406

17.8总结 407

习题 407

文献注解 408

第18章 分布式数据库 410

18.1分布式数据存储 410

18.1.1数据复制 410

18.1.2数据分片 411

18.1.3数据复制与分片 413

18.2网络透明性 414

18.2.1数据项的命名 414

18.2.2透明性与更新 415

18.3分布式查询处理 416

18.3.1查询转换 416

18.3.2简单的连接处理 417

18.3.3半连接策略 417

18.3.4利用并行性的连接策略 418

18.4分布式事务模型 418

18.4.1系统结构 419

18.4.2系统故障模式 419

18.4.3强壮性 421

18.5提交协议 422

18.5.1两阶段提交 422

18.5.2三阶段提交 424

18.5.3协议的比较 427

18.6协调器选择 427

18.6.1备份协调器 427

18.6.2选举算法 428

18.7并发控制 428

18.7.1封锁协议 428

18.7.2时间戳 430

18.8死锁处理 431

18.8.1集中方式 431

18.8.2全分布方式 432

18.9多数据库系统 434

18.9.1数据的一致视图 434

18.9.2事务管理 435

18.10总结 437

习题 437

文献注解 439

第19章 特别的话题 441

19.1安全性和完整性 441

19.1.1安全性和完整性违例 441

19.1.2授权 442

19.1.3授权与视图 443

19.1.4权限的授予 443

19.1.5在SQL中进行安全性说明 444

19.1.6加密 445

19.1.7统计数据库 447

19.2标准化 447

19.3性能基准程序 449

19.3.1任务集 449

19.3.2数据库应用类型 450

19.3.3 TPC基准程序 450

19.3.4 OODB基准程序 451

19.4性能调整 451

19.4.1瓶颈的位置 451

19.4.2可调参数 452

19.4.3模式的调整 453

19.4.4索引的调整 453

19.4.5事务的调整 454

19.4.6性能模拟 454

19.5数据库中的时间 455

19.5.1 SQL-92中的时间定义 455

19.5.2时态查询语言 456

19.6用户界面 456

19.7主动数据库 458

19.8总结 460

习题 461

文献注解 462

第20章 高级事务处理 464

20.1远程备份系统 464

20.2事务处理监控器 466

20.2.1 TP监控器体系结构 466

20.2.2使用TP监控器进行应用协调 468

20.3高性能事务系统 469

20.3.1主存数据库 469

20.3.2成组提交 470

20.4长事务 470

20.4.1不可串行化的执行 471

20.4.2并发控制 472

20.4.3嵌套事务和多级事务 472

20.4.4补偿事务 473

20.4.5实现问题 474

20.5实时事务系统 474

20.6较弱的一致性级别 475

20.6.1二级一致性 475

20.6.2游标稳定 475

20.7事务工作流 476

20.7.1工作流说明 477

20.7.2工作流的故障原子性需求 478

20.7.3工作流的执行 478

20.7.4工作流的恢复 479

20.8总结 480

习题 480

文献注解 481

第21章 新的应用 483

21.1决策支持系统 483

21.2数据分析 484

21.3数据挖掘 486

21.3.1用规则表示知识 486

21.3.2数据挖掘问题的类型 487

21.3.3用户制导的数据挖掘 488

21.3.4规则的自动发现 488

21.4数据仓库工程 490

21.5空间和地理数据库 491

21.5.1几何信息的表示 492

21.5.2设计数据库 493

21.5.3地理数据 493

21.5.4空间查询 495

21.5.5空间数据的索引 495

21.6多媒体数据库 497

21.6.1基于相似性的检索 498

21.6.2连续介质数据 498

21.7移动性和个人数据库 499

21.7.1移动计算模型 500

21.7.2路由和查询处理 500

21.7.3广播数据 500

21.7.4连接断开与一致性 501

21.8信息检索系统 502

21.8.1查询 503

21.8.2文档的索引 503

21.8.3浏览与超文本 504

21.9分布式信息系统 506

21.10 World Wide Web 507

21.10.1统一资源定位器 507

21.10.2 Web服务器 508

21.10.3显示语言 508

21.10.4数据库的Web接口 510

21.10.5在Web上查找信息 511

21.11总结 512

习题 513

文献注解 514

附录A网状模型 516

附录B层次模型 521