数据库与事务处理

                    第一部分    绪论

第1章    数据库和事务概述

    1.1    什么是数据库和事务

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

    1.3    实现和支持数据库与事务处理系统的主要成员

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

    练习

第2章    进阶

    2.1    案例研究:学生注册系统

    2.2    关系数据库概述

    2.3    怎样使程序成为事务

    参考书目    练习

第3章    案例研究:开发学生注册系统

    3.1    软件工程方法学

    3.2    需求文档

    3.3    需求分析——新问题

    3.4    应用程序生成器

    3.5    图形用户界面和对象

    3.6    事件和过程

    3.7    访问数据库和执行事务

    3.8    详细说明学生注册系统

    3.9    规格说明文档

    参考书目    练习

                    第二部分            数据库管理

第4章    关系数据模型

    4.1    什么是数据模型

    4.2    关系模型

        4.2.1    基本概念

        4.2.2    完整性约束

    4.3    SQL——数据定义子语言

        4.3.1    指定关系类型

        4.3.2    系统目录

        4.3.3    键约束

        4.3.4    处理空缺信息

        4.3.5    语义约束

        4.3.6    用户自定义域

        4.3.7    外键约束

        4.3.8    反应性约束

        4.3.9    数据库视图

        4.3.10    修改已有的定义

        4.3.11    SQL-模式

        4.3.12    访问控制

    参考书目    练习

第5章    数据库设计I:实体-联系模型

    5.1    E-R方法的概念建模

    5.2    实体和实体类型

    5.3    联系和联系类型

    5.4    E-R方法的高级特性

        5.4.1    实体类型层次结构

        5.4.2    参与约束

    5.5    一个经纪公司的例子

    5.6    E-R方法的局限性

    5.7    案例研究:学生注册系统的设计

    参考书目    练习

第6章    查询语言I:关系代数和SQL

    6.1    关系代数:在SQL的覆盖之下

        6.1.1    基本运算符

        6.1.2    导出运算符

    6.2    SQL的查询子语言

        6.2.1    简单的SQL查询

        6.2.2    集合运算

        6.2.3    嵌套查询

        6.2.4    数据的聚合

        6.2.5    简单查询计算算法

        6.2.6    再论SQL中的视图

        6.2.7    空值的窘境

    6.3    在SQL中修改关系实例

    参考书目    练习

第7章    查询语言II:关系演算和可视化查询语言

    7.1    元组关系演算

    7.2    通过元组关系演算理解SQL

    7.3    域关系演算和可视化查询语言

    7.4    可视化查询语言:QBE和PC数据库

    7.5    关系代数和关系演算之间的联系

    7.6    SQL:1999中的递归查询

    参考书目    练习

第8章    数据库设计II:关系规范化理论

    8.1    冗余所带来的问题

    8.2    分解

    8.3    函数依赖

    8.4    函数依赖的性质

    8.5    范式

    8.6    分解的性质

        8.6.1    无损分解与有损分解

        8.6.2    依赖保持分解

    8.7    分解BCNF的一个算法

    8.8    3NF模式的合成

        8.8.1    最小覆盖

        8.8.2    通过模式合成的3NF分解

        8.8.3    通过3NF合成的BCNF分解

    8.9    第四范式

    8.10    高级4NF设计*

        8.10.1    MVD和它们的性质

        8.10.2    设计4NF的困难性

        8.10.3    如何进行4NF分解

    8.11    范式分解的总结

    8.12    案例研究:学生注册系统的模式精化

    8.13    性能调整问题:是否进行分解

    参考书目    练习

第9章    触发器和动态数据库

    9.1    触发器处理的语义

    9.2    SQL:1999中的触发器

    9.3    避免链式反应

    参考书目    练习

第10章    真实世界中的SQL

    10.1    在应用程序中执行SQL语句

    10.2    嵌入式SQL

        10.2.1    状态处理

        10.2.2    会话,连接和事务

        10.2.3    执行事务

        10.2.4    游标

        10.2.5    服务器存储过程

    10.3    再论完整性约束

    10.4    动态SQL

        10.4.1    动态SQL的语句预备

        10.4.2    预备语句和描述符区

        10.4.3    游标

        10.4.4    服务器端的存储过程

    10.5    JDBC和SQLJ

        10.5.1    JDBC的基本概念

        10.5.2    预处理语句

        10.5.3    结果集和游标

        10.5.4    获取结果集的信息

        10.5.5    状态处理

        10.5.6    执行事务

        10.5.7    服务器端的存储过程

        10.5.8    示例

        10.5.9    SQLJ:Java的语句级接口

    10.6    ODBC*

        10.6.1    预处理语句

        10.6.2    游标

        10.6.3    状态处理

        10.6.4    执行事务

        10.6.5    服务器端的存储过程

        10.6.6    示例

    10.7    比较

    参考书目    练习

第11章    数据的物理组织和索引

    11.1    磁盘组织

    11.2    堆文件

    11.3    排序文件

    11.4    索引

        11.4.1    聚簇索引与非聚簇索引

        11.4.2    稀疏索引和稠密索引

        11.4.3    包含多个属性的查找键

    11.5    多级索引

        11.5.1    索引顺序访问

        11.5.2    B+树

    11.6    散列索引

        11.6.1    静态散列

        11.6.2    动态散列算法

    11.7    特殊用途的索引

        11.7.1    位图索引

        11.7.2    联结索引

    11.8    调整问题:为一个应用选择索引

    参考书目    练习

第12章    案例研究:实现学生注册系统

    12.1    设计文档

        12.1.1    文档结构

        12.1.2    设计评审

    12.2    测试计划

    12.3    项目计划

    12.4    编程

    12.5    渐进式开发

    12.6    学生注册系统的设计和编程

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

        12.6.2    设计注册事务

        12.6.3    部分注册事务程序

    参考书目    练习

第13章    查询处理基础

    13.1    外部排序

    13.2    计算投影,并和差

    13.3    计算选择

        13.3.1    具有简单条件的选择

        13.3.2    存取路径

        13.3.3    具有复杂条件的选择

    13.4    计算联结

        13.4.1    用嵌套循环来计算联结

        13.4.2    排序-合并联结

        13.4.3    散列联结

    13.5    多关系联结

    13.6    计算聚合函数

    13.7    调优问题:对物理数据库设计的影响

    参考书目    练习

第14章    查询优化概述

    14.1    查询处理概述

    14.2    基于代数等价的启发式优化

    14.3    估计查询执行计划的代价

    14.4    估计输出的大小

    14.5    选择计划

    14.6    调整问题:对查询设计的影响

    参考书目    练习

第15章    事务处理概述

    15.1    隔离性

        15.1.1    可串行化

        15.1.2    两段锁

        15.1.3    死锁

        15.1.4    关系数据库中的锁

        15.1.5    隔离级别

        15.1.6    锁粒度和意向锁

        15.1.7    用意向锁的可串行化封锁策略

        15.1.8    总结

    15.2    原子性和持久性

        15.2.1    先写日志

        15.2.2    从大规模存储器失效中恢复

    15.3    实现分布式事务

        15.3.1    原子性和持久性——两阶段提交协议

        15.3.2    全局可串行性和死锁

        15.3.3    复制

        15.3.4    总结

    参考书目    练习

                    第三部分            数据库的高级主题

第16章    对象数据库

    16.1    关系数据模型的缺点

    16.2    发展历史

    16.3    概念上的对象数据模型

        16.3.1    对象和值

        16.3.2    类

        16.3.3    类型

        16.3.4    对象-关系数据库

    16.4    ODMG标准

        16.4.1    ODL:ODMG对象定义语言

        16.4.2    OQL:ODMG对象查询语言

        16.4.3    ODMG中的事务

        16.4.4    ODMG中的对象操纵

        16.4.5    语言绑定

    16.5    SQL:1999中的对象

        16.5.1    行类型

        16.5.2    用户定义类型

        16.5.3    对象

        16.5.4    查询用户定义类型

        16.5.5    更新用户定义类型

        16.5.6    引用类型

        16.5.7    集合类型

    16.6    公共对象请求代理体系结构

        16.6.1    CORBA基础

        16.6.2    CORBA和数据库

    16.7    小结

    参考书目    练习

第17章    XML和Web数据

    17.1    半结构化数据

    17.2    XML概述

        17.2.1    XML元素和数据库对象

        17.2.2    XML属性

        17.2.3    命名空间

        17.2.4    文档类型定义

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

    17.3    XML Schema

        17.3.1    XML Schema和命名空间

        17.3.2    简单类型

        17.3.3    复杂类型

        17.3.4    一个完整的Schema文档

        17.3.5    完整性约束

    17.4    XML查询语言

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

        17.4.2    XSLT:XML的一种转换语言

        17.4.3    XQuery:XML的一个功能完善的查询语言

        17.4.4    小结

    参考书目    练习

第18章    分布式数据库

    18.1    应用设计者对数据库的观点

    18.2    在不同数据库中分布数据

        18.2.1    分段

        18.2.2    更新和分段

        18.2.3    复制

    18.3    查询策略

        18.3.1    全局查询优化

        18.3.2    多数据库系统的策略

        18.3.3    调整问题:分布式环境下的数据库设计和查询计划

    参考书目    练习

第19章    OLAP和数据挖掘

    19.1    OLAP和数据仓库

    19.2    OLAP应用的多维模型

    19.3    聚合

        19.3.1    下钻,上卷,切片和切块

        19.3.2    CUBE操作符

    19.4    ROLAP和MOLAP

    19.5    实现中的一些问题

    19.6    数据挖掘

    19.7    数据仓库的数据载入

    参考书目    练习

                    第四部分            事务处理

第20章    事务的ACID性质

    20.1    一致性

    20.2    原子性

    20.3    持久性

    20.4    隔离性

    20.5    事务的ACID性质

    参考书目    练习

第21章    事务模型

    21.1    平坦事务

    21.2    提供事务的结构

        21.2.1    存储点

        21.2.2    分布式事务

        21.2.3    嵌套事务

        21.2.4    多级事务

    21.3    把应用分解为多个事务

        21.3.1    链式事务

        21.3.2    用可恢复队列调度事务

        21.3.3    扩展事务

        21.3.4    工作流和工作流管理系统

    参考书目    练习

第22章    事务处理系统的体系结构

    22.1    集中式系统中的事务处理

        22.1.1    单用户系统的组织

        22.1.2    集中式多用户系统的组织

    22.2    分布式系统上的事务处理

        22.2.1    分布式系统的组织

        22.2.2    会话和上下文信息

        22.2.3    队列事务处理

    22.3    异构系统和TP监控器

        22.3.1    事务管理器

        22.3.2    TP监控器

    22.4    TP监控器:通信和全局原子性

        22.4.1    远程过程调用

        22.4.2    对等通信

        22.4.3    事务中异常情况的处理

    22.5    因特网上的事务处理

        22.5.1    一般的体系结构

        22.5.2    因特网上事务处理的组织

    参考书目    练习

第23章    隔离性的实现

    23.1    调度和等价调度

        23.1.1    串行化

        23.1.2    冲突等价与观察等价

        23.1.3    串行图

    23.2    可恢复性,级联异常中止和严格性

    23.3    并发控制的模型

    23.4    立即更新的悲观并发控制策略

        23.4.1    避免冲突

        23.4.2    死锁

    23.5    立即更新的悲观并发控制的设计

        23.5.1    锁集和等待集的实现

        23.5.2    两段锁

        23.5.3    锁的粒度

    23.6    对象和语义交换*

    23.7    结构化事务模型中的隔离

        23.7.1    存储点

        23.7.2    链式事务

        23.7.3    可恢复队列

        23.7.4    嵌套事务

        23.7.5    多级事务

    23.8    其他的并发控制

        23.8.1    时间戳顺序的并发控制

        23.8.2    乐观的并发控制

    参考书目    练习

第24章    关系数据库中的隔离性

    24.1    加锁

        24.1.1    幻影

        24.1.2    谓词加锁

    24.2    加锁与SQL隔离级别

        24.2.1    更新丢失,游标稳定性和更新锁

        24.2.2    案例研究:正确性和非可串行级调度——学生注册系统

        24.2.3    可串行化,SERIALIZABLE和正态的

    24.3    粒度加锁:概念锁和索引锁

        24.3.1    索引锁:无幻影的粒度加锁

        24.3.2    对象数据库里的粒度加锁*

    24.4    系统性能的改进

    24.5    多版本并发控制

        24.5.1    只读型的多版本并发控制

        24.5.2    读取一致性的多版本并发控制

        24.5.3    SNAPSHOT隔离级别

    参考书目    练习

第25章    原子性和持久性

    25.1    崩溃,异常终止和介质故障

    25.2    直接型更新系统和先写型日志

        25.2.1    性能和先写型登录

        25.2.2    检测点和恢复

        25.2.3    逻辑型登录和物理逻辑型登录*

    25.3    延迟更新系统的恢复

    25.4    介质故障的恢复

    参考书目    练习

第26章    分布式事务的实现

    26.1    ACID特性的实现

    26.2    原子终止

        26.2.1    两阶段提交协议

        26.2.2    两阶段提交协议中故障的处理

        26.2.3    格式和协议:X/Open标准

        26.2.4    对等原子提交协议

    26.3    协调的传递

        26.3.1    线性提交协议

        26.3.2    无准备状态的两阶段提交协议

    26.4    分布式死锁

    26.5    全局可串行化

    26.6    不能保证全局原子性的场合

    26.7    复制数据库

        26.7.1    同步更新复制系统

        26.7.2    异步更新复制系统

    26.8    现实世界里的分布式事务

    参考书目    练习

第27章    安全性与因特网商务

    27.1    认证,授权与加密

    27.2    加密

    27.3    数字签名

    27.4    密钥发布与认证

        27.4.1    Kerberos协议:票据

        27.4.2    临时串

    27.5    授权

    27.6    已认证的远程过程调用

    27.7    因特网商务

        27.7.1    SSL协议:证书

        27.7.2    SET协议:对偶签名

        27.7.3    货物原子性,托管与已认证交付

        27.7.4    电子现金:盲签名

    参考书目    练习

                    附录

附录A    关于系统的问题

附录B    参考文献

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,591评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,448评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,823评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,204评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,228评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,190评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,078评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,923评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,334评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,550评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,727评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,428评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,022评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,672评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,826评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,734评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,619评论 2 354

推荐阅读更多精彩内容