第1章 数据库系统引论 1
1.1 基本概念 1
目录 1
1.2 本章重点与难点 2
1.2.1 数据管理的发展及其特点 2
1.2.2 数据模型和数据模式的根本区别 3
1.2.3 文件系统和数据库系统的根本区别 3
1.2.6 数据的独立性 4
1.2.7 数据模型的分级 4
1.2.5 概念数据模型和概念数据模式的区别 4
1.2.4 数据库系统的组成 4
1.2.8 数据模式的分级 5
1.2.9 数据库的生存周期 5
1.3 习题 5
第2章 数据模型 11
2.1 基本概念 11
2.1.1 记录和字段 11
2.1.2 数据模型 11
2.1.3 虚拟记录 12
2.1.4 系 12
2.1.5 属性和域 12
2.1.9 完整性约束 13
2.1.8 关系的存储技术 13
2.1.10 关系数据模型的形式定义 13
2.1.6 关系键 13
2.1.7 关系子模式 13
2.1.11 关系代数 14
2.1.12 扩充的关系代数操作 15
2.1.13 关系演算 15
2.1.14 关系操作的安全性 16
2.1.15 E-R数据模型 16
2.1.16 扩充E-R数据模型 17
2.1.17 对象 17
2.1.20 基于逻辑的数据模型 18
2.2 本章重点与难点 18
2.2.1 关系代数的专用操作 18
2.1.19 集合类 18
2.1.18 子类与超类 18
2.2.2 关系的集合操作 19
2.2.3 关系的连接操作 19
2.2.4 关系的除法操作 20
2.2.5 关系的数据完整性约束 20
2.2.6 关系的性质 20
2.2.7 关系演算 20
2.3 典型例题分析 21
2.4 习题 23
第3章 关系数据库语言 33
3.1 基本概念 33
3.2 本章重点与难点 41
3.2.1 数据库语言与宿主语言的区别 41
3.2.2 基表与视图的区别和联系 41
3.2.4 SQL的数值型统计函数 42
3.2.5 SQL的基本查询格式 42
3.2.3 在WHERE子句中条件表达式中的运算符号及优先级 42
3.2.6 比较复杂的SQL查询语句 43
3.2.7 嵌入式SQL的基本概念 43
3.3 典型例题分析 43
3.4 习题 49
第4章 数据库管理系统引论 65
4.1 基本概念 65
4.1.1 数据库管理系统 65
4.1.2 事务 65
4.1.3 DBMS的进程结构 65
4.1.4 分时环境下的集中式数据库系统结构 66
4.1.5 网络环境下的客户/服务器结构 66
4.2 本章重点与难点 67
4.2.1 事务的基本性质(ACID准则) 67
4.1.6 物理上分布、逻辑上集中的分布式数据库结构 67
4.1.8 数据目录 67
4.1.7 物理上分布、逻辑上分布的分布式数据库结构 67
4.2.2 数据目录与一般表的区别 68
4.2.3 DBMS的工作原理和组成结构 68
4.2.4 DBMS的系统结构 68
4.3 习题 69
第5章 数据库的存储结构 74
5.1 基本概念 74
5.1.1 数据库存储介质 74
5.1.3 记录在物理块上的分配 75
5.1.4 物理块在磁盘上的分配 75
5.1.2 记录的存储结构 75
5.1.5 数据压缩技术 76
5.1.6 索引文件的类型 76
5.1.7 动态索引 78
5.1.8 动态散列 78
5.2 本章重点与难点 78
5.2.1 数据库的文件结构与传统文件结构的区别 78
5.2.2 文件访问的方式 79
5.2.3 文件中记录的组织方式 79
5.3 习题 80
6.1.4 查询优化 83
6.1.3 查询语言 83
6.1.2 查询处理 83
6.1.1 查询 83
6.1 基本概念 83
第6章 查询处理和优化 83
6.2 本章重点与难点分析 84
6.2.1 查询优化的意义 84
6.2.2 关系代数表达式的优化 84
6.2.3 关系代数表达式的等价变换规则 84
6.2.4 查询优化树 86
6.2.5 查询优化的一般策略 86
6.2.6 依赖于存取路径的规则优化 87
6.2.7 代价估算优化 88
6.3 典型例题分析 90
6.4 习题 98
7.1.4 恢复 107
7.1.3 备份和恢复 107
7.1.2 事务管理 107
7.1 基本概念 107
第7章 事务管理 107
7.1.1 事务 107
7.1.5 运行记录的结构 109
7.1.6 更新事务的执行与恢复 109
7.1.7 故障的种类 109
7.1.8 并发 110
7.1.9 并发的目的 110
7.1.10 并发带来的三个问题 110
7.1.11 并发控制 111
7.1.12 合式事务 111
7.1.17 活锁 112
7.1.19 事务的时间标记 112
7.1.18 索引的并发控制 112
7.1.14 多粒度封锁 112
7.1.16 死锁 112
7.1.15 调度的可串行化 112
7.1.13 单粒度封锁 112
7.1.20 时间标记协议 113
7.1.21 多版本并发控制 113
7.1.22 乐观并发控制 113
7.2 本章重点与难点 113
7.2.1 可串行化调度与串行调度的区别 113
7.2.2 并发控制 113
7.2.6 数据库故障的种类与恢复方法 114
7.2.5 并发控制的正确性准则 114
7.2.4 预防和解决死锁的方法 114
7.2.3 死锁的检测方法 114
7.2.7 事务恢复 115
7.2.8 SQL对并发控制支持的几个要点 116
7.2.9 锁粒度的问题及相应的意向锁思想 116
7.3 典型例题分析 116
7.4 习题 117
第8章 数据库的安全性和完整性约束 128
8.1 基本概念 128
8.1.1 数据库的安全 128
8.1.2 视图定义 128
8.1.3 查询修改 128
8.1.4 访问控制 128
8.1.5 访问控制 129
8.1.6 统计数据库的安全 130
8.1.7 数据库的完整性 130
8.1.8 完整性 130
8.2 本章重点与难点 131
8.2.1 安全性与完整性的区别 131
8.2.2 数据库的安全性措施 132
8.2.3 完整性约束的类型 132
8.2.4 完整性约束的说明 132
8.2.5 完整性约束的实施 133
8.2.6 保持数据库的完整性的方法 134
8.3 典型例题分析 134
8.4 习题 135
9.1 基本概念 143
9.1.1 函数依赖 143
第9章 数据依赖和关系模式的规范化 143
9.1.2 逻辑蕴涵 144
9.1.3 A氏公理 144
9.1.4 推理规则 144
9.1.5 函数依赖的闭包 144
9.1.6 属性集X关于F的闭包X+ 144
9.1.7 覆盖 145
9.1.8 最小函数依赖集(或最小覆盖) 145
9.1.9 多值依赖 145
9.1.10 多值依赖的推理规则 145
9.1.13 函数依赖集的投影 146
9.1.14 关系模式的规范化 146
9.1.12 关系模式的分解 146
9.1.11 数据依赖 146
9.2 本章重点与难点 147
9.2.1 函数依赖和键的关系 147
9.2.2 范式 147
9.2.3 数据依赖公理 148
9.2.4 无损连接的测试算法 148
9.2.5 保持依赖的测试算法 149
9.2.6 求属性集闭包的算法 150
9.2.7 无损分解成BCNF模式的算法 150
9.2.8 无损连接和保持函数依赖分解成3NF模式集的算法 150
9.2.9 计算最小函数依赖Fmin的算法 151
9.2.10 关系模式规范化的原则 151
9.3 典型例题分析 152
9.4 习题 154
10.1.1 数据库设计 165
第10章 数据库设计 165
10.1 基本概念 165
10.1.2 视图设计 166
10.1.3 视图集成 166
10.1.4 数据库设计方法 166
10.1.5 视图集成中的冲突 167
10.1.6 E-R数据模型 167
10.1.7 弱实体 168
10.1.8 簇集 168
10.1.9 数据对象类的值域 168
10.1.10 逆规范化 168
10.2.4 基本E-R图到关系模型的转换 169
10.2.3 视图集成中的冲突问题 169
10.2.2 视图集成的内容 169
10.2.1 局部视图设计的内容 169
10.2 本章重点与难点 169
10.2.5 扩充E-R图到关系模型的转换 171
10.2.6 数据库物理设计的内容 172
10.2.7 索引的选择 172
10.2.8 簇集的选择 173
10.3 典型例题分析 173
10.4 习题 176
附录 模拟试卷及答案 190
模拟试卷一 190
模拟试卷一参考答案 194
模拟试卷二 196
模拟试卷二参考答案 200