书籍详情

数据库与事务处理

数据库与事务处理

作者:(美)Philip M.Lewis,(美)Arthur Bernstein,(美)Michael Kifer著;施伯乐,周向东,方锦城等译;施伯乐译

出版社:机械工业出版社

出版时间:2005-05-01

ISBN:9787111157182

定价:¥85.00

购买这本书可以去
内容简介
  本书对数据库和事务处理应用的设计和实现过程进行了全面、详细的介绍,主要内容涉及数据库和事务处理的基本知识、数据库管理、数据库和事务处理的前沿主题等。本书的重点在于如何设计、实现数据库与事务处理应用,而不是实现数据库系统本身,强调了事务处理在数据库系统中的地位,同时保留了经典关系数据库理论的体系框架。本书篇幅宏大,讲述透彻,适合作为高等院校计算机及相关专业数据库及事务处理课程的教材或参考书,从事数据库管理和开发的技术人员也可以从本书中了解到所需的知识。本书系统介绍数据库和事务处理应用的基本概念和实现方法,重点关注如何构建数据库应用。书中始终贯穿关系数据库和关系查询语言的基础理论,为读者熟练掌握这些原理打下坚实的基础。为了说明数据库和事务处理的概念,作者给出了一个贯穿全书的案例研究。全书围绕如何实现这个案例介绍相关的技术和相应的软件工程概念。除了介绍关系数据库、SQL和事务的ACID'性质之外,本书还深入介绍了以下有关数据库和事务处理的一些前沿论题:●嵌入式SQL、SQL/PSM、ODBC、JDBC和SQLJ●对象和面向对象数据库,包括SQL:1999、ODMG以及CORBA●XML和Web上的文档处理●触发器和动态数据库●OLAP和数据挖掘●分布式数据库●TP监控器以及TP监控器如何实现事务的ACID性质●不同隔离级别上的并发控制●安全性和电子商务
作者简介
  PhilipM.LewisStonyBrook的纽约州立大学计算机科学系的教得硕士学位和博士学位,1956-1959年在麻省理工学院电子工程系担任助教,1959-1987年在通用电气公司工作,1987年进入StonyBrook的纽约州立大学任教。相关图书数据仓库(原书第3版)并行计算导论(原书第2版)离散数学导学数据库设计教程(第2版)组合数学(原书第4版)JAVA编程思想(第2版)数据库系统导论UNIX系统编程并行程序设计现代操作系统(第2版)计算机网络:自顶向下方法与Internet特色(原书第3版)高级编译器设计与实现计算机网络系统方案(原书第3版)C程序设计语言(第2版·新版)习题解答计算机网络与因特网(原书第4版)可扩展并行计算技术、结构与编程数据库原理、编程与性能嵌入式微控制器模式分析的核方法神经网络原理(原书第2版)编译原理C++语言的设计和演化信息论、编码与密码学软件需求3D游戏卷1实时渲染与软件技术3D游戏卷2动画与高级实时渲染技术数字图像处理疑难解析现代信息检索CAXA数控铣CAD/CAM技术C语言的科学和艺术计算机视觉信息系统原理:原书第6版操作系统3D计算机图形学(原书第3版)计算机科学概论(原书第2版)人工智能:英文Java面向对象程序设计教程C++编程思想。第2卷:实用编程技术微机接口技术实验教程
目录
第一部分  绪      论
第1章  数据库和事务概述        2
1.1  什么是数据库和事务        2
1.2  现代数据库和事务处理系统的特点        4
1.3  实现和支持数据库与事务处理系统的主要成员        6
1.4  决策支持系统—OLAP和OLTP        7
1.5  练习        8
第2章  进阶        10
2.1  案例研究:学生注册系统        10
2.2  关系数据库概述        10
2.3  怎样使程序成为事务        14
2.4  参考书目        18
2.5  练习        18
第3章  案例研究:开发学生注册系统        20
3.1  软件工程方法学        20
3.2  需求文档        21
3.3  需求分析——新问题        26
3.4  应用程序生成器        27
3.5  图形用户界面和对象        27
3.6  事件和过程        30
3.7  访问数据库和执行事务        32
3.8  详细说明学生注册系统        33
3.9  规格说明文档        34
3.10  参考书目        35
3.11  练习        35
第二部分  数据库管理
第4章  关系数据模型        38
4.1  什么是数据模型        38
4.2  关系模型        40
4.2.1  基本概念        41
4.2.2  完整性约束        43
4.3  SQL——数据定义子语言        48
4.3.1  指定关系类型        49
4.3.2  系统目录        49
4.3.3  键约束        50
4.3.4  处理空缺信息        50
4.3.5  语义约束        51
4.3.6  用户自定义域        53
4.3.7  外键约束        54
4.3.8  反应性约束        56
4.3.9  数据库视图        58
4.3.10  修改已有的定义        59
4.3.11  SQL-模式        60
4.3.12  访问控制        60
4.4  参考书目        62
4.5  练习        62
第5章  数据库设计I:实体-联系模型        64
5.1  E-R方法的概念建模        64
5.2  实体和实体类型        65
5.3  联系和联系类型        67
5.4  E-R方法的高级特性        71
5.4.1  实体类型层次结构        71
5.4.2  参与约束        74
5.5  一个经纪公司的例子        76
5.6  E-R方法的局限性        79
5.7  案例研究:学生注册系统的设计        82
5.8  参考书目        86
5.9  练习        86
第6章  查询语言Ⅰ:关系代数和SQL        88
6.1  关系代数:在SQL的覆盖之下        88
6.1.1  基本运算符        89
6.1.2  导出运算符        96
6.2  SQL的查询子语言        101
6.2.1  简单的SQL查询        101
6.2.2  集合运算        106
6.2.3  嵌套查询        108
6.2.4  数据的聚合        112
6.2.5  简单查询计算算法        117
6.2.6  再论SQL中的视图        118
6.2.7  空值的窘境        122
6.3  在SQL中修改关系实例        123
6.4  参考书目        127
6.5  练习        127
第7章  查询语言Ⅱ:关系演算和可视化查询语言        131
7.1  元组关系演算        131
7.2  通过元组关系演算理解SQL        138
7.3  域关系演算和可视化查询语言        140
7.4  可视化查询语言:QBE和PC数据库        143
7.5  关系代数和关系演算之间的联系        148
7.6  SQL:1999中的递归查询        150
7.7  参考书目        155
7.8  练习        155
第8章  数据库设计Ⅱ:关系规范化理论        157
8.1  冗余所带来的问题        157
8.2  分解        158
8.3  函数依赖        160
8.4  函数依赖的性质        161
8.5  范式        165
8.6  分解的性质        167
8.6.1  无损分解与有损分解        168
8.6.2  依赖保持分解        170
8.7  分解BCNF的一个算法        173
8.8  3NF模式的合成        175
8.8.1  最小覆盖        175
8.8.2  通过模式合成的3NF分解        177
8.8.3  通过3NF合成的BCNF分解        178
8.9  第四范式        180
8.10  高级4NF设计*        183
8.10.1  MVD和它们的性质        183
8.10.2  设计4NF的困难性        184
8.10.3  如何进行4NF分解        187
8.11  范式分解的总结        188
8.12  案例研究:学生注册系统的模式精化        188
8.13  性能调整问题:是否进行分解        190
8.14  参考书目        191
8.15  练习        192
第9章  触发器和动态数据库        195
9.1  触发器处理的语义        195
9.2  SQL:1999中的触发器        197
9.3  避免链式反应        202
9.4  参考书目        203
9.5  练习        203
第10章  真实世界中的SQL        205
10.1  在应用程序中执行SQL语句        205
10.2  嵌入式SQL        206
10.2.1  状态处理        208
10.2.2  会话、连接和事务        209
10.2.3  执行事务        210
10.2.4  游标        212
10.2.5  服务器存储过程        216
10.3  再论完整性约束        218
10.4  动态SQL        219
10.4.1  动态SQL的语句预备        220
10.4.2  预备语句和描述符区        222
10.4.3  游标        224
10.4.4  服务器端的存储过程        224
10.5  JDBC和SQLJ        225
10.5.1  JDBC的基本概念        225
10.5.2  预处理语句        227
10.5.3  结果集和游标        227
10.5.4  获取结果集的信息        229
10.5.5  状态处理        230
10.5.6  执行事务        230
10.5.7  服务器端的存储过程        231
10.5.8  示例        231
10.5.9  SQLJ:Java的语句级接口        231
10.6  ODBC*        234
10.6.1  预处理语句        235
10.6.2  游标        236
10.6.3  状态处理        238
10.6.4  执行事务        238
10.6.5  服务器端的存储过程        238
10.6.6  示例        239
10.7  比较        240
10.8  参考书目        240
10.9  练习        241
第11章  数据的物理组织和索引        243
11.1  磁盘组织        243
11.2  堆文件        247
11.3  排序文件        249
11.4  索引        251
11.4.1  聚簇索引与非聚簇索引        254
11.4.2  稀疏索引和稠密索引        256
11.4.3  包含多个属性的查找键        257
11.5  多级索引        259
11.5.1  索引顺序访问        261
11.5.2  B+树        263
11.6  散列索引        269
11.6.1  静态散列        269
11.6.2  动态散列算法        271
11.7  特殊用途的索引        277
11.7.1  位图索引        277
11.7.2  联结索引        278
11.8  调整问题:为一个应用选择索引        278
11.9  参考书目        279
11.10  练习        279
第12章  案例研究:实现学生注册系统        282
12.1  设计文档        282
12.1.1  文档结构        283
12.1.2  设计评审        284
12.2  测试计划        285
12.3  项目计划        287
12.4  编程        289
12.5  渐进式开发        290
12.6  学生注册系统的设计和编程        291
12.6.1  完成数据库设计:完整性约束        291
12.6.2  设计注册事务        293
12.6.3  部分注册事务程序        295
12.7  参考书目        297
12.8  练习        297
第13章  查询处理基础        298
13.1  外部排序        298
13.2  计算投影、并和差        301
13.3  计算选择        303
13.3.1  具有简单条件的选择        303
13.3.2  存取路径        304
13.3.3  具有复杂条件的选择        306
13.4  计算联结        307
13.4.1  用嵌套循环来计算联结        307
13.4.2  排序-合并联结        309
13.4.3  散列联结        310
13.5  多关系联结        311
13.6  计算聚合函数        313
13.7  调优问题:对物理数据库设计的影响        313
13.8  参考书目        314
13.9  练习        314
第14章  查询优化概述        316
14.1  查询处理概述        316
14.2  基于代数等价的启发式优化        317
14.3  估计查询执行计划的代价        320
14.4  估计输出的大小        326
14.5  选择计划        327
14.6  调整问题:对查询设计的影响        330
14.7  参考书目        332
14.8  练习        333
第15章  事务处理概述        336
15.1  隔离性        336
15.1.1  可串行化        337
15.1.2  两段锁        338
15.1.3  死锁        340
15.1.4  关系数据库中的锁        341
15.1.5  隔离级别        342
15.1.6  锁粒度和意向锁        344
15.1.7  用意向锁的可串行化封锁策略        345
15.1.8  总结        346
15.2  原子性和持久性        346
15.2.1  先写日志        347
15.2.2  从大规模存储器失效中恢复        348
15.3  实现分布式事务        349
15.3.1  原子性和持久性——两阶段提交协议        350
15.3.2  全局可串行性和死锁        351
15.3.3  复制        352
15.3.4  总结        353
15.4  参考书目        353
15.5  练习        354
第三部分  数据库的高级主题
第16章  对象数据库        356
16.1  关系数据模型的缺点        356
16.2  发展历史        361
16.3  概念上的对象数据模型        363
16.3.1  对象和值        363
16.3.2  类        364
16.3.3  类型        365
16.3.4  对象-关系数据库        367
16.4  ODMG标准        367
16.4.1  ODL:ODMG对象定义语言        370
16.4.2  OQL:ODMG 对象查询语言        374
16.4.3  ODMG中的事务        377
16.4.4  ODMG中的对象操纵        378
16.4.5  语言绑定        378
16.5  SQL:1999中的对象        382
16.5.1  行类型        382
16.5.2  用户定义类型        383
16.5.3  对象        384
16.5.4  查询用户定义类型        385
16.5.5  更新用户定义类型        385
16.5.6  引用类型        387
16.5.7  集合类型        389
16.6  公共对象请求代理体系结构        389
16.6.1  CORBA基础        390
16.6.2  CORBA和数据库        394
16.7  小结        398
16.8  参考书目        398
16.9  练习        399
第17章  XML 和 Web数据        401
17.1  半结构化数据        401
17.2  XML概述        403
17.2.1  XML元素和数据库对象        406
17.2.2  XML属性        407
17.2.3  命名空间        409
17.2.4  文档类型定义        412
17.2.5  DTD作为数据定义语言的不足        414
17.3  XML Schema        415
17.3.1  XML Schema和命名空间        416
17.3.2  简单类型        418
17.3.3  复杂类型        422
17.3.4  一个完整的Schema文档        428
17.3.5  完整性约束        431
17.4  XML查询语言        436
17.4.1  XPath:一种轻量的XML查询语言        436
17.4.2  XSLT:XML的一种转换语言        442
17.4.3  XQuery:XML的一个功能完善的查询语言        450
17.4.4  小结        464
17.5  参考书目        464
17.6  练习        465
第18章  分布式数据库        469
18.1  应用设计者对数据库的观点        470
18.2  在不同数据库中分布数据        472
18.2.1  分段        472
18.2.2  更新和分段        474
18.2.3  复制        475
18.3  查询策略        476
18.3.1  全局查询优化        476
18.3.2  多数据库系统的策略        481
18.3.3  调整问题:分布式环境下的数据库设计和查询计划        481
18.4  参考书目        482
18.5  练习        482
第19章  OLAP和数据挖掘        484
19.1  OLAP和数据仓库        484
19.2  OLAP应用的多维模型        485
19.3  聚合        488
19.3.1  下钻、上卷、切片和切块        488
19.3.2  CUBE操作符        490
19.4  ROLAP和MOLAP        494
19.5  实现中的一些问题        495
19.6  数据挖掘        495
19.7  数据仓库的数据载入        499
19.8  参考书目        500
19.9  练习        500
第四部分  事务处理
第20章  事务的ACID性质        504
20.1  一致性        504
20.2  原子性        506
20.3  持久性        507
20.4  隔离性        508
20.5  事务的ACID性质        510
20.6  参考书目        512
20.7  练习        512
第21章  事务模型        513
21.1  平坦事务        513
21.2  提供事务的结构        514
21.2.1  存储点        514
21.2.2  分布式事务        515
21.2.3  嵌套事务        518
21.2.4  多级事务        520
21.3  把应用分解成多个事务        523
21.3.1  链式事务        523
21.3.2  用可恢复队列调度事务        526
21.3.3  扩展事务        529
21.3.4  工作流和工作流管理系统        531
21.4  参考书目        534
21.5  练习        535
第22章  事务处理系统的体系结构        537
22.1  集中式系统中的事务处理        537
22.1.1  单用户系统的组织        537
22.1.2  集中式多用户系统的组织        538
22.2  分布式系统上的事务处理        539
22.2.1  分布式系统的组织        540
22.2.2  会话和上下文信息        544
22.2.3  队列事务处理        545
22.3  异构系统和TP监控器        546
22.3.1  事务管理器        547
22.3.2  TP监控器        548
22.4  TP监控器:通信和全局原子性        550
22.4.1  远程过程调用        551
22.4.2  对等通信        556
22.4.3  事务中异常情况的处理        558
22.5  因特网上的事务处理        560
22.5.1  一般的体系结构        561
22.5.2  因特网上事务系统的组织        563
22.6  参考书目        564
22.7  练习        564
第23章  隔离性的实现        566
23.1  调度和等价调度        567
23.1.1  串行化        570
23.1.2  冲突等价与观察等价        571
23.1.3  串行图        572
23.2  可恢复性、级联异常中止和严格性        574
23.3  并发控制的模型        576
23.4  立即更新的悲观并发控制策略        577
23.4.1  避免冲突        577
23.4.2  死锁        579
23.5  立即更新的悲观并发控制的设计        580
23.5.1  锁集和等待集的实现        580
23.5.2  两段锁        581
23.5.3  锁的粒度        582
23.6  对象和语义交换*        583
23.7  结构化事务模型中的隔离        587
23.7.1  存储点        587
23.7.2  链式事务        588
23.7.3  可恢复队列        588
23.7.4  嵌套事务        589
23.7.5  多级事务*        589
23.8  其他的并发控制        592
23.8.1  时间戳顺序的并发控制        593
23.8.2  乐观的并发控制        594
23.9  参考书目        597
23.10  练习        597
第24章  关系数据库中的隔离性        601
24.1  加锁        601
24.1.1  幻影        602
24.1.2  谓词加锁        603
24.2  加锁与SQL隔离级别        605
24.2.1  更新丢失、游标稳定性和更新锁        609
24.2.2  案例研究:正确性和非可串行级调度——学生注册系统        612
24.2.3  可串行化、SERIALIZABLE和正态的        617
24.3  粒度加锁:概念锁和索引锁        618
24.3.1  索引锁:无幻影的粒度加锁        619
24.3.2  对象数据库里的粒度加锁*        624
24.4  系统性能的改进        625
24.5  多版本并发控制        626
24.5.1  只读型的多版本并发控制        627
24.5.2  读取一致性的多版本并发控制        628
24.5.3  SNAPSHOT隔离级别        628
24.6  参考书目        633
24.7  练习        633
第25章  原子性和持久性        637
25.1  崩溃、异常中止和介质故障        637
25.2  直接型更新系统和先写型日志        638
25.2.1  性能和先写型登录        641
25.2.2  检测点和恢复        644
25.2.3  逻辑型登录和物理逻辑型登录*        648
25.3  延迟更新系统的恢复        649
25.4  介质故障的恢复        650
25.5  参考书目        653
25.6  练习        653
第26章  分布式事务的实现        655
26.1  ACID特性的实现        655
26.2  原子终止        656
26.2.1  两阶段提交协议        657
26.2.2  两阶段提交协议中故障的处理        661
26.2.3  格式和协议:X/Open标准        664
26.2.4  对等原子提交协议        664
26.3  协调的传递        665
26.3.1  线性提交协议        665
26.3.2  无准备状态的两阶段提交协议        666
26.4  分布式死锁        666
26.5  全局可串行化        667
26.6  不能保证全局原子性的场合        668
26.7  复制数据库        670
26.7.1  同步更新复制系统        672
26.7.2  异步更新复制系统        674
26.8  现实世界里的分布式事务        677
26.9  参考书目        677
26.10  练习        678
第27章  安全性与因特网商务        681
27.1  认证、授权与加密        681
27.2  加密        681
27.3  数字签名        684
27.4  密钥发布与认证        686
27.4.1  Kerberos协议:票据        687
27.4.2  临时串        690
27.5  授权        690
27.6  已认证的远程过程调用        692
27.7  因特网商务        693
27.7.1  SSL协议:证书        693
27.7.2  SET协议:对偶签名        695
27.7.3  货物原子性、托管与已认证交付        698
27.7.4  电子现金:盲签名        700
27.8  参考书目        705
27.9  练习        705
附      录
附录A  关于系统的问题        708
附录B  参考文献        716
猜您喜欢

读书导航