第1章 数据库概述 1
1.1 数据库系统概述 1
1.1.1 数据库的四个重要概念 1
1.1.1.1 数据 1
1.1.1.2 数据库 1
1.1.1.3 数据库管理系统 2
1.1.1.4 数据库系统 3
1.1.2 数据管理技术的发展 3
1.1.2.1 人工管理阶段 4
1.1.2.2 文件系统管理阶段 4
1.1.2.3 数据库系统管理阶段 5
1.1.3 数据库系统的特点 5
1.1.3.1 具备较强的数据集成性 5
1.1.3.2 数据高共享、低冗余、易扩充 5
1.1.3.3 数据独立性高 5
1.1.3.4 数据库管理系统对数据进行统一管理和控制 6
1.2 数据模型 6
1.2.1 数据模型的概念 6
1.2.2 概念模型 8
1.2.2.1 概念模型的基本概念 8
1.2.2.2 实体型之间的联系 9
1.2.2.3 概念模型的表示方法 10
1.2.2.4 概念模型实例 11
1.2.3 层次模型 13
1.2.4 网状模型 14
1.2.5 关系模型 15
1.3 数据库系统结构 16
1.3.1 数据库系统模式的概念 16
1.3.2 数据库系统的三级模式和两级映像 17
1.3.3 数据库系统的组成 18
1.3.3.1 硬件平台 18
1.3.3.2 软件平台 18
1.3.3.3 相关人员 18
1.3.4 数据库管理系统(DBMS)的组成 19
1.4 本章小结 20
习题1 20
第2章 关系数据库 22
2.1 关系模型的基本术语及概念 22
2.1.1 基本术语 23
2.1.1.1 二维表 23
2.1.1.2 关系 23
2.1.1.3 关系的数学定义 25
2.1.2 关系的概念 26
2.1.3 关系的性质 26
2.1.3.1 同一关系的属性名具有不可重复性 26
2.1.3.2 同一属性的数据具有同质性 26
2.1.3.3 关系中元组的位置具有顺序无关性 26
2.1.3.4 关系中列的位置具有顺序无关性 27
2.1.3.5 关系具有元组无冗余性 27
2.1.3.6 关系中每个属性都必须是不可再分的基本数据项 27
2.1.4 关系模式 27
2.1.5 关系数据库 28
2.2 关系完整性 29
2.2.1 实体完整性 30
2.2.2 参照完整性 30
2.2.3 用户定义的完整性 31
2.3 关系代数 32
2.3.1 传统的集合运算 33
2.3.2 专门的关系运算 35
2.3.2.1 选择 35
2.3.2.2 投影 38
2.3.2.3 连接 39
2.3.2.4 除 40
2.4 本章小结 44
习题2 44
第3章 关系数据库标准语言——SQL 47
3.1 SQL概述 47
3.1.1 SQL的产生与发展 47
3.1.2 SQL的特点 47
3.2 数据的定义 48
3.2.1 模式的定义与删除 48
3.2.2 基本表的定义、删除与修改 49
3.2.3 索引的定义与删除 53
3.3 数据查询 54
3.3.1 单表查询 55
3.3.1.1 查询表中指定字段 55
3.3.1.2 查询行 56
3.3.1.3 排序 58
3.3.1.4 分组 58
3.3.2 联接查询 60
3.3.3 嵌套查询 61
3.3.4 集合查询 65
3.3.5 SELECT语句的书写规范 66
3.4 数据的更新 67
3.4.1 数据的插入 67
3.4.2 数据的修改 68
3.4.3 数据的删除 68
3.5 视图 70
3.5.1 视图的定义 70
3.5.2 视图的查询 71
3.5.3 视图的更新 71
3.5.4 视图的作用 71
3.6 存储过程 72
3.6.1 存储过程的概念、优点与分类 72
3.6.2 创建存储过程 73
3.6.3 查看存储过程 74
3.6.4 重新命名存储过程 74
3.6.5 删除存储过程 75
3.6.6 执行存储过程 75
3.6.7 修改存储过程 75
3.7 本章小结 76
习题3 76
第4章 数据库的完整性 79
4.1 实体完整性 80
4.1.1 实体完整性 80
4.1.2 实体完整性检查和违约处理 81
4.2 参照完整性 81
4.2.1 参照完整性定义 83
4.2.2 参照完整性检查和违约处理 83
4.3 用户定义的完整性 85
4.3.1 限制字段取值的约束条件 86
4.3.2 记录上约束条件的定义 87
4.3.3 约束条件的检查和违约处理 88
4.4 完整性约束命名子句 88
4.5 触发器 89
4.5.1 触发器的概念及作用 89
4.5.2 SQL Server触发器概述 90
4.5.3 DML触发器的创建和应用 91
4.5.4 DDL触发器的创建和应用 97
4.5.5 查看、修改和删除触发器 100
4.6 本章小结 102
习题4 102
第5章 关系数据库的规范化 106
5.1 为什么要规范化 106
5.1.1 规范化理论相关的基本概念 106
5.1.2 异常问题 107
5.2 函数依赖 110
5.2.1 函数依赖的定义 110
5.2.2 多值依赖 113
5.2.3 关系的码 116
5.3 范式 117
5.3.1 范式的概念 117
5.3.2 第一范式(1NF) 118
5.3.3 第二范式(2NF) 119
5.3.4 第三范式(3NF) 121
5.3.5 BC范式(BCNF) 122
5.3.5.1 BCNF的定义 122
5.3.5.2 分解成BCNF模式的算法 123
5.3.6 规范化小结 125
5.4 关系模式分解 126
5.4.1 模式分解的三条准则 126
5.4.2 无损连接分解 127
5.4.3 保持函数依赖的分解 128
5.5 本章小结 130
习题5 131
第6章 数据库的安全性 132
6.1 数据库安全性概述 132
6.1.1 对数据库安全的威胁 132
6.1.2 数据库安全技术标准 133
6.1.2.1 TCSEC标准 133
6.1.2.2 ITSEC标准 134
6.1.2.3 CC标准 135
6.1.2.4 我国的国家标准 136
6.2 数据库安全性控制 136
6.2.1 用户标识与鉴别 137
6.2.2 存取控制 138
6.2.3 授权与回收 139
6.2.4 数据库角色 140
6.2.5 自主存取控制与强制存取控制 142
6.3 视图机制 143
6.4 审计 144
6.5 数据加密 145
6.5.1 数据加密的原理 146
6.5.2 数据库加密方法 147
6.5.3 数据库的密码系统 148
6.6 统计数据库安全性 150
6.7 本章小结 151
习题6 151
第7章 数据库设计 153
7.1 数据库设计概述 153
7.1.1 数据库设计的任务 153
7.1.2 数据库设计的特点 153
7.1.3 数据库设计的基本步骤 154
7.2 需求分析 157
7.2.1 需求分析的任务 157
7.2.2 收集需求分析的步骤与方法 158
7.2.3 需求分析的方法 159
7.2.4 数据字典 161
7.2.5 需求分析的结果 163
7.3 概念结构设计 164
7.3.1 概念结构设计的方法和步骤 165
7.3.2 局部视图设计 166
7.3.3 全局视图设计 168
7.4 逻辑结构设计 170
7.4.1 逻辑结构设计的步骤 170
7.4.2 E-R图向关系模型的转换 171
7.4.2.1 一个实体型转换为一个关系模式 171
7.4.2.2 实体间的联系根据联系的类型进行转换 171
7.4.3 关系模型的优化 172
7.4.4 分解 172
7.4.5 设计用户子模式 173
7.5 物理结构设计 174
7.5.1 存取方法的选择 175
7.5.2 确定数据库的物理结构 176
7.5.3 物理结构的评价 177
7.6 数据库实施 177
7.6.1 数据库实施 177
7.6.2 数据库试运行 178
7.7 数据库运行和维护 178
7.8 本章小结 179
习题7 180
第8章 关系数据库的查询优化与处理 181
8.1 关系数据库系统的查询处理 181
8.1.1 关系数据库查询处理步骤 181
8.1.2 实现查询操作的算法 182
8.1.2.1 选择操作的实现算法 182
8.1.2.2 连接操作的实现算法 183
8.2 关系数据库系统的查询优化 185
8.2.1 查询优化概述 185
8.2.2 代数优化 186
8.2.3 物理优化 189
8.2.3.1 基于启发式规则的存取路径选择优化 190
8.2.3.2 基于代价的存取路径选择优化 190
8.3 本章小结 192
习题8 192
第9章 数据库恢复技术 193
9.1 数据库恢复概述 193
9.1.1 事务的概念和特性 193
9.1.2 故障的种类 194
9.1.2.1 事务内部的故障 194
9.1.2.2 系统故障 195
9.1.2.3 介质故障 195
9.1.2.4 计算机病毒 195
9.2 恢复的实现技术与恢复策略 196
9.2.1 数据转储 196
9.2.2 登记日志文件 197
9.2.2.1 日志文件的格式和内容 197
9.2.2.2 日志文件的作用 197
9.2.2.3 登记日志文件 198
9.2.3 恢复策略 198
9.3 具有恢复点的恢复技术 199
9.4 数据库镜像 201
9.5 本章小结 201
习题9 201
第10章 并发控制 202
10.1 并发控制概述 202
10.2 封锁 204
10.2.1 封锁的概念 204
10.2.2 活锁 205
10.2.3 死锁 206
10.3 并发调度的可串行性 207
10.3.1 可串行化调度 207
10.3.2 冲突可串行化调度 208
10.4 两段封锁协议 209
10.5 封锁的粒度 210
10.5.1 多粒度封锁 211
10.5.2 意向锁 211
10.6 本章小结 212
习题10 212
第11章 其他数据库技术概述 213
11.1 JDBC编程 213
11.1.1 JDBC API 213
11.1.2 JDBC编程步骤 216
11.2 面向对象数据模型 220
11.2.1 UML定义的类图 223
11.2.2 利用ROSE建模操作 225
11.3 数据仓库 226
11.3.1 数据仓库的概念 226
11.3.2 数据仓库和数据集市 227
11.3.3 数据仓库系统的体系结构 229
11.3.4 联机分析(OLAP)技术概述 230
11.3.5 SQL Server中的数据仓库组件 232
11.4 数据挖掘 233
11.4.1 数据挖掘技术概述 233
11.4.2 数据挖掘的定义 233
11.4.3 数据挖掘的过程模型和常用技术 234
11.4.4 目前数据挖掘的主要应用 235
11.5 分布式数据库 235
11.5.1 分布式数据库系统概述 235
11.5.2 分布式数据存储 236
11.5.3 分布式数据的查询处理 237
11.5.4 分布式数据库系统中的事务处理 237
11.5.4.1 分布式数据库系统的并发控制 238
11.5.4.2 分布式数据库系统的恢复控制 239
11.6 本章小结 240
习题11 240
参考文献 242