第1章 数据库概述 1
1.1 数据管理技术的发展 1
1.1.1 信息与数据 1
1.1.2 数据管理技术的发展 2
1.2 数据库系统的结构 5
1.2.1 数据库三级模式结构 5
1.2.2 数据库系统的体系结构 6
1.3 数据库、数据库管理系统与数据库系统 7
1.3.1 数据库 7
1.3.2 数据库管理系统 8
1.3.3 数据库系统 8
1.4 数据库技术的发展 9
1.4.1 数据库的发展历程 9
1.4.2 数据库研究的现状和未来的发展趋势 10
1.5 SQL Server2005简介 11
1.5.1 SQL Server 2005概述 11
1.5.2 SQL Server 2005常见版本 13
1.5.3 SQL Server 2005工具和实用程序简介 14
1.5.4 SQL Server 2005系统数据库简介 18
1.5.5 SQL Server 2005数据库的建立 20
1.6 本章小结 24
1.7 习题 25
第2章 数据模型 26
2.1 信息的三个世界 26
2.1.1 现实世界 27
2.1.2 信息世界 27
2.1.3 数据世界 28
2.1.4 三个世界之间的关系 28
2.2 概念模型 29
2.2.1 实体、属性及联系 29
2.2.2 实体间的联系 30
2.2.3 实体联系方法 31
2.3 逻辑模型 31
2.3.1 逻辑模型的三要素 32
2.3.2 层次模型 32
2.3.3 网状模型 34
2.3.4 关系模型 35
2.3.5 面向对象模型 36
2.3.6 数据模型的比较 38
2.4 本章小结 39
2.5 习题 39
第3章 关系数据库的基本理论 42
3.1 关系模型概述 42
3.2 关系数据模型 44
3.2.1 关系数据结构和基本术语 45
3.2.2 关系的数学定义 46
3.2.3 关系的性质 47
3.3 关系模型的三类完整性 49
3.3.1 实体完整性(Entity Integrity) 49
3.3.2 参照完整性(Referential Integrity) 49
3.3.3 用户定义完整性 51
3.4 关系代数的基本运算 51
3.4.1 传统的集合运算 52
3.4.2 专门的关系运算 54
3.4.3 基本运算及其变换运算 59
3.5 关系演算 59
3.5.1 元组关系演算语言——ALPHA 59
3.5.2 域关系演算 63
3.6 本章小结 67
3.7 习题 67
第4章 Transact-SQL语言 71
4.1 Transaet-SQL语言基本概念 71
4.1.1 数据类型 71
4.1.2 变量和运算符 74
4.2 流程控制语句 77
4.3 函数 80
4.3.1 系统函数 80
4.3.2 用户自定义函数 83
4.4 本章小结 85
4.5 习题 85
第5章 结构化查询语言SQL 86
5.1 概述 86
5.1.1 SQL的产生和发展 86
5.1.2 SQL的特点 86
5.2 数据定义功能 87
5.2.1 基本表的定义 87
5.2.2 表结构的修改 89
5.2.3 基本表的删除 90
5.2.4 索引的建立 90
5.2.5 索引的删除 91
5.3 数据查询功能 91
5.3.1 投影查询 92
5.3.2 条件查询 94
5.3.3 连接查询 97
5.3.4 排序 100
5.3.5 分组及计算查询 100
5.3.6 子查询 102
5.3.7 集合操作 104
5.4 数据操作功能 105
5.4.1 插入数据语句 106
5.4.2 更新数据语句 107
5.4.3 删除数据语句 107
5.4.4 保持数据的一致性 108
5.5 视图 108
5.5.1 视图的建立 109
5.5.2 视图的修改 111
5.5.3 视图的删除 111
5.5.4 视图更新操作 111
5.6 数据控制功能 112
5.6.1 授予权限 112
5.6.2 回收权限 113
5.6.3 拒绝权限 114
5.7 嵌入式SQL 114
5.7.1 嵌入式SQL简介 114
5.7.2 游标 115
5.7.3 动态SQL简介 118
5.8 本章小结 119
5.9 习题 120
第6章 存储过程和触发器 122
6.1 存储过程 122
6.1.1 存储过程的类型 122
6.1.2 存储过程的创建和执行 123
6.1.3 存储过程的修改和删除 127
6.1.4 存储过程的优点 128
6.2 触发器 128
6.2.1 触发器的类型 129
6.2.2 触发器的工作原理 130
6.2.3 触发器的创建和查看 130
6.2.4 触发器的修改和删除 134
6.2.5 触发器的优缺点 134
6.3 本章小结 135
6.4 习题 135
第7章 关系模式的规范化设计 137
7.1 问题提出 137
7.2 数据依赖 137
7.2.1 属性间联系 138
7.2.2 函数依赖 139
7.2.3 多值依赖 140
7.3 规范化的关系模式 141
7.3.1 第一范式 141
7.3.2 第二范式 141
7.3.3 第三范式 142
7.3.4 BC范式 143
7.3.5 第四范式 144
7.3.6 规范化小结 145
7.4 数据依赖的公理系统 147
7.5 模式分解 150
7.6 本章小结 151
7.7 习题 152
第8章 数据库设计 155
8.1 概述 155
8.1.1 数据库设计的任务、内容和特点 155
8.1.2 数据库设计方法简述 156
8.1.3 数据库设计的步骤 158
8.2 需求分析 160
8.2.1 需求分析的任务 160
8.2.2 需求分析的步骤 161
8.3 概念结构设计 164
8.3.1 概念结构设计的必要性 164
8.3.2 概念模型的特点 165
8.3.3 概念结构设计的方法与步骤 165
8.4 逻辑结构设计 173
8.4.1 E-R图向关系模型的转换 173
8.4.2 数据模型的优化 175
8.5 数据库物理设计 177
8.5.1 确定物理结构 177
8.5.2 评价物理结构 179
8.6 数据库实施 179
8.7 数据库运行与维护 181
8.8 数据库设计中的技巧 182
8.9 本章小结 186
8.10 习题 186
第9章 数据库的安全与保护 188
9.1 数据库的安全性 188
9.1.1 用户认证 188
9.1.2 存取控制 189
9.1.3 视图机制 191
9.1.4 审计 194
9.1.5 数据加密 196
9.1.6 SQL Server 2005的安全性管理 198
9.2 数据库的完整性 209
9.2.1 数据库的完整性的含义 209
9.2.2 完整性约束条件 209
9.2.3 完整性控制 211
9.2.4 SQL Server 2005的完整性保护 213
9.3 数据库的并发控制技术 218
9.3.1 事务概述 218
9.3.2 并发控制方法 219
9.3.3 并发调度的可串行性 224
9.3.4 SQL Server 2005的并发控制 224
9.4 数据库的备份与恢复技术 225
9.4.1 数据库的故障种类 226
9.4.2 数据备份与恢复 227
9.4.3 SQL Server 2005的数据库备份 232
9.4.4 SQL Server 2005的数据库还原 237
9.5 本章小结 240
9.6 习题 240
第10章 数据库应用系统设计实例——学生管理系统 242
10.1 用户需求 242
10.1.1 系统功能分析 242
10.1.2 系统功能模块设计 243
10.2 数据库设计 243
10.2.1 数据库需求分析 243
10.2.2 数据库概念结构设计 244
10.2.3 数据库逻辑结构设计 244
10.3 数据库结构的实现 246
10.3.1 创建数据库和数据表 246
10.3.2 SQL Server 2005的设置 248
10.3.3 前台客户端编程所使用的高级语言——Visual Basic 6.0简介 249
10.3.4 创建数据库 257
10.3.5 创建ODBC 258
10.4 学生管理系统主窗体的创建 258
10.4.1 创建工程项目——Student MIS 259
10.4.2 创建学生管理系统的主窗体 259
10.4.3 创建主窗体的菜单 260
10.4.4 创建公用模块 260
10.5 系统用户管理模块的创建 263
10.5.1 用户登录窗体的创建 263
10.5.2 添加用户窗体的创建 265
10.6 本章小结 267
10.7 习题 267
第11章 Web数据库应用系统 269
11.1 Web概述 269
11.1.1 Web的历史 269
11.1.2 Web工作模式 270
11.1.3 与Web有关的一些概念 271
11.2 Web数据库 271
11.2.1 Web数据库的概念 272
11.2.2 Web应用系统 272
11.2.3 常用Web数据库的比较 274
11.3 Web数据库访问技术 276
11.3.1 ODBC 276
11.3.2 JDBC 282
11.3.3 JSP 284
11.4 Web数据库应用系统 285
11.4.1 ASP简介 285
11.4.2 ASP访问数据库示例 292
11.5 本章小结 296
11.6 习题 296
第12章 数据库技术新进展 298
12.1 数据库技术发展概述 298
12.2 数据库技术与其他相关技术相结合 299
12.2.1 分布式数据库 299
12.2.2 并行数据库 307
12.2.3 主动数据库 309
12.2.4 面向对象数据库 313
12.2.5 多媒体数据库 316
12.3 面向应用领域的数据库新技术 317
12.3.1 数据仓库 317
12.3.2 工程数据库 318
12.3.3 空间数据库 320
12.3.4 模糊数据库 321
12.3.5 传感器数据库 322
12.3.6 网格数据管理 323
12.3.7 微小型数据库技术 324
12.3.8 移动数据管理 325
12.4 本章小结 327
12.5 习题 328
参考文献 329