第1章 数据库系统概述……………………………………………………………… 1
1.1 数据库系统简介…………………………………………………………… 1
1.1.1 数据与数据处理…………………………………………………… 1
1.1.2 数据库与数据管理………………………………………………… 3
1.1.3 数据库管理系统…………………………………………………… 3
1.1.4 数据库应用系统…………………………………………………… 5
1.1.5 数据库系统………………………………………………………… 6
1.1.6 数据库系统的应用………………………………………………… 7
1.2 数据模型与E R方法…………………………………………………… 9
1.2.1 概念模型的相关概念……………………………………………… 10
1.2.2 实体型之间的联系………………………………………………… 12
1.2.3 概念模型的表示方法……………………………………………… 13
1.2.4 数据模型的组成要素……………………………………………… 16
1.2.5 层次模型…………………………………………………………… 17
1.2.6 网状模型…………………………………………………………… 19
1.2.7 关系模型…………………………………………………………… 21
1.3 数据管理技术的产生和发展……………………………………………… 23
1.3.1 人工管理阶段……………………………………………………… 23
1.3.2 文件系统阶段……………………………………………………… 24
1.3.3 数据库系统阶段…………………………………………………… 27
1.3.4 面向对象数据库技术……………………………………………… 30
1.3.5 面向应用领域的数据库技术……………………………………… 31
1.4 数据库系统的结构………………………………………………………… 31
1.4.1 数据库系统的模式结构…………………………………………… 31
1.4.2 面向用户的数据库体系结构……………………………………… 34
小 结…………………………………………………………………………… 37
习 题…………………………………………………………………………… 38
第2章 关系数据库………………………………………………………………… 40
2.1 关系模型概述……………………………………………………………… 40
2.2 关系数据结构及其形式化定义…………………………………………… 41
2.2.1 关 系……………………………………………………………… 42
2.2.2 关系模式…………………………………………………………… 45
2.2.3 关系数据库………………………………………………………… 46
2.3 关系的完整性……………………………………………………………… 46
2.3.1 实体完整性………………………………………………………… 47
2.3.2 参照完整性………………………………………………………… 47
2.3.3 用户定义的完整性………………………………………………… 48
2.4 关系代数…………………………………………………………………… 48
2.4.1 传统的集合运算…………………………………………………… 49
2.4.2 专门的关系运算…………………………………………………… 51
2.4.3 关系代数查询实例………………………………………………… 54
2.5 关系演算…………………………………………………………………… 55
2.5.1 元组关系演算语言ALPHA …………………………………… 55
2.5.2 域关系演算语言QBE …………………………………………… 60
小 结…………………………………………………………………………… 66
习 题…………………………………………………………………………… 66
第3章 关系数据库标准语言SQL ………………………………………………… 69
3.1 SQL概述………………………………………………………………… 69
3.1.1 SQL的特点……………………………………………………… 69
3.1.2 SQL语言的基本概念…………………………………………… 70
3.2 数据定义…………………………………………………………………… 71
3.2.1 定义、删除与修改基本表………………………………………… 72
3.2.2 建立和删除索引…………………………………………………… 74
3.3 数据查询…………………………………………………………………… 76
3.3.1 SELECT语句的一般格式……………………………………… 76
3.3.2 单表查询…………………………………………………………… 77
3.3.3 连接查询…………………………………………………………… 82
3.3.4 嵌套查询…………………………………………………………… 84
3.4 数据更新…………………………………………………………………… 90
3.4.1 插入数据…………………………………………………………… 90
3.4.2 修改数据…………………………………………………………… 90
3.4.3 删除数据…………………………………………………………… 92
小 结…………………………………………………………………………… 93
习 题…………………………………………………………………………… 93
第4章 数据库的安全性…………………………………………………………… 95
4.1 安全性概述………………………………………………………………… 95
4.1.1 计算机系统的安全性……………………………………………… 95
4.1.2 可信计算机系统评测标准………………………………………… 96
4.1.3 数据库安全性控制………………………………………………… 98
4.2 视 图……………………………………………………………………… 98
4.2.1 视图的定义………………………………………………………… 99
4.2.2 删除视图………………………………………………………… 102
4.2.3 视图的查询……………………………………………………… 102
4.2.4 更新视图………………………………………………………… 103
4.2.5 视图的作用……………………………………………………… 104
4.3 存取控制………………………………………………………………… 105
4.3.1 自主存取控制方法……………………………………………… 106
4.3.2 强制存取控制方法……………………………………………… 106
4.3.3 SQL存取控制机制……………………………………………… 107
4.4 其他方法………………………………………………………………… 111
4.4.1 数据加密………………………………………………………… 111
4.4.2 数据库审计……………………………………………………… 112
小 结…………………………………………………………………………… 113
习 题…………………………………………………………………………… 113
第5章 数据库的完整性…………………………………………………………… 115
5.1 数据库完整性定义及分类……………………………………………… 115
5.1.1 数据库完整性的定义…………………………………………… 115
5.1.2 数据库完整性分类……………………………………………… 116
5.2 完整性约束条件………………………………………………………… 118
5.2.1 静态约束条件…………………………………………………… 119
5.2.2 动态约束条件…………………………………………………… 122
5.2.3 完整性约束命名子句…………………………………………… 122
5.3 DBMS的完整性控制…………………………………………………… 123
5.3.1 实体完整性控制………………………………………………… 124
5.3.2 参照完整性控制………………………………………………… 125
5.3.3 用户定义的完整性控制………………………………………… 126
5.4 SQLServer的数据完整性……………………………………………… 127
5.4.1 SQLServer数据完整性的种类与实现方式…………………… 127
5.4.2 SQLServer实现数据完整性的具体方法……………………… 128
5.5 存储过程………………………………………………………………… 132
5.5.1 存储过程的优点………………………………………………… 133
5.5.2 存储过程的种类………………………………………………… 133
5.5.3 存储过程的书写格式…………………………………………… 134
5.5.4 存储过程的执行………………………………………………… 135
小 结…………………………………………………………………………… 136
习 题…………………………………………………………………………… 136
第6章 关系数据库理论…………………………………………………………… 137
6.1 规范化问题的提出……………………………………………………… 137
6.1.1 规范化理论的主要内容………………………………………… 137
6.1.2 关系模式的存储异常问题……………………………………… 137
6.2 函数依赖………………………………………………………………… 140
6.2.1 函数依赖的定义及性质………………………………………… 140
6.2.2 完全函数依赖与部分函数依赖………………………………… 143
6.2.3 传递函数依赖…………………………………………………… 143
6.3 范 式…………………………………………………………………… 143
6.3.1 第一范式………………………………………………………… 144
6.3.2 第二范式………………………………………………………… 145
6.3.3 第三范式………………………………………………………… 148
6.3.4 BC范式………………………………………………………… 150
6.4 关系模式的规范化……………………………………………………… 153
6.4.1 关系模式规范化的目的和原则………………………………… 153
6.4.2 关系模式规范化的步骤………………………………………… 153
6.4.3 关系模式规范化的要求………………………………………… 154
小 结…………………………………………………………………………… 157
习 题…………………………………………………………………………… 157
第7章 数据库设计………………………………………………………………… 160
7.1 数据库设计概论………………………………………………………… 160
7.1.1 数据库设计的特点……………………………………………… 160
7.1.2 数据库设计方法………………………………………………… 162
7.1.3 数据库设计步骤………………………………………………… 164
7.2 需求分析………………………………………………………………… 165
7.2.1 需求分析的任务和过程………………………………………… 165
7.2.2 数据流图………………………………………………………… 167
7.2.3 数据字典………………………………………………………… 169
7.3 概念结构设计…………………………………………………………… 171
7.3.1 概念结构设计的方法和步骤…………………………………… 171
7.3.2 局部E R图设计……………………………………………… 173
7.3.3 E R图的集成………………………………………………… 176
7.4 逻辑结构设计…………………………………………………………… 179
7.4.1 概念结构模型向关系模型的转换……………………………… 179
7.4.2 关系模式的优化………………………………………………… 182
7.4.3 设计用户模式…………………………………………………… 182
7.5 数据库的物理设计……………………………………………………… 183
7.5.1 物理设计的内容和特点………………………………………… 184
7.5.2 索引设计………………………………………………………… 186
7.6 数据库的实施和维护…………………………………………………… 188
7.6.1 数据库实施……………………………………………………… 188
7.6.2 数据库运行和维护……………………………………………… 189
小 结…………………………………………………………………………… 190
习 题…………………………………………………………………………… 190
第8章 数据库恢复技术…………………………………………………………… 192
8.1 事务的概念和特性……………………………………………………… 192
8.1.1 事务的概念……………………………………………………… 192
8.1.2 事务的特性……………………………………………………… 192
8.2 数据库系统故障的种类………………………………………………… 194
8.2.1 事务内部故障…………………………………………………… 194
8.2.2 系统故障………………………………………………………… 195
8.2.3 介质故障………………………………………………………… 195
8.2.4 计算机病毒故障………………………………………………… 196
8.3 数据库恢复的基本原理………………………………………………… 196
8.3.1 数据转储………………………………………………………… 197
8.3.2 登记日志文件…………………………………………………… 198
8.4 数据库恢复的实现方法………………………………………………… 199
8.4.1 事务故障的恢复………………………………………………… 200
8.4.2 系统故障的恢复………………………………………………… 200
8.4.3 介质故障的恢复………………………………………………… 200
8.4.4 具有检查点的恢复技术………………………………………… 201
8.4.5 数据库镜像……………………………………………………… 203
小 结…………………………………………………………………………… 203
习 题…………………………………………………………………………… 204
第9章 并发控制…………………………………………………………………… 205
9.1 并发控制概述…………………………………………………………… 205
9.1.1 丢失修改………………………………………………………… 206
9.1.2 不可重复读……………………………………………………… 206
9.1.3 读“脏”数据……………………………………………………… 206
9.2 封 锁…………………………………………………………………… 207
9.3 活锁与死锁……………………………………………………………… 208
9.3.1 活 锁…………………………………………………………… 208
9.3.2 死 锁…………………………………………………………… 208
9.4 封锁协议………………………………………………………………… 210
9.4.1 三级封锁协议…………………………………………………… 210
9.4.2 两段封锁协议…………………………………………………… 213
小 结…………………………………………………………………………… 214
习 题…………………………………………………………………………… 215
第10章 关系系统及其查询优化………………………………………………… 216
10.1 关系系统………………………………………………………………… 216
10.1.1 关系系统的定义………………………………………………… 216
10.1.2 关系系统的分类………………………………………………… 217
10.1.3 全关系系统的12条基本准则………………………………… 217
10.2 关系数据库系统的查询优化…………………………………………… 219
10.2.1 查询处理与查询优化…………………………………………… 219
10.2.2 查询优化的一般准则…………………………………………… 222
10.2.3 关系代数等价变换规则………………………………………… 223
10.2.4 关系代数表达式的优化算法…………………………………… 224
10.2.5 优化的一般步骤………………………………………………… 225
小 结…………………………………………………………………………… 228
习 题…………………………………………………………………………… 228
第11章 关系数据库管理系统实例……………………………………………… 229