第1章 数据库系统概述 1
1.1 引言 1
1.1.1 信息 1
1.1.2 数据 1
1.2 数据库技术的产生、发展 3
1.2.1 人工管理阶段 3
1.2.2 文件系统阶段 4
1.2.3 数据库系统阶段 5
1.3 数据库系统的组成和结构 8
1.3.1 数据库、数据库管理系统和数据库系统 8
1.3.2 数据库系统的体系结构 11
1.4 数据模型 14
1.4.1 概念模型 16
1.4.2 层次模型 17
1.4.3 网状模型 18
1.4.4 关系模型 19
1.4.5 面向对象模型 20
1.5 小结 20
1.6 习题 21
第2章 实体联系模型 23
2.1 概述 23
2.2 实体 24
2.3 属性 24
2.4 联系 27
2.4.1 二元联系的三种类型 27
2.4.2 多元联系 29
2.4.3 实体集内部的联系 30
2.5 弱实体 30
2.6 实体联系模型的绘制实例 31
2.7 小结 34
2.8 习题 34
第3章 关系数据模型与关系运算 37
3.1 关系模型概述 37
3.1.1 关系的形式化定义及其有关概念 37
3.1.2 关系的性质 39
3.1.3 关系、关系模式、关系子模式和存储模式 39
3.1.4 关系数据库与关系数据库模式 40
3.2 关系的键与关系的完整性 41
3.2.1 超键、候选键、主键和外键 41
3.2.2 关系的完整性 42
3.3 从E-R模型到关系模型 44
3.3.1 实体的转换规则 45
3.3.2 联系的转换规则 45
3.3.3 E-R模型转变成关系模型实例 50
3.4 关系代数 52
3.4.1 传统的集合运算 53
3.4.2 专门的关系运算 56
3.4.3 扩充的关系代数操作 61
3.4.4 关系代数表达式实例 62
3.5 关系演算 64
3.5.1 元组关系演算 64
3.5.2 域关系演算 66
3.6 关系代数表达式的优化 68
3.6.1 查询优化的总目标 68
3.6.2 关系代数表达式的等价变换规则 70
3.6.3 关系代数表达式的优化算法 71
3.7 小结 73
3.8 习题 73
第4章 关系数据库标准语言SQL 77
4.1 SQL语言简介 77
4.1.1 SQL的特点 78
4.1.2 SQL语言的基本组成 79
4.1.3 实例数据库 84
4.2 数据定义 85
4.2.1 数据库的创建与删除 85
4.2.2 基本表的创建、删除与修改 87
4.2.3 索引的创建、删除与修改 94
4.3 数据查询 96
4.3.1 SELECT语句的一般格式和单表查询 97
4.3.2 聚合函数和分组查询 103
4.3.3 多表联接查询 104
4.3.4 多表嵌套查询 108
4.4 视图的创建、删除与修改 111
4.5 数据更新 115
4.5.1 数据的插入 115
4.5.2 数据的删除 117
4.5.3 数据的修改 118
4.6 存储过程和触发器 119
4.6.1 存储过程的定义、修改和删除 119
4.6.2 触发器的定义、修改和删除 122
4.7 小结 126
4.8 习题 126
第5章 关系数据库设计理论 131
5.1 关系模式规范化的必要性 131
5.1.1 关系模式的定义 131
5.1.2 规范化的必要性 132
5.2 函数依赖 133
5.2.1 函数依赖的定义及其推理规则 133
5.2.2 函数依赖集的闭包 135
5.2.3 属性集的闭包 136
5.2.4 函数依赖与关系的候选键、主键之间的联系 137
5.3 关系模式的分解特性 138
5.3.1 无损分解 138
5.3.2 保持函数依赖的分解 140
5.4 关系模式的范式 141
5.5 多值依赖与4NF 144
5.5.1 多值依赖 144
5.5.2 4NF 145
5.6 连接依赖与5NF 146
5.7 小结 147
5.8 习题 147
第6章 数据库设计 150
6.1 数据库设计概述 150
6.1.1 数据库设计的方法 151
6.1.2 数据库设计的步骤 151
6.2 需求分析 152
6.2.1 需求分析的内容和方法 153
6.2.2 需求分析的步骤 154
6.2.3 数据字典 156
6.3 数据库概念设计 158
6.3.1 概念设计的方法及步骤 159
6.3.2 数据抽象与局部视图设计 159
6.3.3 视图集成 163
6.3.4 全局E-R模型的优化、评审 164
6.4 逻辑结构设计 165
6.4.1 概念模型向关系模型的转换 166
6.4.2 关系模型的优化 167
6.4.3 外模式的设计 168
6.5 数据库物理设计 168
6.5.1 数据库物理设计的内容 169
6.5.2 数据库存储结构的确定 169
6.5.3 关系模式存取方法的选择 170
6.5.4 评价物理结构 171
6.6 数据库的实施 172
6.7 数据库的运行和维护 172
6.8 小结 173
6.9 习题 173
第7章 数据库安全保护 175
7.1 数据库的安全性 175
7.2 数据库的完整性 179
7.2.1 完整性约束条件 179
7.2.2 完整性控制 180
7.2.3 数据库完整性设计原则 183
7.3 数据库的并发控制技术 183
7.3.1 事务 183
7.3.2 并发控制所带来的问题 185
7.3.3 封锁 187
7.3.4 并行调度的可串行化 191
7.4 数据库的恢复 192
7.4.1 数据库恢复的原理及其实现技术 192
7.4.2 检查点技术 194
7.4.3 故障种类和恢复的方法 195
7.4.4 数据库镜像 196
7.5 小结 197
7.6 习题 197
第8章 关系数据库管理系统SQL Server 2005 200
8.1 SQL Server 2005概述 200
8.1.1 SQL Server 2005发展简史 200
8.1.2 SQL Server 2005的安装与配置 201
8.1.3 SQL Server 2005的体系结构 213
8.2 SQL Server 2005的管理工具 215
8.2.1 SQL Server配置管理器 216
8.2.2 SQL Server Management Studio 218
8.2.3 SQL Server Business Intelligence Development Studio 222
8.2.4 SQL Server 2005 Analysis Services 231
8.2.5 文档和教程 231
8.2.6 SQL Server 2005命令提示实用工具 231
8.3 管理数据库 234
8.3.1 SQL Server 2005数据库概述 234
8.3.2 数据库的管理 239
8.3.3 表的管理 243
8.3.4 数据表约束和数据完整性控制 249
8.3.5 索引的创建与维护 258
8.3.6 数据的插入、修改、删除和查询 260
8.3.7 视图的管理 264
8.4 SQL Server 2005的安全管理机制 265
8.4.1 安全性问题和安全性机制之间的关系 265
8.4.2 管理身份认证方式 268
8.4.3 管理安全账户 270
8.4.4 管理数据库用户 274
8.4.5 权限管理 276
8.4.6 管理数据库角色 281
8.5 存储过程和触发器 284
8.5.1 存储过程的管理 284
8.5.2 触发器的管理 287
8.6 数据库备份与恢复 291
8.6.1 数据库备份 291
8.6.2 数据库的恢复 295
8.6.3 数据库备份计划 297
8.7 数据导入和导出 303
8.8 附加和分离数据库 308
8.9 SQL Server Profiler 310
8.10 小结 319
8.11 习题 319
第9章 基于Visual Basic的关系数据库应用系统开发 321
9.1 Visual Basic语言简介 321
9.1.1 Visual Basic开发环境 321
9.1.2 用Visual Basic开发应用程序 323
9.2 Visual Basic语言基础和程序设计 326
9.2.1 常数、变量、运算符和表达式 326
9.2.2 基本控制结构 329
9.2.3 常用内部函数 336
9.2.4 输入与输出 338
9.2.5 数组 340
9.3 用户界面的设计 342
9.3.1 基本概念 342
9.3.2 窗体的创建 343
9.3.3 控件 345
9.3.4 菜单设计 355
9.4 数据库应用 356
9.4.1 ADO 356
9.4.2 数据绑定控件 362
9.4.3 报表设计 365
9.5 开发实例——图书管理系统 370
9.5.1 用户登录模块 371
9.5.2 用户管理模块 373
9.5.3 编辑模块 377
9.5.4 查询模块 383
9.5.5 借书还书模块 387
9.6 小结 390
9.7 习题 391
第10章 数据库技术的发展 392
10.1 概述 392
10.2 分布式数据库系统 394
10.2.1 基本概念 394
10.2.2 分布式数据库系统结构 394
10.2.3 分布式数据库设计 395
10.2.4 分布式数据库的特点与发展方向 397
10.3 并行数据库系统 398
10.3.1 基本概念 398
10.3.2 并行数据库系统结构 399
10.3.3 并行数据库的特点及待解决的问题 400
10.4 面向对象的数据库系统 401
10.4.1 基本概念 401
10.4.2 面向对象数据库系统关键技术 403
10.4.3 面向对象数据库的实现方法 404
10.4.4 面向对象数据库的特点 405
10.4.5 面向对象数据库系统的未来发展 405
10.5 面向应用领域的数据库技术 406
10.5.1 工程数据库 406
10.5.2 空间数据库 407
10.5.3 科学数据库 409
10.6 小结 411
10.7 习题 411
第11章 数据库实验 413
11.1 数据库的创建与管理(实验一) 413
11.2 表的创建与管理(实验二) 416
11.3 访问与修改数据(实验三) 420
11.4 视图与索引(实验四) 424
11.5 存储过程与触发器(实验五) 426
11.6 SQL Server 2005的安全与保护(实验六) 429
11.7 利用VB开发图书管理系统(实验七) 430
参考文献 432