第1章 绪论 1
1.1 数据库、数据库管理系统、数据库系统和数据库应用系统 1
1.1.1 数据库 1
1.1.2 数据库管理系统 3
1.1.3 数据库系统 4
1.1.4 数据库应用系统 6
1.2 数据库系统的产生与发展 7
1.2.1 数据、信息、数据管理与数据处理 7
1.2.2 数据管理技术的产生与发展 8
1.2.3 数据库系统的特点 12
1.3 数据模型 14
1.3.1 数据模型的几个重要问题 14
1.3.2 实体-联系数据模型 15
1.3.3 常用(结构)数据模型 22
1.4 数据库系统结构 29
1.4.1 数据库系统的三级模式结构 29
1.4.2 数据库的两级映像与数据独立性 31
1.4.3 用户通过DBMS访问数据库的过程 33
1.5 数据库管理系统 34
1.5.1 数据库管理系统的组成 35
1.5.2 数据库管理系统的主要功能 35
1.5.3 数据库管理系统应该满足的要求 36
1.5.4 数据库管理系统程序模块的组成 38
1.5.5 数据库管理系统的层次结构 39
1.5.6 常见的数据库管理系统 40
1.6 数据库应用系统开发概述 40
1.6.1 单用户结构 41
1.6.2 集中式结构 41
1.6.3 分布式结构 41
1.6.4 客户机/服务器结构 41
1.6.5 浏览器/服务器结构 43
1.7 数据库技术的新发展 44
小结 45
习题1 46
第2章 关系数据库 50
2.1 关系模型 50
2.1.1 关系数据结构 50
2.1.2 关系操作 53
2.1.3 关系完整性约束 54
2.2 关系代数 56
2.2.1 传统的集合运算 56
2.2.2 专门的关系运算 58
2.2.3 关系代数举例 66
2.3 关系演算 68
2.3.1 元组关系演算 68
2.3.2 域关系演算 69
2.4 查询优化 69
2.4.1 查询优化的必要性 70
2.4.2 查询优化的策略和算法 72
2.5 关系系统 73
2.5.1 关系系统定义 74
2.5.2 关系系统分类 74
2.5.3 全关系系统的12条基本准则 74
小结 76
习题2 77
第3章 关系数据库标准语言SQL 79
3.1 SQL概述 79
3.1.1 SQL的发展 79
3.1.2 SQL的特点 79
3.1.3 SQL体系结构 80
3.2 SQL的定义功能 81
3.2.1 基本表的定义 81
3.2.2 基本表的修改和删除 84
3.2.3 索引的建立与删除 85
3.3 数据查询 87
3.3.1 单表查询 88
3.3.2 连接查询 96
3.3.3 嵌套查询 102
3.4 数据更新 109
3.4.1 插入数据 109
3.4.2 删除数据 110
3.4.3 修改数据 111
3.5 视图 111
3.5.1 建立视图 112
3.5.2 删除视图 113
3.5.3 查询视图 113
3.5.4 更新视图 114
3.6 数据控制 114
3.6.1 授权 114
3.6.2 收回权限 115
小结 116
习题3 116
第4章 关系规范化理论 119
4.1 问题的提出 119
4.1.1 一个泛关系模式的实例 119
4.1.2 改造泛关系模式S_D_P 121
4.1.3 存在问题的原因 123
4.1.4 规范化理论的提出 124
4.2 函数依赖和范式 124
4.2.1 函数依赖的概念 124
4.2.2 码的函数依赖定义 127
4.2.3 范式 128
4.3 数据依赖的公理系统 134
4.3.1 函数依赖集的闭包 135
4.3.2 函数依赖的推理规则 135
4.3.3 属性集闭包与F逻辑蕴涵的充要条件 136
4.3.4 Armstrong公理的正确性和完备性 139
4.3.5 函数依赖集的等价和最小函数依赖集 141
4.4 关系模式的分解方法 142
4.4.1 模式分解的概念 142
4.4.2 分解的无损连接性判定 144
4.4.3 分解的函数依赖保持性判定 148
4.4.4 关系模式的分解算法 149
小结 150
习题4 150
第5章 数据库设计 153
5.1 数据库设计概述 153
5.1.1 数据库设计的定义和知识要求 153
5.1.2 数据库设计的内容 154
5.1.3 数据库设计方法 154
5.1.4 数据库设计的基本步骤 156
5.2 需求分析 158
5.2.1 需求分析的任务 158
5.2.2 需求分析的方法和过程 159
5.2.3 需求分析常用工具 159
5.2.4 需求分析实例 162
5.3 概念结构设计 166
5.3.1 概念结构设计的定义 166
5.3.2 概念结构设计方法 167
5.3.3 局部视图设计 168
5.3.4 集成全局视图 170
5.4 逻辑结构设计 173
5.4.1 逻辑结构设计的任务和步骤 173
5.4.2 E-R图向关系模型的转换原则 173
5.4.3 逻辑结构的优化 175
5.4.4 设计用户外模式 176
5.5 物理结构设计 176
5.5.1 确定数据库的物理结构 177
5.5.2 评价物理结构 178
5.6 数据库实施 178
5.7 数据库的运行和维护 183
5.8 数据库设计实例 184
小结 188
习题5 188
第6章 数据库保护 190
6.1 事务 190
6.1.1 事务的概念 190
6.1.2 事务的特性 191
6.2 数据库恢复 192
6.2.1 数据库系统的故障 192
6.2.2 数据库恢复的实现技术 193
6.3 并发控制 196
6.3.1 并发操作引发的问题 196
6.3.2 调度及其可串行化 198
6.3.3 事务的隔离性级别 200
6.3.4 封锁技术 201
6.3.5 死锁与活锁问题 204
6.3.6 封锁的粒度 205
6.4 数据库安全性 205
6.4.1 用户标识与鉴别 206
6.4.2 存取控制 206
6.4.3 视图机制 208
6.4.4 数据加密 208
6.4.5 审计 209
6.5 数据库完整性 209
6.5.1 完整性约束条件的类型 209
6.5.2 完整性控制机制的功能 210
6.5.3 完整性约束的表达方式 211
小结 219
习题6 219
第7章 MySQL数据库操作 222
7.1 MySQL简介 222
7.2 MySQL的体系结构 222
7.3 MySQL的查询语言 223
7.3.1 表、列和数据类型 223
7.3.2 函数 224
7.3.3 SQL语句 224
7.4 MySQL数据库的安装 225
7.5 MySQL数据库的基本操作 228
7.5.1 数据库操作 228
7.5.2 数据库表的操作 229
7.5.3 数据库视图操作 231
7.5.4 数据操作语言 233
7.6 常用开发平台与MySQL数据的连接 241
7.7 MySQL数据库的备份与恢复 243
7.8 MySQL数据库的安全 245
第8章 数据库应用实例 248
8.1 引言 248
8.2 楼盘销售系统 248
8.2.1 开发背景 248
8.2.2 需求分析 248
8.2.3 系统设计 253
8.2.4 系统实现 258
8.3 数据库精品课程学习系统 263
8.3.1 开发背景 263
8.3.2 需求分析 263
8.3.3 系统设计 267
8.3.4 系统实现 271
8.4 煤矿采掘衔接计划管理系统 273
8.4.1 需求概要 273
8.4.2 数据流图 274
8.4.3 系统设计 279
8.4.4 系统实现 287
小结 291
第9章 数据库新技术 292
9.1 面向对象数据模型 292
9.1.1 面向对象数据模型的定义 292
9.1.2 面向对象数据库管理系统 293
9.1.3 面向对象数据库系统的概念与特征 294
9.1.4 面向对象数据库系统的查询 294
9.1.5 面向对象数据库系统的并发控制 295
9.2 XML数据库 295
9.2.1 XML技术 295
9.2.2 XML数据库 296
9.2.3 XML数据库分类 297
9.2.4 XML数据库管理系统 297
9.3 分布式数据库系统 298
9.3.1 分布式数据库及其分类 298
9.3.2 分布式数据库的特点 299
9.3.3 分布式数据库的分级结构 300
9.3.4 分布式数据库的数据分布 301
9.4 工程数据库 302
9.4.1 工程数据库基本概念 302
9.4.2 工程数据库体系结构 302
9.4.3 长事务管理 303
9.5 其他数据库 304
9.5.1 模糊数据库 304
9.5.2 空间数据库 305
9.5.3 统计与科学数据库 306
9.5.4 实时数据库 306
9.5.5 内存数据库 307
9.6 大数据管理技术 308
9.6.1 什么是大数据 308
9.6.2 大数据的特点 309
9.6.3 传统关系型数据库面临的问题 309
9.6.4 NoSQL数据库 310
9.7 数据仓库 312
9.7.1 什么是数据仓库 312
9.7.2 数据仓库的体系结构 313
9.7.3 数据仓库的作用 314
9.8 知识发现 314
9.8.1 KDD的相关概念 315
9.8.2 KDD的基本任务 316
9.8.3 KDD的处理过程 316
9.8.4 KDD的方法 319
小结 320
参考文献 321