第1章 数据库系统概论 1
1.1 数据库系统的应用实例 1
1.1.1 学院教学管理系统 1
1.1.2 超市信息管理系统 3
1.2 数据管理的发展 4
1.2.1 人工管理阶段 4
1.2.2 文件系统阶段 5
1.2.3 数据库管理阶段 6
1.3 数据库系统的概述 7
1.3.1 数据库系统的组成 7
1.3.2 数据库管理系统 8
1.4 数据模型 10
1.4.1 数据模型的类型和组成 10
1.4.2 概念模型 11
1.4.3 常用的数据模型 13
1.5 数据库系统结构 18
1.5.1 数据抽象过程 18
1.5.2 数据库系统的三级模式结构 20
1.6 习题 22
第2章 关系模型与关系代数 26
2.1 关系概念 26
2.1.1 域 26
2.1.2 笛卡儿积 26
2.1.3 关系的数学定义 27
2.1.4 关系模式、关系数据库模式和关系数据库 28
2.1.5 关系性质 29
2.2 关系的码 29
2.3 关系的完整性 30
2.3.1 实体完整性 30
2.3.2 参照完整性 31
2.3.3 用户定义完整性 31
2.4 关系代数 32
2.4.1 关系操作 32
2.4.2 关系运算 32
2.4.3 关系代数 33
2.5 习题 40
第3章 数据库的概念设计 48
3.1 数据库的设计过程 48
3.1.1 数据库设计概述 48
3.1.2 需求分析 50
3.2 E-R模型 55
3.2.1 E-R方法 55
3.2.2 属性和联系概念的扩展 56
3.3 E-R模型的设计 58
3.3.1 概念结构设计方法和步骤 58
3.3.2 局部E-R模型的设计 58
3.3.3 局部E-R模型设计案例 59
3.3.4 全局E-R模型的设计 61
3.3.5 全局E-R模型设计案例 63
3.3.6 优化全局E-R模型 64
3.4 习题 66
第4章 数据库的逻辑设计 73
4.1 E-R模型转换为关系模型 73
4.1.1 逻辑结构设计步骤 73
4.1.2 E-R模型向关系模型的转换 73
4.1.3 优化关系模式 76
4.1.4 逻辑结构设计案例 76
4.2 SQL概述 77
4.2.1 SQL的发展历程 77
4.2.2 SQL数据库的体系结构 77
4.2.3 SQL的特点与组成 78
4.3 SQL Server 2005入门知识 79
4.3.1 SQL Server 2005的概述 79
4.3.2 SQL Server 2005的配置要求与安装 81
4.3.3 SQL Server Management Studio概述 84
4.4 数据库的创建 87
4.4.1 SQL Server 2005数据库的概述 87
4.4.2 创建用户数据库 89
4.4.3 数据库的修改与删除 93
4.5 表的创建 97
4.5.1 SQL Server 2005表的概述 97
4.5.2 SQL Server 2005表的创建 98
4.5.3 SQL Server 2005表结构的修改 103
4.5.4 输入数据 106
4.5.5 表的删除 107
4.6 视图的创建 108
4.6.1 SQL Server 2005视图的概述 108
4.6.2 SQL Server 2005视图的创建 108
4.6.3 SQL Server 2005视图的修改与删除 110
4.6.4 视图的应用 111
4.7 习题 113
第5章 数据库的规范化 121
5.1 什么是好的数据库设计 121
5.2 函数依赖理论 122
5.2.1 函数依赖的定义 123
5.2.2 完全函数依赖与部分函数依赖 124
5.2.3 传递函数依赖 124
5.2.4 键(码) 124
5.3 关系的规范化 125
5.3.1 第一范式 125
5.3.2 第二范式 126
5.3.3 第三范式 127
5.3.4 BCNF 128
5.3.5 第四范式 130
5.4 习题 131
第6章 数据库的物理设计 139
6.1 存储和文件结构 139
6.1.1 物理设计的步骤 139
6.1.2 数据存储 140
6.1.3 文件结构 141
6.2 索引与散列 142
6.2.1 索引的概念 142
6.2.2 散列的概念 142
6.3 SQL中的索引定义 143
6.4 评价物理结构 143
6.5 习题 144
第7章 数据库的数据操作 145
7.1 简单查询 145
7.1.1 SELECT子句和FROM子句 147
7.1.2 WHERE子句 150
7.1.3 GROUP BY子句 153
7.1.4 ORDER BY子句 154
7.2 聚集函数 155
7.2.1 COUNT函数 156
7.2.2 SUM函数 157
7.2.3 AVG函数 157
7.2.4 MIN函数和MAX函数 157
7.3 空值 158
7.4 连接查询 158
7.4.1 自连接查询 158
7.4.2 内连接 159
7.4.3 外连接 160
7.4.4 交叉连接 162
7.5 集合运算 163
7.5.1 UNION运算符 163
7.5.2 INTERSECT运算符 164
7.5.3 EXCEPT运算符 165
7.6 嵌套查询 165
7.6.1 单值比较嵌套查询 166
7.6.2 带[NOT]IN的嵌套查询 167
7.6.3 多值比较嵌套查询 169
7.6.4 带[NOT]EXISTS的嵌套查询 169
7.7 更新操作 171
7.7.1 插入数据 171
7.7.2 修改数据 173
7.7.3 删除数据 175
7.8 习题 177
第8章 数据库应用设计与开发 184
8.1 用户界面和工具 184
8.1.1 表格和图形用户界面 185
8.1.2 报表生成器 185
8.1.3 数据分析工具 186
8.2 数据库的Web界面 186
8.3 Servlet和ASP 187
8.4 建立大型Web应用 189
8.5 触发器 190
8.5.1 触发器的概念 190
8.5.2 SQL中的触发器 192
8.6 存储过程 201
8.6.1 存储过程的概述 201
8.6.2 存储过程的类型 202
8.6.3 存储过程的使用 202
8.7 数据库与多种语言的连接 208
8.7.1 VB与SQL Server的连接 208
8.7.2 ASP.NET与SQL Server的连接方式 217
8.8 习题 229
第9章 数据库管理 231
9.1 数据库的安全性 231
9.1.1 安全性控制 231
9.1.2 安全性级别 233
9.1.3 权限 233
9.1.4 SQL中的安全性的控制 234
9.1.5 视图 236
9.2 事务处理 236
9.2.1 事务的概念 237
9.2.2 事务的性质 237
9.3 并发处理与并发控制 238
9.3.1 并发操作带来的问题 238
9.3.2 封锁 240
9.3.3 活锁与死锁 242
9.3.4 封锁的粒度 243
9.4 数据库的备份与恢复 244
9.4.1 故障分类 244
9.4.2 恢复的原理及实现的方法 245
9.4.3 检查点机制 248
9.4.4 故障的恢复对策 249
9.5 数据库完整性的控制 249
9.5.1 完整性规则的组成 250
9.5.2 完整性约束的分类 250
9.5.3 SQL中的完整性约束 251
9.6 习题 257
第10章 XML与关系数据库 264
10.1 XML的基本知识 264
10.1.1 XML的数据结构 265
10.1.2 XML文档模式 269
10.1.3 查询与转换 274
10.1.4 XML应用程序接口 276
10.2 XML与关系数据库的关系 277
10.2.1 非关系的数据存储 277
10.2.2 关系数据库 278
10.3 SQL Sever 2005对XML的支持 280
10.3.1 SQL/XML 282
10.3.2 XML应用 284
10.4 习题 286
第11章 系统体系结构 287
11.1 数据库体系结构 287
11.1.1 客户/服务器体系结构 287
11.1.2 并行系统 289
11.1.3 分布式系统 290
11.2 并行数据库 291
11.2.1 并行数据库概述 291
11.2.2 并行系统设计 291
11.3 分布式数据库 292
11.3.1 分布式数据库概述 292
11.3.2 分布式数据库的系统结构 295
11.3.3 数据分片 296
11.3.4 分布式数据库管理系统 297
11.3.5 分布式查询处理 298
11.4 主动数据库 299
11.5 多媒体数据库 301
11.6 习题 302
参考文献 304