第1篇 数据库基础篇 3
第1章 数据库概论 3
1.1 数据库系统概述 3
1.1.1 数据库技术基本概念 3
1.1.2 数据管理技术的发展 5
1.1.3 数据库系统的类型 8
1.2 数据模型 10
1.2.1 数据抽象过程 10
1.2.2 概念数据模型 11
1.2.3 逻辑数据模型的组成 15
1.2.4 常用逻辑数据模型 16
1.3 数据库系统模式结构 21
1.3.1 数据库系统的3级模式结构 21
1.3.2 数据库系统的2级映像与数据独立性 23
1.4 数据库管理系统 24
1.4.1 DBMS的工作流程 24
1.4.2 DBMS的主要功能 25
1.5 数据库系统的组成 26
小结 28
习题 28
第2章 关系模型和关系运算理论 30
2.1 关系数据结构 30
2.1.1 关系的笛卡儿积定义 31
2.1.2 关系的二维表格描述 32
2.1.3 关系模式 33
2.1.4 键 34
2.2 关系的完整性约束 35
2.2.1 实体完整性 35
2.2.2 参照完整性 36
2.2.3 用户自定义的完整性 37
2.3 关系操作 37
2.3.1 关系操作的类型 38
2.3.2 关系运算 38
2.4 关系代数 39
2.4.1 关系代数概述 39
2.4.2 关系代数的基本运算 40
2.4.3 关系代数的组合运算 42
2.4.4 关系代数的扩充运算 45
2.5 关系演算 47
2.5.1 元组关系演算 48
2.5.2 域关系演算 50
小结 51
习题 52
第3章 关系数据库标准语言SQL 55
3.1 SQL语言概述 55
3.2 数据定义 57
3.2.1 基本数据类型 57
3.2.2 基本表的管理 58
3.2.3 索引的管理 60
3.3 数据查询 61
3.3.1 SELECT语句结构 61
3.3.2 单表查询 61
3.3.3 连接查询 65
3.3.4 嵌套查询 66
3.4 数据更新 67
3.4.1 数据插入 67
3.4.2 数据修改 68
3.4.3 数据删除 69
3.5 视图 69
3.5.1 视图的创建与撤销 69
3.5.2 视图的更新 71
3.5.3 视图的查询 72
3.6 查询优化 72
3.6.1 查询优化的必要性 72
3.6.2 查询优化的一般准则 73
3.6.3 优化算法 73
3.6.4 优化的一般步骤 75
小结 76
习题 77
第2篇 数据库设计与应用开发篇第4章 关系数据库的规范化设计 83
4.1 关系模式的设计问题 83
4.1.1 关系模式的冗余和异常问题 83
4.1.2 关系模式的非形式化设计准则 84
4.2 函数依赖 85
4.2.1 函数依赖的定义 85
4.2.2 函数依赖和键的联系 86
4.3 函数依赖的公理系统 87
4.4 范式 87
4.4.1 1NF 87
4.4.2 2NF 88
4.4.3 3NF 88
4.4.4 BCNF 89
4.4.5 4NF 89
4.5 关系模式的规范化 90
4.5.1 规范化步骤 90
4.5.2 关系模式的分解及其指标 91
小结 93
习题 94
第5章 数据库应用设计 96
5.1 数据库应用设计步骤 96
5.2 用户需求描述与分析 98
5.2.1 需求分析的任务 98
5.2.2 用户需求调研的方法 99
5.2.3 用户需求描述与分析 99
5.3 概念设计 101
5.3.1 概念设计的方法与步骤 102
5.3.2 数据抽象与局部E-R图设计 102
5.3.3 E-R图集成 105
5.4 逻辑设计 109
5.4.1 E-R图向关系模型的转换 109
5.4.2 关系模型的优化 110
5.4.3 设计用户外模式 111
5.5 物理设计 112
5.5.1 确定数据库的物理结构 112
5.5.2 评价物理结构 113
5.5.3 撰写物理设计说明书和相关文档 113
5.6 数据库的实施与维护 113
5.6.1 数据库的实施 113
5.6.2 数据库的运行与维护 114
小结 114
习题 115
第6章 数据库应用系统设计实例 116
6.1 系统需求及总体设计 116
6.1.1 系统需求简介 116
6.1.2 系统总体设计 118
6.2 系统需求描述与分析 119
6.2.1 系统全局数据流图 119
6.2.2 系统局部数据流图 119
6.2.3 系统数据字典 121
6.3 系统的概念设计 123
6.3.1 系统局部E-R图设计 123
6.3.2 系统全局E-R图 124
6.4 系统的逻辑设计 125
6.4.1 系统E-R图转化为关系模型 125
6.4.2 系统关系模型的优化与调整 125
6.5 系统的物理设计 126
6.5.1 存储介质的选择 126
6.5.2 数据库的定义与创建 126
小结 128
习题 128
项目与问题 128
第7章 数据库编程 130
7.1 T-SQL语言 130
7.1.1 T-SQL程序设计 130
7.1.2 T-SQL提供的函数 134
7.1.3 游标 137
7.1.4 存储过程 139
7.2 嵌入式SQL 140
7.2.1 嵌入式SQL的实现方法 141
7.2.2 嵌入式SQL的使用规定 141
7.2.3 嵌入SQL语句 142
7.2.4 嵌入式SQL语句连接数据库 142
7.2.5 嵌入式SQL的应用举例 143
7.3 SQL与ODBC/ADO 143
7.3.1 ODBC 144
7.3.2 ADO 147
小结 150
习题 150
第3篇 数据库保护篇 153
第8章 数据库安全性 153
8.1 数据库安全概述 153
8.1.1 数据库面临的威胁 153
8.1.2 数据库安全评测标准 155
8.2 数据库安全性策略 156
8.2.1 用户标识 156
8.2.2 访问控制 157
8.2.3 审计 158
8.2.4 视图 159
8.2.5 数据加密 159
8.3 SQL Server数据库的安全性措施 160
小结 163
习题 163
第9章 事务及并发控制 164
9.1 事务 164
9.1.1 事务的定义 164
9.1.2 事务的ACID性质 166
9.1.3 事务的状态 166
9.2 数据库的并发控制 167
9.2.1 并发操作引发的问题 168
9.2.2 封锁技术 169
9.2.3 封锁协议 172
9.2.4 封锁带来的问题 173
9.2.5 并发调度的可串行性 174
9.3 SQL Server数据库的并发控制 175
小结 176
习题 177
第10章 数据库完整性 178
10.1 完整性约束条件 178
10.1.1 完整性概述 178
10.1.2 完整性约束条件 179
10.2 完整性控制与检查 180
10.3 触发器 182
10.3.1 触发器结构 182
10.3.2 触发器的创建与删除 183
10.4 SQL Server数据库的完整性 184
小结 187
习题 187
第11章 故障恢复技术 189
11.1 故障恢复导论 189
11.2 恢复的实现方法 190
11.2.1 数据的转储 190
11.2.2 建立日志 191
11.3 故障类型和恢复对策 191
11.3.1 事务故障及恢复 192
11.3.2 系统故障及恢复 192
11.3.3 介质故障及恢复 192
11.4 检查点技术 193
11.5 镜像技术 194
11.6 SQL Server数据库的恢复技术 195
小结 199
习题 199
第4篇 数据库发展篇 203
第12章 数据库技术的发展 203
12.1 数据库技术发展概述 203
12.2 对象数据库系统 206
12.2.1 面向对象技术基础 207
12.2.2 对象关系数据库系统 209
12.2.3 面向对象数据库系统 215
12.3 分布式数据库系统 221
12.3.1 DDBS的定义和特点 221
12.3.2 DDBS的体系结构 223
12.3.3 DDB的模式结构 224
12.3.4 DDBMS的功能结构 227
12.3.5 DDBS的分类 228
12.4 XML数据库 229
12.4.1 XML简介 229
12.4.2 XML的基本技术 231
12.4.3 XML的应用 240
12.5 数据仓库 240
12.5.1 DW的基本概念 241
12.5.2 DW的数据组织 243
12.5.3 DW系统组成框架 246
12.5.4 DW的前端工具 247
12.5.5 DW解决方案 248
12.5.6 新决策支持系统简介 248
小结 250
习题 250
附录A 商用数据库简介 252
附录B 术语表 259
附录C SQL Server 2005上机实验指导 268
参考文献 302