第一部分 简介<br><br>第1章 数据库和事务概述<br>1.1 什么是数据库和事务<br>1.2 现代数据库和事务处理系统的特性<br>1.3 数据库和事务处理系统的实现和支持中的主要角色<br>1.4 决策支持系统--OLAP和OLTP<br><br>第2章 综述<br>2.1 案例学习:学生选课系统<br>2.2 关系数据库绪论<br>2.3 使程序成为事务--ACID属性<br>参考文献注解<br>习题<br><br>第二部分 数据库管理<br><br>第3章 关系数据模型<br>3.1 什么是数据模型<br>3.2 关系模型<br>3.2.1 基本概念<br>3.2.2 完整性约束<br>3.3 SQL的数据定义子语言<br>3.3.1 定义关系类型<br>3.3.2 系统目录<br>3.3.3 码约束<br>3.3.4 处理缺失信息<br>3.3.5 语义约束<br>3.3.6 用户定义的域<br>3.3.7 外码约束<br>3.3.8 反应性约束<br>3.3.9 数据库视图<br>3.3.10 修改已有定义<br>3.3.11 SQL模式<br>3.3.12 访问控制<br>参考文献注解<br>习题<br><br>第4章 用E-R图和UML构建数据库的概念模型<br>4.1 用E-R方法进行概念建模<br>4.2 实体和实体类型<br>4.3 联系和联系类型<br>4.4 概念数据建模中的高级特性<br>4.4.1 实体类型层次<br>4.4.2 参与约束<br>4.4.3 part of联系<br>4.5 从E-R图到关系数据库模式<br>4.5.1 实体的表示法<br>4.5.2 联系的表示法<br>4.5.3 在关系模型中表示IsA层次<br>4.5.4 参与约束的表示法<br>4.5.5 part of联系的表示法<br>*4.6 UML:一种新方法<br>4.6.1 在UML中表示实体<br>4.6.2 在UML中表示联系<br>4.6.3 UML中的高级建模概念<br>4.6.4 转换为SQL<br>4.7 一个经纪公司的例子<br>4.7.1 实体-联系设计<br>*4.7.2 UML设计<br>4.8 案例学习:学生注册系统的数据库设计<br>4.8.1 需求文档的数据库部分<br>4.8.2 数据库设计<br>4.9 数据建模方法的局限性<br>参考文献注解<br>习题<br><br>第5章 关系代数和SQL<br>5.1 关系代数:SQL的秘密<br>5.1.1 基本运算符<br>5.1.2 导出运算符<br>5.2 SQL的查询子语言<br>5.2.1 简单SQL查询<br>5.2.2 集合运算<br>5.2.3 嵌套查询<br>5.2.4 量化谓词<br>5.2.5 数据上的聚集<br>5.2.6 FROM子句中的连接表达式<br>5.2.7 一个简单的查询求值算法<br>5.2.8 再谈SQL中的视图<br>5.2.9 物化视图<br>5.2.10 NULL值的两难问题<br>5.3 在 SQL中修改关系实例<br>5.3.1 插入数据<br>5.3.2 删除数据<br>5.3.3 更新现有的数据<br>5.3.4 视图上的更新<br>参考文献注解<br>习题<br><br>第6章 用关系规范化理论设计数据库<br>6.1 冗余问题<br>6.2 分解<br>6.3 函数依赖<br>6.4 函数依赖的特性<br>6.5 范式<br>6.5.1 Boyce Codd范式<br>6.5.2 第三范式<br>6.6 分解的特性<br>6.6.1 无损分解和有损分解<br>6.6.2 保持依赖分解<br>6.7 BCNF分解的一个算法<br>6.8 3NF模式的合成<br>6.8.1 最小覆盖<br>6.8.2 通过模式合成进行3NF分解<br>6.8.3 通过3NF合成得到BCNF分解<br>6.9 第四范式<br>*6.10 高级4NF设计<br>6.10.1 MVD及它们的特性<br>6.10.2 4NF的设计难点<br>6.10.3 如何进行4NF分解<br>6.11 范式分解总结<br>6.12 案例学习:学生注册系统的模式细化<br>6.13 调优问题:分解还是不分解<br>参考文献注解<br>习题<br><br>第7章 触发器和主动数据库<br>7.1 什么是触发器<br>7.2 触发器处理中的语义问题<br>7.3 SQL∶1999中的触发器<br>7.4 避免链式反应<br>参考文献注解<br>习题<br><br>第8章 在应用中使用SQL<br>8.1 所涉及的主要问题<br>8.2 嵌入式SQL<br>8.2.1 状态处理<br>8.2.2 会话、连接和事务<br>8.2.3 执行事务<br>8.2.4 游标<br>8.2.5 服务器上的存储过程<br>8.3 深入完整性约束<br>8.4 动态SQL<br>8.4.1 动态SQL中的语句准备<br>*8.4.2 预备语句和描述符区域<br>8.4.3 游标<br>8.4.4 服务器上的存储过程<br>8.5 JDBC和SQLJ<br>8.5.1 JDBC基础<br>8.5.2 预备语句<br>8.5.3 结果集和游标<br>8.5.4 获得关于结果集的信息<br>8.5.5 状态处理<br>8.5.6 执行事务<br>8.5.7 服务器上的存储过程<br>8.5.8 一个例子<br>8.5.9 SQLJ:面向Java的语句级接口<br>*8.6 ODBC<br>8.6.1 预备语句<br>8.6.2 游标<br>8.6.3 状态处理<br>8.6.4 执行事务<br>8.6.5 服务器上的存储过程<br>8.6.6 一个例子<br>8.7 比较<br>参考文献注解<br>习题<br><br>第三部分 数据库管理系统性能优化和事务处理<br><br>第9章 物理数据组织与索引<br>9.1 磁盘组织<br>9.2 堆文件<br>9.3 顺序文件<br>9.4 索引<br>9.4.1 聚集索引与非聚集索引<br>9.4.2 稀疏索引与稠密索引<br>9.4.3 搜索码包含多个属性<br>9.5 多级索引<br>9.5.1 索引顺序访问<br>9.5.2 B+树<br>9.6 散列索引<br>9.6.1 静态散列<br>9.6.2 动态散列算法<br>9.7 特殊用途索引<br>9.7.1 位图索引<br>9.7.2 连接索引<br>9.8 调优问题:为应用选择索引<br>参考文献注解<br>习题<br><br>第10章 查询处理基础<br>10.1 查询处理概述<br>10.2 外部排序<br>10.3 投影、集合并与集合差<br>10.4 选择<br>10.4.1 简单条件的选择<br>10.4.2 访问路径<br>10.4.3 复杂条件的选择<br>10.5 连接<br>10.5.1 简单的嵌套循环连接<br>10.5.2 归并连接<br>10.5.3 散列连接<br>*10.6 多关系连接<br>10.7 聚集函数<br>参考文献注解<br>习题<br><br>第11章 查询优化概述<br>11.1 查询处理的架构<br>11.2 基于关系代数等价性的启发式优化<br>11.3 查询执行计划的开销估计<br>11.4 输出结果大小的估计<br>11.5 选择一个计划<br>参考文献注解<br>习题<br><br>第12章 数据库调优<br>12.1 磁盘高速缓存<br>12.2 模式调优<br>12.2.1 索引<br>12.2.2 反向规范化<br>12.2.3 重复组<br>12.2.4 分片<br>12.3 数据操纵语言调优<br>12.4 工具<br>12.5 管理物理资源<br>12.6 影响优化器<br>参考文献注解<br>习题<br><br>第13章 事务处理概述<br>13.1 隔离性<br>13.1.1 可串行性<br>13.1.2 两阶段加锁<br>13.1.3 死锁<br>13.1.4 关系数据库加锁<br>13.1.5 隔离级别<br>13.1.6 加锁粒度与意向锁<br>13.1.7 小结<br>13.2 原子性与持久性<br>13.2.1 先写式日志<br>13.2.2 从大容量存储器故障中恢复<br>13.3 实现分布式事务<br>13.3.1 原子性与持久性--两阶段提交协议<br>13.3.2 全局可串行性与死锁<br>13.3.3 复制<br>13.3.4 小结<br>参考文献注解<br>习题<br><br>第四部分 软件工程问题和文档<br><br>第14章 需求与规约<br>14.1 软件工程方法学<br>14.2 学生注册系统的需求文档<br>14.3 需求分析--新的问题<br>14.4 学生注册系统的规约说明<br>14.5 学生注册系统的规约文档:第III部分<br>14.6 软件工程过程的下一步<br>参考文献注解<br>习题<br><br>第15章 设计、编码与测试<br>15.1 设计过程<br>15.1.1 数据库设计<br>15.1.2 用UML状态图描述对象的行为<br>15.1.3 设计文档的结构<br>15.1.4 设计评审<br>15.2 测试计划<br>15.3 项目计划<br>15.4 编码<br>15.5 增量开发<br>15.6 项目管理计划<br>15.7 学生注册系统的设计与编码<br>15.7.1 完成数据库设计:完整性约束<br>15.7.2 注册事务的设计<br>15.7.3 注册事务的部分代码<br>参考文献注解<br>习题<br><br>第五部分 数据库高级主题<br><br>第16章 对象数据库介绍<br>16.1 关系数据模型的不足<br>16.2 概念对象数据模型<br>16.2.1 对象与值<br>16.2.2 类<br>16.2.3 类型<br>16.2.4 对象-关系数据库<br>16.3 SQL∶1999和SQL∶2003中的对象<br>16.3.1 行类型<br>16.3.2 用户定义类型<br>16.3.3 对象<br>16.3.4 查询用户定义类型<br>16.3.5 更新用户定义类型<br>16.3.6 引用类型<br>16.3.7 继承<br>16.3.8 集合类型<br>参考文献注解<br>习题<br><br>第17章 XML和Web数据介绍<br>17.1 半结构化数据<br>17.2 XML概述<br>17.2.1 XML元素与数据库对象<br>17.2.2 XML属性<br>17.2.3 命名空间<br>17.2.4 DTD<br>17.2.5 DTD作为数据定义语言的不足<br>17.3 XML模式<br>17.3.1 XML模式和命名空间<br>17.3.2 简单类型<br>17.3.3 复杂类型<br>17.3.4 整合<br>17.3.5 捷径:匿名类型与元素引用<br>17.3.6 完整性约束<br>17.4 XML查询语言<br>17.4.1 XPath:一种轻量级的XML查询语言<br>17.4.2 SQL/XML<br>参考文献注解<br>习题<br><br>参考文献<br>索引
展开