背景
第1章 数据库简介
1.1 引言
1.2 传统的基于文件的系统
1.2.1 基于文件的方法
1.2.2 基于文件方法的局限性
1.3 数据库方法
1.3.1 数据库
1.3.2 数据库管理系统(DBMS)
1.3.3 (数据库)应用程序
1.3.4 DBMS环境的组成部分
1.3.5 数据库设计:范型改变
1.4 数据库环境中的各种角色
1.4.1 数据管理员和数据库管理员
1.4.2 数据库设计人员
1.4.3 应用开发人员
1.4.4 终端用户
1.5 数据库管理系统的历史
1.6 DBMS的优点和缺点
本章小结 思考题 习题 扩展阅读
第2章 数据库环境
2.1 ANSI-SPARC三层体系结构
2.1.1 外部层
2.1.2 概念层
2.1.3 内部层
2.1.4 模式,映射和实例
2.1.5 数据独立性
2.2 数据库语言
2.2.1 数据定义语言(DDL)
2.2.2 数据操作语言(DML)
2.2.3 第四代语言
2.3 数据建模和概念建模
2.3.1 基于对象的数据模型
2.3.2 基于记录的数据模型
2.3.3 物理数据模型
2.3.4 概念建模
2.4 DBMS的功能
本章小结 思考题 习题 扩展阅读
第3章 数据库的结构与Web
3.1 多用户DBMS结构
3.1.1 远程处理
3.1.2 文件服务器结构
3.1.3 传统的两层客户-服务器结构
3.1.4 三层客户-服务器结构
3.1.5 N层客户-服务器结构
3.1.6 中间件
3.1.7 事务处理监视器
3.2 Web服务与面向服务的结构
3.2.1 Web服务
3.2.2 面向服务的结构(SOA)
3.3 分布式DBMS
3.4 数据仓库
3.5 云计算
3.5.1 云计算的好处与风险
3.5.2 基于云的数据库方案
3.6 DBMS的组件
3.7 Oracle的体系结构
3.7.1 Oracle的逻辑数据库结构
3.7.2 Oracle的物理数据库结构
本章小结 思考题 习题 扩展阅读
第二部分 关系模型与语言
第4章 关系模型
4.1 关系模型简史
4.2 基本术语
4.2.1 关系数据结构
4.2.2 数学中的关系
4.2.3 数据库中的关系
4.2.4 关系的性质
4.2.5 关系关键字
4.2.6 关系数据库模式的表示
4.3 完整性约束
4.3.1 空
4.3.2 实体完整性
4.3.3 引用完整性
4.3.4 一般性约束
4.4 视图
4.4.1 术语
4.4.2 视图的用途
4.4.3 视图的更新
本章小结 思考题 习题 扩展阅读
第5章 关系代数与关系演算
5.1 关系代数
5.1.1 一元运算
5.1.2 集合运算
5.1.3 连接运算
5.1.4 除法运算
5.1.5 聚集运算和分组运算
5.1.6 关系代数运算小结
5.2 关系演算
5.2.1 元组关系演算
5.2.2 域关系演算
本章小结 思考题 习题 扩展阅读
第6章 SQL:数据操作
6.1 SQL简介
6.1.1 SQL的目标
6.1.2 SQL的历史
6.1.3 SQL的重要性
6.1.4 术语
6.2 书写SQL命令
6.3 数据操作
6.3.1 简单查询
6.3.2 查询结果排序(ORDER BY子句)
6.3.3 使用SQL聚集函数
6.3.4 查询结果分组(GROUP BY子句)
6.3.5 子查询
6.3.6 ANY和ALL
6.3.7 多表查询
6.3.8 EXISTS和NOT EXISTS
6.3.9 合并结果表(UNION,INTERSECT和EXCEPT)
6.3.10 数据库更新
本章小结 思考题 习题
第7章 SQL:数据定义
7.1 ISO SQL数据类型
7.1.1 SQL标识符
7.1.2 SQL标量数据类型
7.2 完整性增强特性
7.2.1 必须有值的数据
7.2.2 域约束
7.2.3 实体完整性
7.2.4 引用完整性
7.2.5 一般性约束
7.3 数据定义
7.3.1 创建数据库
7.3.2 创建表(CREATE TABLE)
7.3.3 修改表定义(ALTER TABLE)
7.3.4 删除表(DROP TABLE)
7.3.5 创建索引(CREATE INDEX)
7.3.6 删除索引(DROP INDEX)
7.4 视图
7.4.1 创建视图(CREATE VIEW)
7.4.2 删除视图(DROP VIEW)
7.4.3 视图分解
7.4.4 视图的局限性
7.4.5 视图的可更新性
7.4.6 WITH CHECK OPTION
7.4.7 视图的优缺点
7.4.8 视图物化
7.5 事务
7.6 自主访问控制
7.6.1 授予其他用户权限(GRANT)
7.6.2 撤销用户权限(REVOKE)
本章小结 思考题 习题 扩展阅读
第8章 高级SQL
8.1 SQL编程语言
8.1.1 声明
8.1.2 赋值
8.1.3 控制语句
8.1.4 PL/SQL的异常
8.1.5 PL/SQL的游标
8.2 子程序,存储过程,函数和包
8.3 触发器
8.4 递归
本章小结 思考题 习题 扩展阅读
第9章 对象关系DBMS
9.1 高级数据库应用
9.2 RDBMS的缺点
9.3 在关系数据库中存储对象
9.3.1 将类映射为关系
9.3.2 访问关系数据库中的对象
9.4 对象关系数据库系统简介
9.5 SQL:2011
9.5.1 行类型
9.5.2 用户自定义类型
9.5.3 子类型和超类型
9.5.4 用户自定义例程
9.5.5 多态性
9.5.6 引用类型和对象标识
9.5.7 创建表
9.5.8 数据查询
9.5.9 集类型
9.5.10 类型视图
9.5.11 持久化存储模块
9.5.12 触发器
9.5.13 大对象
9.5.14 递归
9.6 Oracle中面向对象的扩展
9.6.1 用户自定义数据类型
9.6.2 操作对象表
9.6.3 对象视图
9.6.4 权限
本章小结 思考题 习题 扩展阅读
第三部分 数据库分析与设计
第10章 数据库系统开发生命周期
10.1 信息系统生命周期
10.2 数据库系统开发生命周期
10.3 数据库规划
10.4 系统定义
10.5 需求收集与分析
10.5.1 集中式方法
10.5.2 视图集成方法
10.6 数据库设计
10.6.1 数据库设计方法
10.6.2 数据建模
10.6.3 数据库设计的阶段划分
10.7 DBMS选型
10.8 应用程序设计
10.8.1 事务设计
10.8.2 用户界面设计指南
10.9 建立原型系统
10.10 实现
10.11 数据转换与加载
10.12 测试
10.13 运行维护
10.14 CASE工具
本章小结 思考题 习题 扩展阅读
第11章 数据库分析与DreamHome案例研究
11.1 使用实况发现技术的时机
11.2 收集实况的类型
11.3 实况发现技术
11.3.1 分析文档资料
11.3.2 面谈
11.3.3 观察企业的运作
11.3.4 研究
11.3.5 问卷调查
11.4 使用实况发现技术的实例
11.4.1 DreamHome案例研究——概述
11.4.2 DreamHome案例研究——数据库规划
11.4.3 DreamHome案例研究——系统定义
11.4.4 DreamHome案例研究——需求收集与分析
11.4.5 DreamHome案例研究——数据库设计
本章小结 思考题 习题 扩展阅读
第12章 实体-联系建模
12.1 实体类型
12.2 联系类型
12.2.1 联系类型的度
12.2.2 递归联系
12.3 属性
12.3.1 简单属性和组合属性
12.3.2 单值属性和多值属性
12.3.3 导出属性
12.3.4 关键字
12.4 强实体类型与弱实体类型
12.5 联系的属性
12.6 结构化约束
12.6.1 一对一(1:1)联系
12.6.2 一对多(1:*)联系
12.6.3 多对多(*:*)联系
12.6.4 复杂联系的多重性
12.6.5 基数约束和参与性约束
12.7 ER模型的问题
12.7.1 扇形陷阱
12.7.2 断层陷阱
本章小结 思考题 习题 扩展阅读
第13章 增强的实体-联系建模
13.1 特殊化/泛化
13.1.1 超类和子类
13.1.2 超类/子类联系
13.1.3 属性的继承
13.1.4 特殊化过程
13.1.5 泛化过程
13.1.6 特殊化/泛化的约束
13.1.7 基于DreamHome案例研究的Branch视图特殊化/泛化建模示例
13.2 聚合
13.3 组合
本章小结 思考题 习题 扩展阅读
第14章 规范化
14.1 规范化的目的
14.2 规范化对数据库设计的支持
14.3 数据冗余与更新异常
14.3.1 插入异常
14.3.2 删除异常
14.3.3 修改异常
14.4 函数依赖
14.4.1 函数依赖的特征
14.4.2 识别函数依赖
14.4.3 利用函数依赖确定主关键字
14.5 规范化过程
14.6 第一范式(1NF)
14.7 第二范式(2NF)
14.8 第三范式(3NF)
14.9 2NF和3NF的一般化定义
本章小结 思考题 习题 扩展阅读
第15章 进一步规范化
15.1 函数依赖的进一步讨论
15.1.1 函数依赖的推导规则
15.1.2 最小函数依赖集
15.2 Boyce-Codd范式(BCNF)
15.3 规范化到BCNF的过程小结
15.4 第四范式(4NF)
15.4.1 多值依赖
15.4.2 第四范式的定义
15.5 第五范式(5NF)
15.5.1 无损连接依赖
15.5.2 第五范式的定义
本章小结 思考题 习题 扩展阅读
第四部分 方法学
第16章 方法学——概念数据库设计
16.1 数据库设计方法学简介
16.1.1 什么是设计方法学
16.1.2 概念,逻辑和物理数据库设计
16.1.3 成功设计数据库的关键因素
16.2 数据库设计方法学概述
16.3 概念数据库设计方法学
步骤1 建立概念数据模型
本章小结 思考题 习题
第17章 方法学——关系模型的逻辑数据库设计
17.2 关系模型的逻辑数据库设计方法学
步骤2 建立逻辑数据模型
本章小结 思考题 习题 扩展阅读
第18章 方法学——关系数据库的物理数据库设计
18.1 逻辑数据库设计与物理数据库设计的比较
18.2 物理数据库设计方法学概述
18.3 关系数据库的物理数据库设计方法学
步骤3 转换逻辑数据模型以适应目标DBMS
步骤4 设计文件组织方法和索引
步骤5 设计用户视图
步骤6 设计安全机制
本章小结 思考题 习题
第19章 方法学——运行时系统的监控与调优
19.1 逆规范化与可控冗余的引入
步骤7 考虑引入可控冗余
19.2 监控系统以提高性能
步骤8 监控系统和系统调优
本章小结 思考题 习题 扩展阅读
第五部分 可选的数据库专题
第20章 安全与管理
20.1 数据库安全
20.2 对策——基于计算机的控制
20.2.1 授权
20.2.2 访问控制
20.2.3 视图
20.2.4 备份和恢复
20.2.5 完整性
20.2.6 加密
20.2.7 RAID(独立磁盘冗余阵列)
20.3 Microsoft Office Access DBMS的安全机制
20.4 Oracle DBMS的安全机制
20.5 DBMS与Web安全
20.5.1 代理服务器
20.5.2 防火墙
20.5.3 报文摘要算法和数字签名
20.5.4 数字证书
20.5.5 Kerberos
20.5.6 安全套接字和安全HTTP
20.5.7 安全电子交易和安全交易技术
20.5.8 Java安全
20.5.9 AcitiveX安全
20.6 数据管理与数据库管理
20.6.1 数据管理
20.6.2 数据库管理
20.6.3 数据管理与数据库管理的比较
本章小结 思考题 习题 扩展阅读
第21章 数据管理中的职业,法律与道德问题
21.1 定义IT中的法律与道德问题
21.1.1 定义IT中的道德规范
21.1.2 道德行为与合法行为的差别
21.1.3 IT中的道德行为
21.2 若干法规及其对IT功能的影响
21.2.1 美国证券交易委员会(SEC)推出的规制国家市场体系(NMS)
21.2.2 萨班斯-奥克斯利法案,COBIT和COSO
21.2.3 健康保险流通和责任法案(HIPAA)
21.2.4 欧盟数据保护法令1995
21.2.5 英国数据保护法令(DPA)1998
21.2.6 信息访问法规
21.2.7 国际银行业——巴塞尔II协议
21.3 建立守法,道德的数据管理文化
21.3.1 制定本组织内关于法律和道德行为的政策
21.3.2 行业组织和伦理守则
21.3.3 制定DreamHome组织内部关于法律和道德行为的政策
21.4 知识产权
21.4.1 专利
21.4.2 版权
21.4.3 (注册)商标
21.4.4 软件的知识产权问题
21.4.5 数据的知识产权问题
本章小结 思考题 习题 扩展阅读
第22章 事务管理
22.1 支持事务处理
22.1.1 事务的性质
22.1.2 数据库体系结构
22.2 并发控制
22.2.1 并发控制的必要性
22.2.2 可串行性与可恢复性
22.2.3 加锁方法
22.2.4 死锁
22.2.5 时间戳方法
22.2.6 多版本时间戳排序
22.2.7 乐观技术
22.2.8 数据项的粒度
22.3 数据库恢复
22.3.1 恢复的必要性
22.3.2 事务和恢复
22.3.3 恢复机制
22.3.4 恢复技术
22.3.5 分布式DBMS的恢复
22.4 高级事务模型
22.4.1 嵌套事务模型
22.4.2 Saga
22.4.3 多级事务模型
22.4.4 动态重构
22.4.5 工作流模型
22.5 Oracle中的并发控制与恢复
22.5.1 Oracle的隔离级别
22.5.2 多版本读一致性
22.5.3 死锁检测
22.5.4 备份和恢复
本章小结 思考题 习题 扩展阅读
第23章 查询处理
23.1 查询处理概述
23.2 查询解析
23.3 查询优化的启发式方法
23.3.1 关系代数运算的转换规则
23.3.2 启发式处理策略
23.4 关系代数运算的代价估算
23.4.1 数据库的统计信息
23.4.2 选择运算
23.4.3 连接运算
23.4.4 投影运算
23.4.5 关系代数的集合运算
23.5 其他可选的执行策略
23.5.1 流水线
23.5.2 线性树
23.5.3 物理算子和执行策略
23.5.4 缩小搜索空间
23.5.5 枚举左深树
23.5.6 语义查询优化
23.5.7 其他查询优化方法
23.5.8 分布式查询优化
23.6 查询处理与优化
23.7 Oracle的查询优化
23.7.1 基于规则和基于代价的优化
23.7.2 柱状图
23.7.3 查看执行计划
本章小结 思考题 习题 扩展阅读
附录
附录A DreamHome案例研究的用户需求说明
附录B 其他案例研究
附录C 可选的ER建模表示法
附录D 关系数据库设计方法学总结
附录E 轻量级RDBMS:Pyrrho简介
在线资源
附录F 文件组织和索引
附录G 何时可将DBMS视为关系型
附录H 商品化DBMS:Access和Oracle
附录I 程序式SQL
附录J 估算磁盘空间的需求
附录K 面向对象概念介绍
附录L Web脚本示例
附录M 举例查询语言(QBE)
附录N 第三代数据库宣言
附录O Postgres——早期的ORDBMS
参考文献