第1部分 数据库概念
第1章 数据库系统
1.1 数据与信息
1.2 数据库和数据库管理系统简介
1.2.1 DBMS的作用和优势
1.2.2 数据库类型
1.3 数据库设计为什么很重要
1.4 历史根源:文件和文件系统
1.5 文件系统数据管理存在的问题
1.5.1 结构依赖和数据依赖
1.5.2 字段定义和命名规范
1.5.3 数据冗余
1.6 数据库系统
1.6.1 数据库系统环境
1.6.2 DBMS功能
1.6.3 管理数据库系统:焦点转移
本章小结
思考题
习题
第2章 数据模型
2.1 数据建模及数据模型
2.2 数据模型的重要性
2.3 数据模型基本组成
2.4 业务规则
2.4.1 发现业务规则
2.4.2 将业务规则转化成数据模型组件
2.5 数据模型的发展
2.5.1 层次模型
2.5.2 网状模型
2.5.3 关系模型
2.5.4 实体联系模型
2.5.5 面向对象模型
2.5.6 数据模型合并
2.5.7 数据库模型和互联网
2.5.8 数据模型:总结
2.6 数据抽象程度
2.6.1 外模型
2.6.2 概念模型
2.6.3 内模型
2.6.4 物理模型
本章总结
思考题
习题
第2部分 数据库设计概念
第3章 关系数据库模型
3.1 数据的逻辑视图
3.1.1 表及其特性
3.2 码
3.3 完整性规则
3.4 关系集合操作
3.5 数据字典和系统目录
3.6 关系数据库中的联系
3.6.1 1:M联系
3.6.2 1:1联系
3.6.3 M:N联系
3.7 再论数据冗余
3.8 索引
3.9 Codd的关系数据库规则
本章总结
思考题
习题
第4章 实体联系(ER)模型
4.1 实体联系模型(ERM)
4.1.1 实体
4.1.2 属性
4.1.3 联系
4.1.4 互连和基数
4.1.5 存在依赖性
4.1.6 联系强度
4.1.7 弱实体
4.1.8 联系的参与
4.1.9 联系的度
4.1.10 递归联系
4.1.11 联合(复合)实体
4.2 开发ER图
4.3 数据库设计挑战:冲突目标
本章总结
思考题
习题
第5章 数据库表的规范化
5.1 数据库表和规范化
5.2 规范化的需求
5.3 规范化处理
5.3.1 转化为第一范式
5.3.2 转化为第二范式
5.3.3 转化为第三范式
5.4 改进数据库设计
5.5 代理码的考虑
5.6 高阶范式
5.6.1 鲍依斯-科得范式(BCNF)
5.6.2 第四范式(4NF)
5.7 规范化和数据库设计
5.8 反规范化
本章总结
思考题
习题
第6章 高级数据建模
6.1 扩展实体关系模型
6.1.1 实体超类和实体子类
6.1.2 特殊化层次结构
6.1.3 继承
6.1.4 子类辨识器
6.1.5 不相交/重叠约束
6.1.6 完备性约束
6.1.7 特殊化与一般化
6.2 实体簇
6.3 实体完整性与主码选择
6.3.1 自然码与主码
6.3.2 主码选择原则
6.6.3 什么时候使用复合主码
6.3.4 什么时候使用代理主码
6.4 设计实例:学习灵活的数据库设计
6.4.1 设计示例#1:实现1:1型联系
6.4.2 设计示例#2:维护时变数据的历史
6.4.3 设计示例#3:扇形陷阱
6.4.4 设计示例#4:冗余联系
6.5 数据建模一览表
本章总结
思考题
习题
第3部分 高级数据库设计与实现
第4部分 高级数据库概念
第5部分 数据库与Internet
第6部分 数据库与管理
词汇表