目 录

第1章数据库系统概述1
1.1数据与信息2
1.1.1数据2
1.1.2信息2
1.1.3数据处理2
1.2数据管理技术的发展3
1.2.1人工管理阶段3
1.2.2文件系统阶段3
1.2.3数据库系统阶段4
1.3数据库系统的基本概念6
1.3.1数据库6
1.3.2数据库管理系统6
1.3.3数据库应用系统7
1.3.4数据库用户7
1.3.5数据库系统7
1.4数据模型8
1.4.1三个世界的划分8
1.4.2数据模型的组成
要素12
1.4.3常用的数据模型12
1.5数据库系统的内部结构14
1.6数据库系统的外部结构16
1.6.1单用户结构的数据库
系统16
1.6.2主从式结构的数据库
系统16
1.6.3客户/服务器结构的
数据库系统16
1.6.4浏览器/服务器结构的
数据库系统17
1.6.5分布式结构的数据库
系统17
1.7常见的关系数据库18
1.8数据库新技术19
1.8.1第三代数据库系统19
1.8.2大数据时代的数据
管理技术21
本章小结22
习题23

第2章关系数据库理论基础26
2.1关系的形式化定义及有关
概念27
2.1.1关系的形式化定义27
2.1.2关系的性质28
2.1.3关系模式与关系
数据库29
2.2关系数据库示例29
2.3关系模型的完整性32
2.3.1实体完整性33
2.3.2参照完整性33
2.3.3用户自定义完整性34
2.4关系模型的数据操作34
2.4.1关系模型的数据操作
分类34
2.4.2关系模型的数据操作
语言34
2.5关系代数35
2.5.1传统的集合运算36
2.5.2专门的关系运算37
本章小结46
习题46

第3章关系数据库标准语言SQL50
3.1SQL语言简介51
3.1.1SQL数据库的三级
模式结构51
3.1.2SQL语言的组成52
3.1.3SQL语言的特点53
3.1.4SQL语言的书写
规则53
3.2SQL的数据定义54
3.2.1定义数据库54
3.2.2MySQL支持的常用
数据类型56
3.2.3创建基本表58
3.2.4修改基本表63
3.2.5删除基本表71
3.3SQL的数据操纵71
3.3.1插入数据71
3.3.2更新数据73
3.3.3删除数据74
3.3.4DML操作时参照完
整性的检查75
3.4SQL的数据查询76
3.4.1单表查询76
3.4.2分组查询85
3.4.3连接查询91
3.4.4嵌套查询98
3.4.5集合查询109
3.4.6多表查询的等价
形式110
3.5视图115
3.5.1定义视图115
3.5.2查询视图118
3.5.3操纵视图118
3.6索引120
3.6.1定义索引120
3.6.2创建索引的原则122
本章小结122
习题123

第4章数据库编程127
4.1SQL编程基础128
4.1.1常量128
4.1.2变量129
4.1.3SQL流程控制
语句133
4.1.4SQL的异常处理136
4.2存储过程137
4.2.1创建存储过程137
4.2.2调用存储过程138
4.2.3带参数的存储过程139
4.2.4删除存储过程141
4.3函数141
4.3.1创建函数141
4.3.2调用函数142
4.3.3删除函数142
4.4游标143
4.5触发器145
4.5.1创建触发器145
4.5.2删除触发器148
本章小结148
习题149

第5章关系规范化理论151
5.1关系规范化的作用152
5.1.1问题的提出152
5.1.2问题的原因153
5.1.3问题的解决153
5.2函数依赖154
5.2.1函数依赖的定义155
5.2.2函数依赖的分类155
5.2.3函数依赖的推理
规则156
5.3候选码和极小(或最小)函数
依赖集157
5.3.1候选码157
5.3.2极小(或最小)函数
依赖集157
5.4关系的规范化159
5.4.1范式及规范化159
5.4.21NF160
5.4.32NF160
5.4.43NF162
5.4.5BCNF163
5.4.6关系规范化的应用165
5.5多值依赖与4NF166
本章小结170
习题170

第6章数据库设计175
6.1数据库设计概述176
6.1.1数据库设计的定义176
6.1.2数据库设计的特点177
6.1.3数据库设计的方法177
6.1.4数据库设计的步骤178
6.2需求分析179
6.2.1需求分析的任务180
6.2.2需求分析的方法181
6.2.3需求分析的成果181
6.3概念结构设计182
6.3.1概念结构设计概述182
6.3.2概念结构设计的方法
和步骤183
6.3.3数据抽象与局部ER
模型设计185
6.3.4全局ER模型
设计187
6.4逻辑结构设计193
6.4.1ER图向关系模型的
转换193
6.4.2关系模型的优化197
6.4.3设计用户子模式199
6.5物理结构设计199
6.5.1选择关系模式存取
方法199
6.5.2确定数据库的存储
结构201
6.5.3物理结构的评价201
6.6数据库的实施202
6.6.1建立数据库结构202
6.6.2数据载入202
6.6.3编写与调试应用
程序202
6.6.4数据库试运行203
6.7数据库的运行和维护203
6.8数据库设计案例204
6.8.1需求分析204
6.8.2概念结构设计205
6.8.3逻辑结构设计205
6.8.4物理结构设计207
6.8.5数据库的实施207
本章小结210
习题210

第7章数据库安全性213
7.1计算机安全性概述214
7.1.1计算机系统的三类
安全性问题214
7.1.2安全标准简介214
7.2数据库安全性控制216
7.2.1用户标识与鉴别216
7.2.2存取控制217
7.2.3审计跟踪218
7.2.4数据加密219
7.3MySQL的安全机制219
7.3.1用户管理219
7.3.2权限管理221
7.3.3角色管理226
本章小结229
习题229

第8章数据库并发控制231
8.1事务232
8.1.1事务的概念232
8.1.2事务的ACID特性232
8.1.3MySQL中的事务
处理233
8.1.4事务的执行方式236
8.2并发控制236
8.2.1丢失修改237
8.2.2读“脏”数据237
8.2.3不可重复读237
8.3封锁238
8.3.1基本锁238
8.3.2封锁协议239
8.3.3活锁与死锁240
8.4并发调度的可串行性243
8.4.1可串行化调度243
8.4.2冲突可串行化调度244
8.5两段锁协议246
本章小结248
习题248

第9章数据库恢复技术251
9.1故障的种类252
9.1.1事务故障252
9.1.2系统故障253
9.1.3介质故障253
9.1.4计算机病毒253
9.2恢复的实现技术253
9.2.1数据转储254
9.2.2登记日志文件255
9.3恢复策略255
9.3.1事务故障的恢复255
9.3.2系统故障的恢复256
9.3.3介质故障的恢复256
9.4具有检查点的恢复技术258
9.4.1检查点记录258
9.4.2利用检查点的恢复
策略258
本章小结259
习题260

参考文献261