第1章 数据库系统概论 1
1.1 信息、数据和数据库 1
1.1.1 信息、数据和数据管理 1
1.1.2 数据管理技术及其发展 1
1.2 数据抽象 4
1.2.1 数据模型 4
1.2.2 概念模型 5
1.2.3 逻辑模型及其要素 5
1.2.4 外部模型 7
1.2.5 内部模型 7
1.3 数据库管理系统(DBMS) 7
1.3.1 DBMS的基本概念 7
1.3.2 DBMS的组成和各部分功能 8
1.3.3 DBMS的工作过程 9
1.3.4 DBMS的主要功能 9
1.4 数据库系统(DBS) 10
1.4.1 DBS的概念 10
1.4.2 DBS的组成 10
1.4.3 DBS的三级模式结构 12
1.4.4 DBS的数据独立性 14
1.4.5 DBS的全局结构 14
1.4.6 DBS的体系结构分类 15
1.5 数据库系统设计 16
1.5.1 DBS设计的基本任务 17
1.5.2 DBS设计的特点 17
1.5.3 DBS的设计过程 18
1.6 小结 20
1.7 习题 20
第2章 DBS需求分析和概念设计 22
2.1 需求分析 22
2.1.1 需求分析的任务和方法 22
2.1.2 数据流图 23
2.1.3 数据字典 26
2.2 概念结构设计 28
2.2.1 概念结构设计的任务和方法 28
2.2.2 概念结构设计的步骤 28
2.3 E-R图设计 29
2.3.1 E-R模型中的数据描述 29
2.3.2 E-R图的图元 33
2.3.3 E-R图的设计原则 34
2.3.4 局部E-R图之间的三种冲突 34
2.3.5 E-R图的设计步骤 35
2.4 小结 37
2.5 习题 38
第3章 关系数据库基本理论 40
3.1 集合论的基本概念 40
3.1.1 集合的基本概念 40
3.1.2 集合的代数运算及性质 41
3.1.3 集合的运算性质 42
3.2 关系数据库的基本概念 42
3.2.1 集合上的关系与关系数据模型 42
3.2.2 关系模式、关系实例与关系数据库 43
3.2.3 关系数据库模型中的数据完整性约束 46
3.2.4 关系运算的分类 47
3.3 关系代数 47
3.3.1 关系代数的基本运算 47
3.3.2 关系代数的组合运算 50
3.3.3 关系代数的扩展运算 53
3.3.3.1 关系的外连接和半连接 53
3.3.3.2 关系的改名、赋值、外部并、广义投影和聚集运算 54
3.3.4 关系代数的安全性 54
3.3.5 关系代数表达式的优化 55
3.3.5.1 关系代数表达式的优化问题 55
3.3.5.2 关系代数表达式的等价变换规则 55
3.3.5.3 关系代数表达式的优化策略 57
3.4 关系演算 58
3.4.1 元组关系演算 58
3.4.2 域关系演算 58
3.4.3 安全关系演算与关系代数的等价性 59
3.5 关系逻辑 59
3.5.1 关系逻辑的要素 59
3.5.2 关系逻辑规则的安全性 60
3.5.3 从关系代数到关系逻辑的转换 60
3.5.4 递归过程 61
3.6 小结 62
3.7 习题 62
第4章 关系规范化理论和DBS逻辑设计 64
4.1 函数依赖 64
4.1.1 函数依赖的定义 64
4.1.2 Armstrong公理系统与函数依赖推理规则 65
4.1.3 函数依赖集的正则闭包 67
4.1.4 属性集关于函数依赖集的闭包 71
4.1.5 部分函数依赖和传递函数依赖 73
4.1.6 键码 74
4.1.7 极小函数依赖集与正则覆盖 80
4.2 多值依赖 85
4.2.1 多值依赖的定义与基本性质 85
4.2.2 多值依赖推理规则 87
4.2.3 多值依赖与函数依赖的主要区别和共同点 89
4.3 关系模式的规范化 90
4.3.1 数据冗余和操作异常 90
4.3.2 消除不良数据依赖的主要途径——关系模式分解 92
4.3.3 对关系模式分解的要求 93
4.3.3.1 保持函数依赖的分解 93
4.3.3.2 无损连接分解 94
4.3.3.3 对关系模式分解的要求 102
4.3.4 关系模式的范式 102
4.4 第一范式 103
4.4.1 第一范式的定义 103
4.4.2 第一范式的缺点 104
4.5 基于消除不良函数依赖的范式 104
4.5.1 第二范式 104
4.5.2 第三范式 106
4.5.2.1 第三范式的定义和性质 106
4.5.2.2 第三范式的函数依赖特性 106
4.5.2.3 第三范式的缺点 107
4.5.3 BC范式 108
4.5.3.1 BC范式的定义 108
4.5.3.2 BC范式的函数依赖特性 108
4.5.3.3 BC范式的缺点 109
4.5.4 关于传递函数依赖定义的讨论 109
4.6 第三范式和BC范式的有关算法 110
4.6.1 第三范式的有关算法 110
4.6.1.1 3NF的判定算法 110
4.6.1.2 关系模式分解成3NF的算法 111
4.6.2 关系模式分解成BCNF的算法 112
4.7 基于消除不良多值依赖的范式——第四范式(4NF) 113
4.7.1 第四范式的概念 113
4.7.2 关系模式分解成4NF的算法 113
4.8 基于消除不良连接依赖的范式——第五范式(5NF) 114
4.9 各范式间的关系 114
4.10 数据库的逻辑结构设计 115
4.10.1 逻辑结构设计中的数据描述 115
4.10.2 逻辑结构设计的任务 115
4.10.3 E-R图向关系数据库模型的转换 115
4.10.4 关系数据库模型的优化 116
4.10.5 关系数据库模型的外模式设计 117
4.11 小结 118
4.12 习题 118
第5章 关系数据库结构化查询语言SQL 121
5.1 SQL概述 121
5.1.1 SQL的产生与发展 121
5.1.2 SQL的组成和特点 121
5.1.3 SQL的数据类型、运算符、表达式、标识符、通配符和函数 123
5.1.3.1 SQL的数据类型 123
5.1.3.2 SQL的运算符和表达式 124
5.1.3.3 SQL的标识符和通配符 125
5.1.3.4 SQL的常用函数 126
5.1.4 SQL实现的数据完整性约束 128
5.2 SQL的局部变量和流程控制 130
5.2.1 SQL的局部变量、BEGIN…END语句块和PRINT语句 130
5.2.2 SQL的IF…ELSE语句 130
5.2.3 SQL的CASE语句 131
5.2.4 SQL的WHILE循环语句 131
5.2.5 SQL的GOTO语句和RETURN语句 131
5.3 SQL的数据定义——CREATE、ALTER、DROP语句 132
5.3.1 CREATE语句 132
5.3.1.1 创建空数据库和基本表 132
5.3.1.2 创建索引 134
5.3.2 ALTER语句 135
5.3.3 DROP语句 136
5.4 SQL的数据查询——SELECT语句 137
5.4.1 SELECT语句的一般形式和执行过程 137
5.4.2 单表查询 140
5.4.3 连接查询 142
5.4.4 联合查询——实现并运算的查询 144
5.4.5 嵌套查询——相关子查询和不相关子查询 145
5.4.6 将查询结果直接组织成新基本表 147
5.5 SQL的数据修改——INSERT、DELETE、UPDATE语句 147
5.5.1 INSERT语句 148
5.5.2 DELETE语句 149
5.5.3 UPDATE语句 149
5.6 SQL的视图 149
5.6.1 视图的创建和查询 149
5.6.2 修改视图定义 151
5.6.3 修改视图数据 151
5.7 嵌入式SQL 151
5.7.1 ESQL的使用规定 152
5.7.2 ESQL/C的使用方法 154
5.8 用户自定义函数 157
5.8.1 标量函数 157
5.8.2 内嵌表值函数 158
5.8.3 多语句表值函数 159
5.9 用户自定义存储过程 160
5.9.1 随机调用的存储过程 160
5.9.2 触发器 163
5.10 小结 164
5.11 习题 165
第6章 DBS物理设计和实现、运行与维护 166
6.1 数据库的存储结构 166
6.1.1 数据库文件的组织 166
6.1.2 数据库文件的结构 167
6.1.3 数据库访问技术 168
6.2 DBS的物理结构设计 169
6.3 DBS的实现 169
6.4 DBS的运行与维护 170
6.5 小结 172
6.6 习题 172
第7章 DBMS的事务管理和安全性控制 173
7.1 事务 173
7.1.1 事务的概念 173
7.1.2 事务的ACID性质 174
7.2 DBMS对事务的并发控制 175
7.2.1 事务并发执行可能带来的问题 175
7.2.2 封锁技术 176
7.2.3 活锁与死锁 176
7.2.4 两段锁协议 176
7.3 DBS的安全性 177
7.3.1 安全性级别 177
7.3.2 权限控制 177
7.3.3 计算机病毒、木马和流氓软件的防护 179
7.4 数据库的恢复技术 179
7.4.1 DBS故障分类和恢复策略 179
7.4.2 检查点 180
7.4.3 数据库镜像 180
7.5 小结 181
7.6 习题 181
第8章 数据库系统新技术简介 182
8.1 数据库访问接口技术 182
8.1.1 ODBC 182
8.1.2 OLE DB 186
8.1.3 ADO 186
8.1.4 JDBC 190
8.1.5 ADO.NET 190
8.2 对象数据库系统 191
8.3 并行数据库系统 192
8.4 分布式数据库系统 193
8.4.1 分布式数据库系统的定义、特点和分类 193
8.4.2 分布式数据存储 193
8.4.3 DDBS的分布透明性 194
8.4.4 DDBMS的功能和组成 195
8.5 现代信息集成技术 195
8.5.1 数据仓库技术 196
8.5.2 联机分析处理技术 196
8.5.3 数据挖掘技术 197
8.6 XML技术 197
8.7 小结 198
8.8 习题 198
实验教学参考计划 199
实验1 SQL的数据定义语句 199
实验2 SELECT语句单表查询 200
实验3 SELECT语句连接查询和联合查询 201
实验4 SELECT语句嵌套查询 201
实验5 INSERT语句、DELETE语句和UPDATE语句 202
实验6 SQL的视图 203
实验7 嵌入式SQL 203
实验8 SQL的自定义函数 205
实验9 SQL的用户自定义存储过程 206
实验10 ODBC应用程序 206
实验11 ASP网页 207
参考文献 208