第1章 绪论 1
1.1 数据库、数据库管理系统、数据库系统和数据库应用系统 1
1.1.1 数据库 1
1.1.2 数据库管理系统 3
1.1.3 数据库系统 4
1.1.4 数据库应用系统 5
1.2 数据库系统的产生与发展 5
1.2.1 数据、信息、数据管理与数据处理 5
1.2.2 数据管理技术的产生与发展 6
1.2.3 数据库系统的特点 11
1.3 数据模型 12
1.3.1 数据模型概述 12
1.3.2 实体联系数据模型 14
1.3.3 数据模型常用结构 19
1.4 数据库系统结构 28
1.4.1 数据库系统的三级模式结构 28
1.4.2 数据库的两级映像与数据独立性 30
1.4.3 用户通过DBMS访问数据库的过程 32
1.5 数据库管理系统 33
1.5.1 数据库管理系统的主要功能 33
1.5.2 数据库管理系统应该满足的要求 34
1.5.3 数据库管理系统程序模块的组成 35
1.5.4 数据库管理系统的层次结构 36
1.5.5 常见的数据库管理系统 37
1.6 数据库应用系统常用的几种结构 38
1.6.1 单用户结构 38
1.6.2 集中式结构 38
1.6.3 分布式结构 38
1.6.4 客户机/服务器结构 39
1.6.5 浏览器/服务器结构 40
1.7 数据库技术的新发展 41
小结 41
习题1 41
第2章 关系数据库 45
2.1 关系 45
2.1.1 关系定义 45
2.1.2 关系操作 48
2.1.3 关系完整性约束 50
2.2 关系代数 51
2.2.1 传统的集合运算 52
2.2.2 专门的关系运算 54
2.2.3 关系代数举例 62
2.3 查询优化 63
2.3.1 查询优化的必要性 63
2.3.2 查询优化的策略和算法 65
2.4 关系系统 66
2.4.1 关系系统定义 66
2.4.2 关系系统分类 67
2.4.3 全关系系统的基本准则 67
2.5 关系演算 69
2.5.1 元组关系演算 69
2.5.2 域关系演算 70
小结 71
习题2 71
第3章 关系数据库标准语言SQL 74
3.1 SQL概述 74
3.1.1 SQL的发展 74
3.1.2 SQL的特点 74
3.1.3 SQL体系结构 75
3.2 SQL的定义功能 76
3.2.1 基本表的定义 76
3.2.2 基本表的修改和删除 79
3.2.3 索引的建立与删除 80
3.3 数据查询 81
3.3.1 单表查询 82
3.3.2 连接查询 91
3.3.3 嵌套查询 96
3.4 数据更新 102
3.4.1 插入数据 102
3.4.2 删除数据 103
3.4.3 修改数据 104
3.5 视图 104
3.5.1 建立视图 104
3.5.2 删除视图 105
3.5.3 查询视图 106
3.5.4 更新视图 106
3.6 数据控制 107
3.6.1 授权 107
3.6.2 收回权限 107
3.7 嵌入式SQL 108
小结 109
习题3 109
第4章 关系规范化理论 111
4.1 问题的提出 111
4.1.1 一个泛关系模式的实例 111
4.1.2 改造泛关系模式S_D_P 113
4.1.3 存在问题的原因分析 115
4.1.4 规范化理论的提出 116
4.2 函数依赖和范式 116
4.2.1 函数依赖的概念 116
4.2.2 码的函数依赖定义 118
4.2.3 范式 119
4.3 数据依赖的公理系统 125
4.3.1 函数依赖集的闭包 125
4.3.2 函数依赖的推理规则 126
4.3.3 属性集闭包与F逻辑蕴涵的充要条件 127
4.3.4 Armstrong公理的正确性和完备性 128
4.3.5 函数依赖集的等价和最小函数依赖集 130
4.4 关系模式的分解方法 131
4.4.1 模式分解的概念 131
4.4.2 分解的无损连接性判定 133
4.4.3 分解的函数依赖保持性判定 136
4.4.4 关系模式的分解算法 137
小结 139
习题4 140
第5章 数据库设计 142
5.1 数据库设计概述 142
5.1.1 数据库设计的定义和知识要求 142
5.1.2 数据库设计的内容 143
5.1.3 数据库设计方法 143
5.1.4 数据库设计的基本步骤 145
5.2 需求分析 146
5.2.1 需求分析的任务 146
5.2.2 需求分析的方法和过程 147
5.2.3 需求分析常用的工具 148
5.2.4 需求分析实例 150
5.3 概念结构设计 152
5.3.1 概念结构设计的定义 152
5.3.2 概念结构设计方法 153
5.3.3 局部视图设计 154
5.3.4 集成全局视图 156
5.4 逻辑结构设计 158
5.4.1 逻辑结构设计的任务和步骤 158
5.4.2 E-R图向关系模型的转换原则 159
5.4.3 逻辑结构的优化 160
5.4.4 设计用户外模式 161
5.5 物理结构设计 161
5.5.1 确定数据库的物理结构 161
5.5.2 评价物理结构 163
5.6 数据库实施 163
5.7 数据库的运行和维护 165
5.8 数据库设计实例 166
小结 170
习题5 170
第6章 数据库保护 172
6.1 事务 172
6.1.1 事务的概念 172
6.1.2 事务的特性 173
6.2 数据库恢复 173
6.2.1 数据库故障的种类 174
6.2.2 数据库恢复的实现技术 175
6.3 并发控制 177
6.3.1 并发操作引发的问题 178
6.3.2 调度及其可串行化 179
6.3.3 封锁技术 181
6.3.4 封锁导致的问题 184
6.3.5 封锁的粒度 185
6.4 数据库安全性 185
6.4.1 用户标识与鉴别 186
6.4.2 存取控制 186
6.4.3 视图机制 188
6.4.4 数据加密 188
6.4.5 审计 189
6.5 数据库完整性 189
6.5.1 完整性约束条件的类型 189
6.5.2 完整性控制机制的功能 190
6.5.3 完整性约束的表达方式 191
小结 199
习题6 200
第7章 数据库新技术 202
7.1 面向对象数据库系统 202
7.1.1 面向对象数据模型 202
7.1.2 面向对象数据库管理系统 203
7.1.3 面向对象数据库系统的概念与特征 204
7.1.4 面向对象数据库系统的查询 204
7.1.5 面向对象数据库系统的并发控制 205
7.2 分布式数据库系统 206
7.2.1 分布式数据库及其分类 206
7.2.2 分布式数据库的特点 206
7.2.3 分布式数据库的分级结构 207
7.2.4 分布式数据库的数据分布 209
7.3 工程数据库 210
7.3.1 工程数据库的基本概念 210
7.3.2 工程数据库与传统数据库的比较 210
7.3.3 工程数据库体系结构 211
7.3.4 长事务管理 212
7.4 XML数据库 213
7.4.1 XML技术简介 213
7.4.2 XML数据库简介 215
7.4.3 XML数据库分类 215
7.4.4 XML数据库管理系统 216
7.5 其他数据库 217
7.5.1 模糊数据库 217
7.5.2 演绎数据库 217
7.5.3 模糊演绎数据库 218
7.5.4 空间数据库 219
7.5.5 统计与科学数据库 219
7.5.6 时态和历史数据库 220
7.5.7 实时数据库 220
7.5.8 主存数据库 221
7.5.9 移动数据库 222
7.6 数据仓库 223
7.6.1 什么是数据仓库 223
7.6.2 数据仓库的体系结构 224
7.6.3 数据仓库的作用 225
7.7 知识发现 225
7.7.1 知识发现的产生 226
7.7.2 知识发现的相关概念 227
7.7.3 知识发现的基本任务 228
7.7.4 知识发现的对象 229
7.7.5 知识发现的方法 230
7.7.6 知识发现的处理过程 231
7.7.7 知识发现的应用 234
小结 235
习题7 235
第8章 SQL Server 2000 237
8.1 SQL Server 2000概述 237
8.1.1 SQL Server的发展简史 237
8.1.2 SQL Server 2000数据库基本结构 237
8.2 SQL Server 2000管理工具 241
8.2.1 SQL Server服务管理器 241
8.2.2 SQL Server 2000企业管理器 241
8.2.3 SQL Server 2000查询分析器 246
8.3 Transact-SQL 247
8.3.1 基本SQL组件 248
8.3.2 数据定义语言 250
8.3.3 数据操作语言 263
8.3.4 嵌套查询 269
8.4 存储过程和触发器 271
8.4.1 存储过程 271
8.4.2 触发器 274
8.5 备份和恢复 277
8.5.1 备份和恢复概述 277
8.5.2 备份 278
8.5.3 恢复 280
小结 282
习题8 282
第9章 数据库应用实例 284
9.1 楼盘销售系统 284
9.1.1 开发背景 284
9.1.2 需求分析 284
9.1.3 系统设计 288
9.1.4 系统实现 292
9.2 数据库精品课程学习系统 297
9.2.1 开发背景 297
9.2.2 需求分析 298
9.2.3 系统设计 302
9.2.4 系统实现 305
小结 314
参考文献 315